Skip to content

Features

Operating System Simulator is a modular Unreal Engine plugin for building fully simulated desktops, laptops, phones, and terminals inside your game. Everything below ships in the plugin or is extendable in Blueprint and C++.

Current version: v3.7.2 (Unreal Engine 5.8) — see the changelog for release history.

flowchart TB
  ROOT(("Features"))
  ROOT --> DEV[Developer]
  ROOT --> OS[Operating System]
  ROOT --> RUN[Runtime]
  ROOT --> APPS[Apps & UI]
  DEV --> D1[Blueprint & C++]
  DEV --> D2[Global & Device Messenger]
  OS --> O1[Unix / Non-Unix]
  OS --> O2[Boot & install flow]
  OS --> O3[Filesystem & paths]
  RUN --> R1[Save / load]
  RUN --> R2[Custom programs & commands]
  RUN --> R3[Viewport World]
  APPS --> A1[Built-in programs]
  APPS --> A2[Settings & wallpaper]
  APPS --> A3[Window shell & notifications]
FeatureDescription
Blueprint supportExtend devices, OS classes, programs, terminal commands, file types, and widgets entirely in Blueprint — or mix Blueprint children with C++ base classes.
C++ extensionFull native API with modules, headers, and override points. See C++ Reference and C++ Extension Examples.
Modular architectureLayered actors, devices, OS, hardware, programs, and widgets — swap any layer without rewriting the stack. See Plugin Classes.
Extension patternsCookbook recipes for programs, terminal commands, file types, setting modules, and messenger bridges. See Examples & Patterns.
Blueprint validationK2_OnValidate implementable event on programs for editor-time checks.
Program lifecycle eventsC++ and Blueprint events for program started/closed (v3.7.0+).
Packaging helpersTerminal commands auto-cook in packaged builds (v3.1.1+). See Packaging.

Talk to any UE class — actors, components, UMG, third-party plugins — without casting or hard references.

FeatureDescription
Global MessengerWorld-scoped event bus using gameplay tags and optional UObject payloads. Terminal commands, programs, and level actors broadcast and listen decoupled.
Device MessengerPer-device scoped events for Mail, Video Player, portable battery handlers, and custom programs.
Terminal command integrationTerminal commands can broadcast/listen on Global Messenger natively — ideal for hacking puzzles and gameplay triggers.
Viewport World bridgeTerminal commands trigger secondary world loads through Global Messenger — no direct references between terminal and game world.

Using Global Messenger · Using Device Messenger

FeatureDescription
Unix OS/Users/... paths, root user, sudo-style commands, apt-style package repos.
Non-Unix OSC:\ paths, disk letters (C:, D:, …), and partition management.
Phone OSDedicated phone OS class and mobile device tags for tablet/phone form factors.
Realistic path handlingPath resolution, directory construction, and file operations respect OS type — Get Directory From Path works for both styles. See Filesystem operations.
CapabilityUnixNon-Unix
Path style/Users/DesktopC:\Users\Desktop
Disk partitions / drive letters
Root user / sudo
Package repos (apt-style)
FeatureDescription
System boot flowFull BIOS → OS boot sequence with configurable hardware.
Installation simulationChoose between simulated OS install or direct boot — watch the full install wizard or skip to desktop.
Simulated hardwareMotherboard, CPU, RAM, HDD, GPU, PSU, and BIOS objects compose each device.
Disk partitionsNon-Unix HDDs support multiple partitions with realistic capacity limits.
BIOS & BSOD screensDedicated UMG widgets for firmware boot UI and crash/blue-screen states.
Portable devicesPortable device actor with battery simulation, charge states, and battery-triggered saves.
3D device placementPlace monitor, kiosk, or phone meshes in the level with device actor + device widget bezel.
FeatureDescription
Virtual filesystemDirectories and files as UObject instances — create, move, delete, and query at runtime.
Default directory setsData-asset driven Desktop, Documents, Downloads, Music, and more at install time.
Custom file typesSubclass UOperatingSystemFile to open custom programs when a file is double-clicked. See Custom file type.
Video & audio filesBundled file types that launch the Video Player and Audio Player programs.
Simulated disk spaceFile operations can fail when virtual storage is exhausted.
FeatureDescription
Full OS snapshotsPersist desktop layout, installed programs, filesystem changes, and per-program settings through Unreal’s save-game system.
Per-program save methodsConfigure save behavior per app via EOperatingSystemProgramSaveMethod and program settings classes.
User manager persistenceMulti-user login state, funds, and per-user desktop data saved through FOperatingSystemUserManagerSaveData.
Window position restorePrograms remember last window position across sessions.
Portable battery savesBattery state changes can trigger automatic saves on portable devices.

Save and load · User accounts

FeatureDescription
Custom programsBuild desktop apps as UOperatingSystemBaseProgram subclasses with widgets, settings, and data objects.
Runtime install/uninstallInstall or remove programs from the Store or at runtime via Blueprint/C++.
Custom terminal commandsAdd CLI commands as UOperatingSystemTerminalCommand subclasses — wire them to gameplay through messengers.
Program backgroundingSend programs to background or fully close them — configurable per app.
Draw Widget to TextureRender any UMG widget to a texture for in-world displays or custom program UI.

Create a custom program · Custom terminal command

Bundled apps ship under OperatingSystemContent/Shared/Blueprints/Programs/ — duplicate before modifying.

ProgramHighlights
TerminalFull CLI shell with extensible command system.
ExplorerFile manager for the simulated filesystem.
StoreInstall optional apps at runtime.
SettingsModular settings panels (theme, wallpaper, custom modules).
MailInbox, compose, and device-scoped messaging.
Video PlayerPlay media files from the virtual filesystem.
Audio PlayerAudio playback with dedicated file type.
CCTVMonitor level cameras with layouts, capture methods, and zoom (v3.7.0+).
CalculatorBuilt-in calculator with static math expression node support.
CalendarDate/calendar utility program.
BankSimulated banking with user funds integration.
Web BrowserIn-OS browser widget — integrates with Web Browser UMG docs.

Programs overview

FeatureDescription
Modular settings systemPlug-and-play setting modules loaded into the Settings app at runtime.
Theme moduleLight/dark mode and theme switching.
Wallpaper moduleDefault wallpapers plus load custom images at runtime from the user’s PC.
Custom setting modulesAuthor your own setting panel classes and register them on the OS settings data object.
FeatureDescription
Taskbar & start menuFull desktop shell with program icons, taskbar buttons, and window management.
Draggable windowsResize, drag, maximize/restore, and fullscreen switching — with configurable minimum sizes.
Notifications & toastsMessage log and toast notification functions for in-OS alerts. See Custom notifications.
Login & register UIGeneric login/register widgets with multi-user support.
MenubarAdditional menubar entry support (Lite edition).
Fullscreen modeToggle fullscreen on the device display at runtime.

Play a full secondary Unreal level inside an OS program viewport — mini-games, security feeds, or terminal-triggered world previews.

FeatureDescription
Secondary UWorldLoad and render a complete game world inside the OS desktop.
World handle APIAccess and control running secondary worlds programmatically.
Enhanced InputPlayer input routing inside the viewport.
Rendering controls (v3.7.2)Toggle rendering mode at runtime, simple draw mode, gamma override, V-Sync, HDR, and FPS/MS debug display.
Dedicated game instanceViewport World game instance with proper load/shutdown lifecycle.

Viewport World

FeatureDescription
Multi-user loginLogin screen, user switching, and per-user desktop state.
User managerCreate, validate, and authorize users at runtime.
Simulated fundsPer-user balance and transactions — used by Bank and Store programs.
Default admin userPre-configured admin account for quick setup.

User accounts

FeatureDescription
Unreal Engine 5.8Latest supported engine version (v3.7.2).
Cross-platformWindows, Mac, and Linux in editor and packaged builds; console support where Unreal allows.
MultiplayerPIE multiplayer compatibility (v3.7.0+ fixes).
Lite & Full editionsModule tiers for different licensing needs. See Licensing.

Watch feature previews and demos:

GoalStart here
Install and open the demoGetting Started
Build your own OS from scratchTutorials overview
Browse every classAPI Reference
Latest changesChangelog