DocsUOSInstallation

Installation

UOS ships in two layouts. Pick the one that matches your project: a single source tree if you build the engine yourself, or a prebuilt Dist/UE5.X/ drop-in if you use a Launcher engine.

Prerequisites

  • -Unreal Engine 5.5, 5.6, or 5.7. Source builds and Launcher builds both work.
  • -A C++ project. UOS contains C++ modules, so a Blueprint-only project must be converted (add an empty C++ class once and let UE regenerate the project).
  • -For Steam: a Steam App ID from Steamworks (use 480 for testing - it's the public Spacewar test app).
  • -For EOS: a Product / Sandbox / Deployment ID and a Client ID + Client Secret from the Epic Dev Portal.

Pick a layout

Prebuilt (recommended for Launcher engines)

Use the version-matching folder under Dist/:

Dist/
  UE5.5/UniversalOnlineServices/   <- copy this for UE 5.5
  UE5.6/UniversalOnlineServices/   <- copy this for UE 5.6
  UE5.7/UniversalOnlineServices/   <- copy this for UE 5.7

Each folder contains the full plugin (Source + .uplugin + binaries). Copy the whole UniversalOnlineServices folder into your project's Plugins/ directory.

Source (recommended for source-built engines)

Use the top-level Source/ tree directly. The same source compiles cleanly against 5.5, 5.6, and 5.7 - the Build.cs file branches on engine version automatically.

Drop it in

  1. 1.Close the Unreal Editor if it's running on the target project.
  2. 2.Copy the plugin folder to YourProject/Plugins/UniversalOnlineServices/.
  3. 3.Right-click your .uproject and choose Generate Visual Studio project files (or Generate Xcode project on macOS).
  4. 4.Open the project. The first cook will compile the plugin; subsequent launches use the cached binaries.
  5. 5.Once open, go to Edit > Plugins, search for Universal Online Services, and confirm it's enabled. Restart if you toggled it.

Verify the install

Open the Output Log and create a new test Blueprint. In the graph, right-click and search for Get Game Instance Subsystem. You should see UOS Steam Subsystem, UOS EOS Subsystem, and the rest of the UOS subsystems in the dropdown. If they appear, the plugin is wired up correctly.

Next

Configure the SDKs - see Configuration for the full Project Settings reference.

Heads up
UOS does not replace OnlineSubsystemSteam or OnlineSubsystemEOS - it lives next to them. If you have OSS already wired up for sessions, leave it. UOS is for direct SDK access; OSS handles the abstracted matchmaking flows. They don't conflict, but they will both call SteamAPI_Init / EOS_Initialize, so only one of them should own that lifecycle. UOS' core subsystems respect any existing init.