Universal Online Services
One Unreal Engine plugin that exposes both Steamworks and Epic Online Services to Blueprints. 46 subsystems. No abstraction layer. Direct, typed, Blueprint-first access to every interface.
Built for shipping multiplayer
Every Steamworks and EOS interface, surfaced as a typed Blueprint subsystem.
46 Subsystems
22 Steam + 24 EOS Game Instance Subsystems, each one a 1:1 wrapper around its underlying SDK interface.
Blueprint-First
Every method is a UFUNCTION(BlueprintCallable). Every event is a multicast delegate. Drop nodes onto a graph and wire them up.
Steam + EOS, side by side
No abstraction layer. Both SDKs run in the same project, ready for whichever platform the player is on.
Achievements + Stats
Unlock Steam achievements, ingest EOS stats, query leaderboards from Blueprint with one node each.
Cloud Saves
Steam Cloud and EOS Player Data Storage. Read, write, list, delete - synchronous on Steam, streaming on EOS.
Voice + RTC
EOS RTC voice rooms with mic / device / volume controls, plus Steam voice capture and decompression.
Dedicated Server Ready
Steam Game Server lifecycle (Init / LogOn / Shutdown) and EOS Anti-Cheat Server are first-class.
Anti-Cheat
Easy Anti-Cheat client + server runtime APIs surfaced as BeginSession / EndSession / PollStatus nodes.
Cross-engine
Same source compiles cleanly against UE 5.5, 5.6, and 5.7. Per-engine prebuilt Dist binaries shipped in the same archive.
Every subsystem
Each one is a UGameInstanceSubsystem reachable from any Blueprint withGet Game Instance Subsystem. The full reference lives in the docs.
Steam (22)
- -Core
- -Friends
- -Matchmaking (Lobbies)
- -User Stats + Achievements
- -Remote Storage (Cloud)
- -Apps (DLC + Build)
- -Utils
- -Screenshots
- -Music
- -Parental Settings
- -Remote Play
- -User (Auth + Voice)
- -Input (Steam Input)
- -Inventory
- -UGC (Workshop)
- -HTTP
- -Networking Sockets (Modern P2P)
- -Networking Utils
- -Networking Messages
- -Matchmaking Servers (Browser)
- -Timeline (2024+)
- -Game Server
EOS (24)
- -Core
- -Auth
- -Connect
- -User Info
- -Friends
- -Presence
- -Achievements
- -Stats
- -Leaderboards
- -Player Data Storage
- -Title Storage
- -P2P
- -Lobby
- -Sessions
- -Ecom
- -Mods
- -Progression Snapshots
- -Sanctions
- -Reports
- -Metrics
- -Custom Invites
- -UI Overlay
- -Anti-Cheat (Client + Server)
- -KWS
- -RTC + RTC Audio
- -Version
How it works
Three steps from drop-in to live calls.
Drop in the plugin
Copy Dist/UE5.X/UniversalOnlineServices into your project Plugins folder. Works on source or Launcher engines.
Set credentials
Project Settings -> Plugins -> Universal Online Services. Steam App ID and / or EOS Product / Sandbox / Deployment / Client.
Call from Blueprint
Get the subsystem you need (UOS Steam Lobby, UOS EOS Auth, etc.) and wire its events. No C++ required.
Need help?
Read the docs first - if you're still stuck, hop into the Discord.