Skip to content

Operating System Simulator

This reference documents the C++ surface of the Operating System Simulator plugin — classes, structs, enums, and their members as declared in the plugin source. Use it when you extend the simulator in C++, subclass core types, or need exact signatures and inheritance without opening the engine.

If you are new to the plugin, start with the Getting Started guide and Plugin Classes overview. Come back here when you need method-level detail on a specific type.

Use the sidebar to drill into categories. Each page lists inheritance, members, parameters, and return types for one type.

CategoryWhat you will find
ActorsWorld-placed device actors that boot and host a virtual OS
CoreOperating system, hardware, filesystem, and session types
ProgramsBuilt-in and extensible program implementations
WidgetsUMG widgets for desktop, taskbar, terminal, and UI chrome
ObjectsUObject-based helpers and data holders
TypesShared structs, typedefs, and header-level definitions
EnumsEnumerations used across the plugin API
Viewport WorldsViewport-world integration types
ImplementationInternal implementation details (advanced)
MiscellaneousEverything else that does not fit a folder above

Diagrams on this reference are Mermaid (no Graphviz images), generated from the same Doxygen XML as the signatures unless noted as conceptual below.

DiagramWhere
InheritanceEvery class and struct page — direct bases and subclasses
CollaborationClass pages — owned and referenced types via member variables
Class detailBusier class pages — key members in one card
Caller impactHub methods — who inside the plugin calls them
Include mapBelow — what the core public header pulls in
Category mapBelow — how API types group by folder

EOperatingSystemDeviceState on UOperatingSystemBaseDevice tracks boot and runtime:

stateDiagram-v2
  [*] --> None
  None --> Starting : power on
  Starting --> BIOS : firmware
  BIOS --> Running : OS ready
  Running --> Restarting : reboot
  Running --> ShuttingDown : shutdown
  Restarting --> Starting
  ShuttingDown --> None
  Running --> BSOD : fatal error
  BSOD --> ShuttingDown

EOperatingSystemProgramViewState on UOperatingSystemBaseProgram drives taskbar and window chrome:

stateDiagram-v2
  [*] --> NotFocused
  NotFocused --> Focused : activate
  Focused --> NotFocused : blur
  Focused --> Minimized : minimize
  Minimized --> Focused : restore
  Minimized --> MinimizedAndNotFocused : blur
  MinimizedAndNotFocused --> Minimized : focus

Typical install sequence on a device actor (conceptual — not derived from source):

sequenceDiagram
  participant D as AOperatingSystemDeviceActor
  participant O as UOperatingSystem
  participant W as UOperatingSystemWidget
  D->>O: BeginInstallation
  O->>O: FinalizePreInstallation
  O->>W: Show progress
  O->>O: FinishInstallation
  O-->>D: InstallationCompleted

Top-level folders in the sidebar and a representative type in each:

flowchart TD
  OS["Operating System Simulator"]
  Actors["Actors"]
  OS --> Actors
  AOperatingSystemCCTVActor["AOperatingSystemCCTVActor"]
  Actors --> AOperatingSystemCCTVActor
  Core["Core"]
  OS --> Core
  UOperatingSystem["UOperatingSystem"]
  Core --> UOperatingSystem
  Programs["Programs"]
  OS --> Programs
  UOperatingSystemStore["UOperatingSystemStore"]
  Programs --> UOperatingSystemStore
  Widgets["Widgets"]
  OS --> Widgets
  UOperatingSystemWidget["UOperatingSystemWidget"]
  Widgets --> UOperatingSystemWidget
  Devices["Devices"]
  OS --> Devices
  EOperatingSystemWidgetSet["EOperatingSystemWidgetSet"]
  Devices --> EOperatingSystemWidgetSet
  Enums["Enums"]
  OS --> Enums
  EOperatingSystemWindowStartupState["EOperatingSystemWindowStartupState"]
  Enums --> EOperatingSystemWindowStartupState

For a narrative map of core types, see Plugin Classes in the Guide.

  • Search — use the site search bar to jump straight to a class name (e.g. UOperatingSystem, AOperatingSystemDeviceActor).
  • Blueprint users — many types are UCLASS / USTRUCT and appear in Blueprint; this reference shows the underlying C++ API.
  • AI assistant — the docs chat widget can answer questions about classes and methods using this reference as context.

Source updates in the operating-system-simulator repository are reflected here on each docs deploy.