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.
Boot chain
Section titled “Boot chain”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
| Layer | Class | Role |
|---|---|---|
| World | AOperatingSystemDeviceActor | Spawns device, handles input |
| World | AOperatingSystemPortableDeviceActor | Adds battery simulation |
| Device | UOperatingSystemBaseDevice | Hardware + OS class + device widget |
| OS | UOperatingSystem | Abstract base — use Unix or Non-Unix subclasses |
| OS | UOperatingSystemUnix | /Users/... paths, root user, apt-style commands |
| OS | UOperatingSystemNonUnix | C:\ paths, partitions, disk letters |
→ Create device actor tutorial chain
Hardware
Section titled “Hardware”| Name | Class | Description |
|---|---|---|
| Motherboard | UOperatingSystemMBB | Links CPU, RAM, GPU, PSU, HDD |
| CPU | UOperatingSystemCPU | Socket type, speed (readable from Blueprint) |
| RAM | UOperatingSystemRAM | Memory size |
| HDD | UOperatingSystemHDD | Capacity; partitions on Non-Unix |
| GPU | UOperatingSystemGPU | Placeholder hardware |
| PSU | UOperatingSystemPSU | Power supply placeholder |
| BIOS | UOperatingSystemBIOS | Boot firmware object |
Bundled hardware Blueprints: OperatingSystemContent/Shared/Blueprints/Hardware/
Filesystem
Section titled “Filesystem”| Name | Class | Description |
|---|---|---|
| Directory | UOperatingSystemDirectory | Folders; special tags for Desktop, Music, etc. |
| Root directory | UOperatingSystemRootDirectory | Unix root |
| Partition | UOperatingSystemPartition | Non-Unix drive letters |
| File | UOperatingSystemFile | Abstract file — subclass per extension |
| Video file | UOperatingSystemVideoFile | Opens video player |
| Audio file | UOperatingSystemAudioFile | Opens audio player |
Programs
Section titled “Programs”| Name | Class | Description |
|---|---|---|
| Base program | UOperatingSystemBaseProgram | All desktop apps |
| Terminal | UOperatingSystemTerminal | CLI shell |
| Terminal command | UOperatingSystemTerminalCommand | Individual commands |
| Explorer | UOperatingSystemExplorer | File manager |
| Store | UOperatingSystemStore | Install optional apps |
| Settings | UOperatingSystemSettingsData | Modular OS settings |
| CCTV | UOperatingSystemCCTVProgram | Security camera monitoring app |
→ Programs section
CCTV (world + program)
Section titled “CCTV (world + program)”Cameras live in the level; the CCTV program reads their feeds inside the OS desktop.
| Name | Class | Description |
|---|---|---|
| Camera actor | AOperatingSystemCCTVActor | Scene capture, zoom, render targets |
| CCTV program | UOperatingSystemCCTVProgram | Layouts, capture method, program API |
| CCTV data | UOperatingSystemCCTVProgramData | Discovers cameras, runs capture tick |
| CCTV widget | UOperatingSystemCCTVProgramWidget | UMG monitoring UI base |
| CCTV subsystem | UOperatingSystemCCTVWorldSubsystem | Registers cameras by group |
Bundled Blueprints: OperatingSystemContent/Shared/Blueprints/Programs/CCTV/, …/Actors/CCTV/, …/Widgets/Programs/CCTV/
→ CCTV guides
Widgets
Section titled “Widgets”| Name | Class | Description |
|---|---|---|
| OS shell | UOperatingSystemWidget | Desktop, taskbar, notifications |
| Device frame | UOperatingSystemDeviceWidget | Monitor / phone bezel |
| Program UI | UOperatingSystemProgramWidget | App window content |
| BIOS / BSOD | UOperatingSystemBiosWidget, UOperatingSystemBsodWidget | Boot and crash screens |
Communication
Section titled “Communication”| Name | Class | Description |
|---|---|---|
| Global Messenger | UGlobalMessageSubsystem | World-wide gameplay tags + payload |
| Device Messenger | FOperatingSystemDeviceMessengerSystem | Per-device event names |
Subsystems and helpers
Section titled “Subsystems and helpers”| Class | Role |
|---|---|
| UOperatingSystemWorldSubsystem | Active devices, user manager |
| UOperatingSystemGameSubsystem | Game-instance scope hooks |
| UOperatingSystemStatics | Path helpers, messenger lookup |
| UOperatingSystemUserManager | Login, users, funds |
Class inheritance
Section titled “Class inheritance”flowchart LR OS["«abstract» UOperatingSystem"] Unix["UOperatingSystemUnix"] NonUnix["UOperatingSystemNonUnix"] Program["UOperatingSystemBaseProgram"] File["UOperatingSystemFile"] OS --> Unix OS --> NonUnix NonUnix --> Program Program --> File
Unix vs Non-Unix
Section titled “Unix vs Non-Unix”| Feature | Unix | Non-Unix |
|---|---|---|
| Path style | /Users/Desktop | C:\Users\Desktop |
| Partitions / drive letters | No | Yes |
Root user / sudo | Yes | No |
| Package repos (apt) | Yes | No |
Details: Create an operating system