Skip to content

Plugin Classes

Operating System Simulator is built from layered UObject and Actor classes. This page is the architectural map; use the API Reference for members and the Blueprint Reference for common nodes.

flowchart TB
  subgraph row1[" "]
    direction LR
    DActor["AOperatingSystemDeviceActor"] --> Device["UOperatingSystemBaseDevice"] --> OS["UOperatingSystemUnix / UOperatingSystemNonUnix"]
  end
  subgraph row2[" "]
    direction LR
    BIOS["UOperatingSystemBIOS"] --- HDD["UOperatingSystemHDD"] --- Widget["UOperatingSystemWidget"] --- Prog["UOperatingSystemBaseProgram"]
  end
  Device --> BIOS
  Device --> HDD
  OS --> Widget
  OS --> Prog
LayerClassRole
WorldAOperatingSystemDeviceActorSpawns device, handles input
WorldAOperatingSystemPortableDeviceActorAdds battery simulation
DeviceUOperatingSystemBaseDeviceHardware + OS class + device widget
OSUOperatingSystemAbstract base — use Unix or Non-Unix subclasses
OSUOperatingSystemUnix/Users/... paths, root user, apt-style commands
OSUOperatingSystemNonUnixC:\ paths, partitions, disk letters

Create device actor tutorial chain

NameClassDescription
MotherboardUOperatingSystemMBBLinks CPU, RAM, GPU, PSU, HDD
CPUUOperatingSystemCPUSocket type, speed (readable from Blueprint)
RAMUOperatingSystemRAMMemory size
HDDUOperatingSystemHDDCapacity; partitions on Non-Unix
GPUUOperatingSystemGPUPlaceholder hardware
PSUUOperatingSystemPSUPower supply placeholder
BIOSUOperatingSystemBIOSBoot firmware object

Bundled hardware Blueprints: OperatingSystemContent/Shared/Blueprints/Hardware/

NameClassDescription
DirectoryUOperatingSystemDirectoryFolders; special tags for Desktop, Music, etc.
Root directoryUOperatingSystemRootDirectoryUnix root
PartitionUOperatingSystemPartitionNon-Unix drive letters
FileUOperatingSystemFileAbstract file — subclass per extension
Video fileUOperatingSystemVideoFileOpens video player
Audio fileUOperatingSystemAudioFileOpens audio player

Filesystem operations

NameClassDescription
Base programUOperatingSystemBaseProgramAll desktop apps
TerminalUOperatingSystemTerminalCLI shell
Terminal commandUOperatingSystemTerminalCommandIndividual commands
ExplorerUOperatingSystemExplorerFile manager
StoreUOperatingSystemStoreInstall optional apps
SettingsUOperatingSystemSettingsDataModular OS settings
CCTVUOperatingSystemCCTVProgramSecurity camera monitoring app

Programs section

Cameras live in the level; the CCTV program reads their feeds inside the OS desktop.

NameClassDescription
Camera actorAOperatingSystemCCTVActorScene capture, zoom, render targets
CCTV programUOperatingSystemCCTVProgramLayouts, capture method, program API
CCTV dataUOperatingSystemCCTVProgramDataDiscovers cameras, runs capture tick
CCTV widgetUOperatingSystemCCTVProgramWidgetUMG monitoring UI base
CCTV subsystemUOperatingSystemCCTVWorldSubsystemRegisters cameras by group

Bundled Blueprints: OperatingSystemContent/Shared/Blueprints/Programs/CCTV/, …/Actors/CCTV/, …/Widgets/Programs/CCTV/

CCTV guides

NameClassDescription
OS shellUOperatingSystemWidgetDesktop, taskbar, notifications
Device frameUOperatingSystemDeviceWidgetMonitor / phone bezel
Program UIUOperatingSystemProgramWidgetApp window content
BIOS / BSODUOperatingSystemBiosWidget, UOperatingSystemBsodWidgetBoot and crash screens
NameClassDescription
Global MessengerUGlobalMessageSubsystemWorld-wide gameplay tags + payload
Device MessengerFOperatingSystemDeviceMessengerSystemPer-device event names

Messengers

ClassRole
UOperatingSystemWorldSubsystemActive devices, user manager
UOperatingSystemGameSubsystemGame-instance scope hooks
UOperatingSystemStaticsPath helpers, messenger lookup
UOperatingSystemUserManagerLogin, users, funds
flowchart LR
  OS["«abstract» UOperatingSystem"]
  Unix["UOperatingSystemUnix"]
  NonUnix["UOperatingSystemNonUnix"]
  Program["UOperatingSystemBaseProgram"]
  File["UOperatingSystemFile"]

  OS --> Unix
  OS --> NonUnix
  NonUnix --> Program
  Program --> File
FeatureUnixNon-Unix
Path style/Users/DesktopC:\Users\Desktop
Partitions / drive lettersNoYes
Root user / sudoYesNo
Package repos (apt)YesNo

Details: Create an operating system