Docs
Copy page

Getting Started

This guide covers the installation and initial setup of OSSIM as an Unreal Engine 5 plugin.

Prerequisites

  • Unreal Engine 5.4
  • C++ Enabled Project (OSSIM core logic is C++ based).

Installation

From Fab

  1. Purchase and download the OSSIM plugin from the Fab marketplace.
  2. Install the plugin through the Epic Games Launcher or manually extract it to your project's Plugins/ folder.
  3. Open your project in Unreal Editor.
  4. Go to Edit → Plugins, search for OSSIM, and ensure it is enabled.
  5. Restart the editor if prompted.

Manual Installation

  1. Copy the OSSIM folder into your project's Plugins/ directory:
    YourProject/
    └── Plugins/
        └── OSSIM/
            ├── OSSIM.uplugin
            ├── Source/
            └── Content/
    
  2. Regenerate your project files (right-click .uprojectGenerate Visual Studio project files).
  3. Build the project.

Initial Launch Flow

The OSSIM shell is Auto-On; it initializes itself immediately upon game start without manual intervention.

  1. Open the OSSIM_DemoMap (found under Plugins/OSSIM Content/OSSIM_Assets/Map/).
  2. Press Play.
  3. Boot Splash (Auto): The UOSOrchestratorWidget initializes on BeginPlay and automatically starts the boot sequence.
  4. Onboarding: On a fresh install, you'll be prompted to create your first user. This data is saved to the OSSIM_UserProfile slot via the UOSSIMSaveGame class.
  5. Desktop: Once authenticated, the desktop shell (UDesktopRootWidget) will load.

Shell Configuration

1. OS Orchestrator (UOSOrchestratorWidget)

The master controller for shell stages.

  • Stage Switcher: A UWidgetSwitcher containing:
    1. Boot Splash
    2. Onboarding
    3. Login
    4. Desktop
  • ContextMenuClass: The widget class used for global context menus.
  • ToolTipClass: The default tooltip class registered with UOSSIMUISubsystem.
  • NotificationCenterClass: The notification host registered with UOSSIMUISubsystem.

2. Desktop Surface (UDesktopSurfaceWidget)

  • BackgroundWallpaper: A UBorder for wallpaper display.
  • ContextMenuAnchor: UMenuAnchor for right-click context menus.
  • Right-click the desktop to access: Change Wallpaper, Open Desktop in Explorer.

3. Taskbar (UTaskbarWidget)

  • ClockText: A text block for the system time (updated via NativeTick).
  • AppButtonContainer: A horizontal box for active application buttons.
  • AppIconClass: A template icon widget class for active applications.
  • StartMenuClass: The class of the Start Menu to spawn.
  • StartButton: Opens the Start Menu with an animated transition.

4. Window Chrome (UWindowWidget)

Every application is wrapped in a window frame.

  • BodyContainer: Where the app's content is injected.
  • TitleText: Displays the app's name.
  • CloseButton, MinimizeButton, MaximizeButton: Standard window controls.
  • AddTabButton: For tabbed window hosting.
  • TabBarContainer / TabContentSwitcher: Multi-tab support for compatible apps.

Try it Yourself

  1. Verify Onboarding: Complete the first-run flow and ensure your user profile is created.
  2. Launch Built-in Apps: Open the Explorer, Notepad, and Terminal to confirm subsystems (VFS, Process) are active.
  3. Test Persistence: Create a file in Notepad, restart the game, and verify it still exists in the File Explorer.
  4. Install an App: Open the Software Center and install the Mail or Minesweeper app.
  5. Create a Blueprint App: Follow the Extending OSSIM guide to create your own custom app.