EOS Reference
UOS exposes 24 EOS subsystems. The core subsystem brings up EOS_Initialize + EOS_Platform_Create and ticks the platform; everything else is a thin BlueprintCallable wrapper around a single EOS Interface, with C-style callbacks marshalled back to the game thread.
Quick jump
- -UOSEOSSubsystem - Core lifecycle
- -UOSEOSAuthSubsystem - Epic account login
- -UOSEOSConnectSubsystem - ProductUserId
- -UOSEOSUserInfoSubsystem
- -UOSEOSFriendsSubsystem
- -UOSEOSPresenceSubsystem
- -UOSEOSAchievementsSubsystem
- -UOSEOSStatsSubsystem
- -UOSEOSLeaderboardsSubsystem
- -UOSEOSPlayerDataStorageSubsystem
- -UOSEOSTitleStorageSubsystem
- -UOSEOSLobbySubsystem
- -UOSEOSSessionsSubsystem
- -UOSEOSP2PSubsystem
- -UOSEOSRTCSubsystem - Voice rooms
- -UOSEOSRTCAudioSubsystem - Audio devices / volume
- -UOSEOSEcomSubsystem - Entitlements / Offers / Checkout
- -UOSEOSModsSubsystem
- -UOSEOSProgressionSnapshotsSubsystem
- -UOSEOSSanctionsSubsystem
- -UOSEOSReportsSubsystem
- -UOSEOSMetricsSubsystem
- -UOSEOSCustomInvitesSubsystem
- -UOSEOSUISubsystem - Friends overlay
- -UOSEOSAntiCheatClientSubsystem
- -UOSEOSAntiCheatServerSubsystem
- -UOSEOSKWSSubsystem
- -UOSEOSVersionSubsystem
EpicAccountId for auth / friends / presence, and ProductUserId for everything gameplay-facing (lobbies, achievements, stats, P2P). Sign in with Auth first, then exchange that for a ProductUserId via Connect. UOS exposes both types as Blueprint structs (FUOSEpicAccountId and FUOSProductUserId).UOSEOSSubsystem - Core lifecycle
Calls EOS_Initialize and EOS_Platform_Create on Game Instance startup using the credentials from Project Settings. Ticks the platform every frame (EOS_Platform_Tick) so async results surface.
Key Blueprint nodes
- -
Is Platform Ready- true once the EOS platform handle is valid. - -
Get Platform Handle- returns an opaque handle; rarely needed in BP.
UOSEOSAuthSubsystem - Epic account login
Sign-in using one of six credential types: AccountPortal, PersistentAuth, ExchangeCode, DeviceCode, Developer, or ExternalAuth. The result is an EpicAccountId.
Key Blueprint nodes
- -
Login(AuthType, IdString, TokenString, ScopeFlags). - -
Logout(LocalUser). - -
Get Logged In Account.
Events
- -
OnLoginComplete(Success, EpicAccountId). - -
OnLogoutComplete. - -
OnAuthExpiration- re-login required.
Auth type cheatsheet
- -
AccountPortal- opens a system browser; works in dev/release client builds. - -
PersistentAuth- silent re-login using stored refresh token. - -
ExchangeCode- launched-from-Epic-Launcher flow. - -
DeviceCode- console / TV-style code flow. - -
Developer- Developer Auth Tool (EpicGames.exedev tool). - -
ExternalAuth- Steam, PSN, Xbox tickets.
UOSEOSConnectSubsystem - ProductUserId
Trades an external credential (Epic, Steam, Discord, Apple, Google, Nintendo, OpenID, etc.) for a ProductUserId. This is the identity used by every gameplay-facing EOS service.
Key Blueprint nodes
- -
Login(Token, AccountType, Credentials) - firesOnLoginComplete. - -
Create User(ContinuanceToken) - first-time players. - -
Login With Device ID- anonymous device-bound account; great for tutorials before forcing sign-in. - -
Query External Account Mappings/Query Product User Id Mappings- turn one ID type into the other.
UOSEOSUserInfoSubsystem
Display name, country, preferred language for an EpicAccountId.
Key Blueprint nodes
- -
Query User Info- issues a server fetch. - -
Copy User Info- returns cachedFUOSEOSUserInfo. - -
Copy Best Display Name- the user's preferred display string.
UOSEOSFriendsSubsystem
Epic friends list - query, send / accept / reject invites.
Key Blueprint nodes
- -
Query Friends->OnQueryComplete. - -
Get Friends- cached array. - -
Send Invite,Accept Invite,Reject Invite.
UOSEOSPresenceSubsystem
Set / query rich presence; the "X is doing Y" line under a friend in the Epic overlay.
Key Blueprint nodes
- -
Query Presence,Get Presence. - -
Set Presence(Status, RichText, JoinInfo, KeyValuePairs) - opens a PresenceModification, applies, releases.
JoinInfo field is read by the "Join Game" button in the Epic overlay. Put your lobby ID or session join string here.UOSEOSAchievementsSubsystem
Key Blueprint nodes
- -
Query Definitions- downloads achievement metadata. - -
Get Achievement Definitions- cached array ofFUOSEOSAchievementDefinition. - -
Query Player Achievements+Get Player Achievements. - -
Unlock Achievements(LocalUser, AchievementIds).
UOSEOSStatsSubsystem
Per-user numeric stats. Stats can drive achievements via the Dev Portal.
Key Blueprint nodes
- -
Ingest Stat(StatName, Amount) - adds delta. - -
Query Stats+Get All Stats.
UOSEOSLeaderboardsSubsystem
Key Blueprint nodes
- -
Query Definitions+Get Definitions. - -
Query Ranks(LeaderboardId) - top N. - -
Query User Scores(LeaderboardId, Users[]).
UOSEOSPlayerDataStorageSubsystem
Per-user cloud storage. Files are read in chunks via streaming callbacks; UOS aggregates the chunks for you.
Key Blueprint nodes
- -
Query File List->OnFileListComplete. - -
Read File->OnReadComplete(Success, Filename, Bytes). - -
Write File(Filename, Bytes) ->OnWriteComplete. - -
Delete File,Duplicate File.
UOSEOSTitleStorageSubsystem
Read-only files published per-title by the developer (motd, hotfix configs, etc.).
Key Blueprint nodes
- -
Query File List(LocalUser, Tags) - empty tags = everything. - -
Read File->OnReadComplete.
UOSEOSLobbySubsystem
EOS Lobbies - the lighter-weight matchmaking primitive. State is replicated automatically across members; chat / member attributes come for free.
Key Blueprint nodes
- -
Create Lobby(LocalUser, MaxMembers, Permission, BucketId, PresenceEnabled, Attributes). - -
Join Lobby By Id,Join Lobby By Invite Id. - -
Leave Lobby,Destroy Lobby. - -
Update Lobby Attributes,Update Member Attributes. - -
Send Invite,Reject Invite. - -
Kick Member,Promote Member. - -
Search By Bucket Id,Search By Attribute. - -
Copy Lobby Info By Id- cached snapshot.
Events
- -
OnLobbyCreated/OnLobbyJoined/OnLobbyLeft. - -
OnSearchComplete(Success, Lobbies[]). - -
OnLobbyUpdated- lobby-level data change. - -
OnMemberStatusChanged- join / leave / kick / promote / disconnect. - -
OnInviteReceived(Inviter, InviteId, LobbyId).
4v4_ranked, ffa_casual) so searches partition cleanly.UOSEOSSessionsSubsystem
Sessions are the "named session" primitive - typically owned by a host or dedicated server, advertised to clients via search, joined with a JoinInfo string.
Key Blueprint nodes
- -
Create Session(LocalUser, SessionName, BucketId, MaxPlayers, Permission, StringAttributes). - -
Update Session(Name, NewMax, NewAttributes). - -
Start Session/End Session/Destroy Session. - -
Register Players/Unregister Players. - -
Send Invite. - -
Search By Bucket Id->OnSearchComplete. - -
Copy Session Info- cached snapshot for the local active session.
UOSEOSP2PSubsystem
EOS P2P transport. Send arbitrary byte arrays addressed to a remote ProductUserId on a named socket.
Key Blueprint nodes
- -
Send Packet(LocalUser, RemoteUser, SocketName, Data, Reliability, AllowDelayedDelivery). - -
Receive Packet- poll once per tick; returns true if a packet was drained. - -
Accept Connection,Close Connection,Close Connections. - -
Query NAT Type,Get NAT Type. - -Event:
OnPeerConnectionRequest(RemoteUser, SocketName).
UOSEOSRTCSubsystem - Voice rooms
Join an EOS RTC voice room. The ClientBaseUrl + ParticipantToken come from your backend (you mint them via the EOS RTC Web API).
Key Blueprint nodes
- -
Join Room(LocalUser, RoomName, ClientBaseUrl, ParticipantId, Token). - -
Leave Room. - -
Block Participant. - -Events:
OnJoinComplete,OnLeaveComplete,OnParticipantJoined,OnParticipantLeft.
UOSEOSRTCAudioSubsystem - Audio devices / volume
Key Blueprint nodes
- -
Update Sending(mute / unmute mic in a room). - -
Update Receiving(mute a specific peer). - -
Get Input Devices/Get Output Devices. - -
Set Input Device/Set Output Device. - -
Set Input Volume/Set Output Volume/Set Participant Volume(0-100).
UOSEOSEcomSubsystem - Entitlements / Offers / Checkout
EGS purchases, entitlements, redemption.
Key Blueprint nodes
- -
Query Entitlements(LocalUser, EntitlementNames[]). - -
Get Entitlements- cached array ofFUOSEOSEntitlement. - -
Query Offers, returns offers viaOnOffersComplete. - -
Checkout(LocalUser, NamespaceOverride, OfferIds[]) - opens overlay. - -
Redeem Entitlements.
OnCheckoutComplete firing means the overlay closed, not that the user paid. Always re-query entitlements before granting an item.UOSEOSModsSubsystem
Key Blueprint nodes
- -
Enumerate Mods(LocalUser, ModType). - -
Install Mod/Uninstall Mod/Update Mod.
UOSEOSProgressionSnapshotsSubsystem
Lets you snapshot a player's progression at a point in time so the EOS dashboard can render history charts.
Key Blueprint nodes
- -
Begin Snapshot,Add Progression,Submit Snapshot.
UOSEOSSanctionsSubsystem
Read active bans / warnings on a player.
- -
Query Active Player Sanctions->OnQueryCompletewith sanctions array.
UOSEOSReportsSubsystem
- -
Send Player Behavior Report(Reporter, ReportedUser, Category, Message).
UOSEOSMetricsSubsystem
Begin / End Player Session, account-link telemetry. Surface varies between SDK minor versions; UOS exposes a stable subset.
UOSEOSCustomInvitesSubsystem
Free-form invites whose payload is your own string. Useful for game-mode-specific lobby links.
- -
Set Custom Invite(LocalUser, Payload). - -
Send Custom Invite(LocalUser, Targets[]). - -
Finalize Invite(LocalUser, TargetUser, ProcessingResult). - -Events:
OnCustomInviteReceived,OnCustomInviteAccepted,OnCustomInviteRejected.
UOSEOSUISubsystem - Friends overlay
- -
Show Friends/Hide Friends. - -
Set Display Preference.
UOSEOSAntiCheatClientSubsystem
Easy Anti-Cheat client integration. Real shipping requires a signed executable + EAC bootstrapper + per-title config registered with Epic; this subsystem exposes the runtime API surface.
- -
Begin Session(Mode = ClientServer | PeerToPeer). - -
End Session. - -
Poll Status. - -Event:
OnClientIntegrityViolated(ViolationType, Message).
UOSEOSAntiCheatServerSubsystem
Use on dedicated-server builds.
- -
Begin Session(RegisterTimeoutSeconds = 10..120, ServerName, EnableGameplayData). - -
End Session.
UOSEOSKWSSubsystem
Kid Web Services - parental-consent flows. Stubbed surface; titles that need it should extend in C++.
UOSEOSVersionSubsystem
- -
Get Version- SDK version string for diagnostics.