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.
How to browse
Section titled “How to browse”Use the sidebar to drill into categories. Each page lists inheritance, members, parameters, and return types for one type.
| Category | What you will find |
|---|---|
| Actors | World-placed device actors that boot and host a virtual OS |
| Core | Operating system, hardware, filesystem, and session types |
| Programs | Built-in and extensible program implementations |
| Widgets | UMG widgets for desktop, taskbar, terminal, and UI chrome |
| Objects | UObject-based helpers and data holders |
| Types | Shared structs, typedefs, and header-level definitions |
| Enums | Enumerations used across the plugin API |
| Viewport Worlds | Viewport-world integration types |
| Implementation | Internal implementation details (advanced) |
| Miscellaneous | Everything else that does not fit a folder above |
Architecture diagrams
Section titled “Architecture diagrams”Diagrams on this reference are Mermaid (no Graphviz images), generated from the same Doxygen XML as the signatures unless noted as conceptual below.
| Diagram | Where |
|---|---|
| Inheritance | Every class and struct page — direct bases and subclasses |
| Collaboration | Class pages — owned and referenced types via member variables |
| Class detail | Busier class pages — key members in one card |
| Caller impact | Hub methods — who inside the plugin calls them |
| Include map | Below — what the core public header pulls in |
| Category map | Below — how API types group by folder |
Device lifecycle
Section titled “Device lifecycle”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
Program window focus
Section titled “Program window focus”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
OS installation flow
Section titled “OS installation flow”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
Category map
Section titled “Category map”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/USTRUCTand 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.