Blueprint Reference
Quick reference for Blueprint authors. For every signature and member variable, use the C++ API browser.
flowchart LR DActor["AOperatingSystemDeviceActor"] Device["UOperatingSystemBaseDevice"] NonUnix["UOperatingSystemNonUnix"] Program["UOperatingSystemBaseProgram"] ProgWidget["UOperatingSystemProgramWidget"] Terminal["UOperatingSystemTerminalCommand"] File["UOperatingSystemFile"] DActor --> Device Device --> NonUnix NonUnix --> Program Program --> ProgWidget Program --> File Program --> Terminal
Parent classes
Section titled “Parent classes”| Blueprint parent | Purpose |
|---|---|
| AOperatingSystemDeviceActor | World-placed PC / kiosk |
| AOperatingSystemPortableDeviceActor | Battery-powered device |
| UOperatingSystemBaseDevice | Device config + hardware |
| UOperatingSystemNonUnix | Windows-like OS |
| UOperatingSystemUnix | Unix-like OS |
| UOperatingSystemBaseProgram | Desktop application |
| UOperatingSystemTerminalCommand | CLI command |
| UOperatingSystemFile | Simulated file type |
| UOperatingSystemProgramSettings | Saved program prefs |
| UOperatingSystemProgramData | Runtime program state |
Widget bases
Section titled “Widget bases”| Widget parent | Used for |
|---|---|
| UOperatingSystemWidget | Full desktop shell (taskbar, notifications) |
| UOperatingSystemDeviceWidget | Device bezel / screen frame |
| UOperatingSystemProgramWidget | Program main window content |
| UOperatingSystemProgramIconWidget | Desktop / start menu icon |
| UOperatingSystemWindowWidgetBase | Draggable window chrome |
| UOperatingSystemBiosWidget | Firmware UI |
| UOperatingSystemBsodWidget | Crash screen |
High-traffic nodes
Section titled “High-traffic nodes”Search the context menu with an Operating System or Global Message reference.
Device and OS
Section titled “Device and OS”| Node | Typical use |
|---|---|
| Get Operating System | From program, file, or widget |
| Get Directory From Path | Resolve C:\... or /Users/... |
| Construct File / Construct Directory | Filesystem — tutorial |
| Send Notification | Toast — tutorial |
| Install Program | Add app at runtime |
Messengers
Section titled “Messengers”| Node | Scope |
|---|---|
| Get Global Message Subsystem | Whole level — tutorial |
| Broadcast Message / Listen to Message | Global Messenger |
| Find Messenger from Operating System | Single device — tutorial |
| Broadcast / Begin Listening | Device Messenger |
Programs
Section titled “Programs”| Node | Typical use |
|---|---|
| Get Owning Program | Inside program widget |
| Get Program Settings | Cast to your settings class |
| Save Settings | Manual persistence |
| On Validate | Program config validation event |
Terminal commands
Section titled “Terminal commands”| Event | When it runs |
|---|---|
| Process Command | Normal user |
| Process Command As Root | Elevated (Unix) |
| Continue Execution | Must call when command finishes |
| Get Command Parameters | Parsed arguments |
Data assets
Section titled “Data assets”| Asset type | Purpose |
|---|---|
| Operating System Programs Collection | Must-have / store program lists |
| Operating System Directories Collection | Default folder tree |
| Operating System Cmd Collection | Terminal command registry |
| Operating System Settings Data | Theme, wallpaper modules |
Duplicate from OperatingSystemContent/Shared/ — never edit plugin originals.
Gameplay tags
Section titled “Gameplay tags”OS features filter by tags under the OperatingSystem.* namespace:
| Tag category | Example use |
|---|---|
OperatingSystem.Type | Unix vs Non-Unix program support |
OperatingSystem.Devices | Which hardware types an OS supports |
OperatingSystem.Directory | Directory icon mapping |
Configure under Project Settings → Gameplay Tags and on class defaults.
Example graphs
Section titled “Example graphs”| Scenario | Tutorial |
|---|---|
| All extension patterns (cookbook) | Examples & Patterns · Pattern tutorials |
| First bootable OS | Create an operating system |
| New desktop app | Create a custom program |
| Program with Data + Settings | Examples & Patterns |
| CLI → gameplay | Custom terminal command |
Bundled Blueprint paths
Section titled “Bundled Blueprint paths”| Content | Path under plugin |
|---|---|
| Demo map | OperatingSystemContent/Demo/Maps/DemoMap |
| Non-Unix OS template | .../Blueprints/OS/BP_OS_NonUnix |
| Default settings | .../Programs/OperatingSystemSettings/BP_OS_Settings |
| Terminal commands | .../Programs/Terminal/Commands/BP_CMD_* |