Introduction
Overview
EOS Leaderboard is an Unreal Engine plugin that gives you a clean, Blueprint-first integration of Epic Online Services (EOS) Leaderboards — without writing any C++ or dealing with the raw EOS SDK.
It handles the full flow:
- EOS initialization (auto-detect OnlineSubsystemEOS or create its own handle)
- Epic Account authentication (Auth Login with persistent token, fallback support)
- Product User identity (Connect Login required by EOS for game services)
- Leaderboard discovery (fetch all configured leaderboard definitions)
- Rank queries (full leaderboard or filtered rank range)
- Stat ingestion (update the stat that drives your leaderboard automatically)
Requirements
| Engine version | UE 5.4 and above |
| Platforms | Windows, Mac (Editor & Standalone) |
| EOS Account | Epic Developer Portal project with Stats & Leaderboards configured |
Plugin Architecture
The plugin is split into two modules:
| Module | Role |
|---|---|
EOSCoreLeaderboard | Core subsystem — EOS init, Auth Login, Connect Login, identity |
EOSLeaderBoard | Leaderboard-specific nodes — Get List, Query, Query Range, Ingest Stat |
The central object is UEOSCoreLeaderboardSubsystem, a GameInstanceSubsystem that lives for the entire game session and holds the EOS platform handle, the Epic Account ID, and the Product User ID.
Blueprint Flow (Overview)
InitializeEOS
│
▼
EOS Auth Login (Epic Account)
│ OnSuccess
▼
EOS Connect Login (ProductUserId) ← auto-handled internally
│ OnSuccess
▼
EOS Get Leaderboard List ────────────────► Pick a LeaderboardId
│ OnSuccess
▼
EOS Query Leaderboard ───────────────────► Display full rank list in UI
│ OR
EOS Query Leaderboard Range ─────────────► Display Top 10, ranks 5–15, etc.
│
▼
EOS Ingest Stat (Leaderboard) ───────────► On game event (match end, score, etc.)
Each step is an async Blueprint node — no manual callback wiring required.
Auto-login: All leaderboard nodes detect a missing Product User ID and trigger Connect Login automatically. In most cases you only need to call Auth Login once, then use the leaderboard nodes directly.
What This Plugin Solves
The raw EOS SDK requires:
- Manual
EOS_Initialize/EOS_Platform_Createcalls - Two separate login steps (Auth + Connect) with error handling
- Calling
QueryLeaderboardDefinitionsbefore any rank query - Manually iterating
CopyLeaderboardRecordByIndexto read results - Converting
EOS_ProductUserIdto strings for display - Managing SDK memory (
EOS_Leaderboards_LeaderboardRecord_Release)
EOS Leaderboard abstracts all of this. You get clean async nodes that just work.
Dependencies
The following Unreal Engine plugins must be enabled in your .uproject:
OnlineSubsystemOnlineSubsystemUtils
OnlineSubsystemEOSis optional — if active, the plugin borrows its EOS handle automatically. If not, the plugin creates its own fromDefaultEngine.ini.
Recommended Reading Order
- Setup — configure your EOS credentials, Stats, and Leaderboards in the Dev Portal
- Functions — reference for every Blueprint node
- Example Project — a step-by-step integration walkthrough
Need Help?
Join the community Discord:
When asking for support, include:
- Unreal Engine version
- Plugin version
- Your platform (Editor / Windows / etc.)
- Logs or screenshots of the issue