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]
| Feature | Description |
|---|
| Blueprint support | Extend devices, OS classes, programs, terminal commands, file types, and widgets entirely in Blueprint — or mix Blueprint children with C++ base classes. |
| C++ extension | Full native API with modules, headers, and override points. See C++ Reference and C++ Extension Examples. |
| Modular architecture | Layered actors, devices, OS, hardware, programs, and widgets — swap any layer without rewriting the stack. See Plugin Classes. |
| Extension patterns | Cookbook recipes for programs, terminal commands, file types, setting modules, and messenger bridges. See Examples & Patterns. |
| Blueprint validation | K2_OnValidate implementable event on programs for editor-time checks. |
| Program lifecycle events | C++ and Blueprint events for program started/closed (v3.7.0+). |
| Packaging helpers | Terminal 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.
| Feature | Description |
|---|
| Global Messenger | World-scoped event bus using gameplay tags and optional UObject payloads. Terminal commands, programs, and level actors broadcast and listen decoupled. |
| Device Messenger | Per-device scoped events for Mail, Video Player, portable battery handlers, and custom programs. |
| Terminal command integration | Terminal commands can broadcast/listen on Global Messenger natively — ideal for hacking puzzles and gameplay triggers. |
| Viewport World bridge | Terminal commands trigger secondary world loads through Global Messenger — no direct references between terminal and game world. |
→ Using Global Messenger · Using Device Messenger
| Feature | Description |
|---|
| Unix OS | /Users/... paths, root user, sudo-style commands, apt-style package repos. |
| Non-Unix OS | C:\ paths, disk letters (C:, D:, …), and partition management. |
| Phone OS | Dedicated phone OS class and mobile device tags for tablet/phone form factors. |
| Realistic path handling | Path resolution, directory construction, and file operations respect OS type — Get Directory From Path works for both styles. See Filesystem operations. |
| Capability | Unix | Non-Unix |
|---|
| Path style | /Users/Desktop | C:\Users\Desktop |
| Disk partitions / drive letters | — | ✓ |
Root user / sudo | ✓ | — |
| Package repos (apt-style) | ✓ | — |
| Feature | Description |
|---|
| System boot flow | Full BIOS → OS boot sequence with configurable hardware. |
| Installation simulation | Choose between simulated OS install or direct boot — watch the full install wizard or skip to desktop. |
| Simulated hardware | Motherboard, CPU, RAM, HDD, GPU, PSU, and BIOS objects compose each device. |
| Disk partitions | Non-Unix HDDs support multiple partitions with realistic capacity limits. |
| BIOS & BSOD screens | Dedicated UMG widgets for firmware boot UI and crash/blue-screen states. |
| Portable devices | Portable device actor with battery simulation, charge states, and battery-triggered saves. |
| 3D device placement | Place monitor, kiosk, or phone meshes in the level with device actor + device widget bezel. |
| Feature | Description |
|---|
| Virtual filesystem | Directories and files as UObject instances — create, move, delete, and query at runtime. |
| Default directory sets | Data-asset driven Desktop, Documents, Downloads, Music, and more at install time. |
| Custom file types | Subclass UOperatingSystemFile to open custom programs when a file is double-clicked. See Custom file type. |
| Video & audio files | Bundled file types that launch the Video Player and Audio Player programs. |
| Simulated disk space | File operations can fail when virtual storage is exhausted. |
| Feature | Description |
|---|
| Full OS snapshots | Persist desktop layout, installed programs, filesystem changes, and per-program settings through Unreal’s save-game system. |
| Per-program save methods | Configure save behavior per app via EOperatingSystemProgramSaveMethod and program settings classes. |
| User manager persistence | Multi-user login state, funds, and per-user desktop data saved through FOperatingSystemUserManagerSaveData. |
| Window position restore | Programs remember last window position across sessions. |
| Portable battery saves | Battery state changes can trigger automatic saves on portable devices. |
→ Save and load · User accounts
| Feature | Description |
|---|
| Custom programs | Build desktop apps as UOperatingSystemBaseProgram subclasses with widgets, settings, and data objects. |
| Runtime install/uninstall | Install or remove programs from the Store or at runtime via Blueprint/C++. |
| Custom terminal commands | Add CLI commands as UOperatingSystemTerminalCommand subclasses — wire them to gameplay through messengers. |
| Program backgrounding | Send programs to background or fully close them — configurable per app. |
| Draw Widget to Texture | Render 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.
| Program | Highlights |
|---|
| Terminal | Full CLI shell with extensible command system. |
| Explorer | File manager for the simulated filesystem. |
| Store | Install optional apps at runtime. |
| Settings | Modular settings panels (theme, wallpaper, custom modules). |
| Mail | Inbox, compose, and device-scoped messaging. |
| Video Player | Play media files from the virtual filesystem. |
| Audio Player | Audio playback with dedicated file type. |
| CCTV | Monitor level cameras with layouts, capture methods, and zoom (v3.7.0+). |
| Calculator | Built-in calculator with static math expression node support. |
| Calendar | Date/calendar utility program. |
| Bank | Simulated banking with user funds integration. |
| Web Browser | In-OS browser widget — integrates with Web Browser UMG docs. |
→ Programs overview
| Feature | Description |
|---|
| Modular settings system | Plug-and-play setting modules loaded into the Settings app at runtime. |
| Theme module | Light/dark mode and theme switching. |
| Wallpaper module | Default wallpapers plus load custom images at runtime from the user’s PC. |
| Custom setting modules | Author your own setting panel classes and register them on the OS settings data object. |
| Feature | Description |
|---|
| Taskbar & start menu | Full desktop shell with program icons, taskbar buttons, and window management. |
| Draggable windows | Resize, drag, maximize/restore, and fullscreen switching — with configurable minimum sizes. |
| Notifications & toasts | Message log and toast notification functions for in-OS alerts. See Custom notifications. |
| Login & register UI | Generic login/register widgets with multi-user support. |
| Menubar | Additional menubar entry support (Lite edition). |
| Fullscreen mode | Toggle 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.
| Feature | Description |
|---|
| Secondary UWorld | Load and render a complete game world inside the OS desktop. |
| World handle API | Access and control running secondary worlds programmatically. |
| Enhanced Input | Player 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 instance | Viewport World game instance with proper load/shutdown lifecycle. |
→ Viewport World
| Feature | Description |
|---|
| Multi-user login | Login screen, user switching, and per-user desktop state. |
| User manager | Create, validate, and authorize users at runtime. |
| Simulated funds | Per-user balance and transactions — used by Bank and Store programs. |
| Default admin user | Pre-configured admin account for quick setup. |
→ User accounts
| Feature | Description |
|---|
| Unreal Engine 5.8 | Latest supported engine version (v3.7.2). |
| Cross-platform | Windows, Mac, and Linux in editor and packaged builds; console support where Unreal allows. |
| Multiplayer | PIE multiplayer compatibility (v3.7.0+ fixes). |
| Lite & Full editions | Module tiers for different licensing needs. See Licensing. |
Watch feature previews and demos: