How to Integrate EOS Kit with PlayFab in Unreal Engine
If you’re building a multiplayer game in Unreal Engine and using both Epic Online Services (EOS) and PlayFab, it’s useful to understand how the two systems can work together.
EOS can be used for online authentication, sessions, lobbies, friends, presence, and other multiplayer services, while PlayFab can handle persistent player data, statistics, inventory, economy, progression, and backend functionality.
A typical architecture can look like:
Unreal Engine
|
EOS Kit
|
EOS Services
|
Authentication / Sessions / Lobbies
|
+-------- PlayFab --------+
|
Player Data / Stats
Inventory / Economy
Progression / Backend
The important part is maintaining a consistent player identity between EOS and PlayFab.
A basic login flow can be:
Game Launch
↓
Initialize EOS
↓
EOS Login
↓
Get Player Identity
↓
PlayFab Authentication
↓
Open Main Menu
Once the player is authenticated, EOS can handle the multiplayer session while PlayFab can be used to store persistent information such as XP, inventory, currency, statistics, and progression.
For example:
EOS
├── Authentication
├── Sessions
├── Lobbies
├── Friends
└── Presence
PlayFab
├── Player Data
├── Inventory
├── Currency
├── Statistics
└── Progression
One thing to avoid is creating completely independent authentication flows that result in multiple accounts being created for the same player. The identity mapping between the two services should be planned from the beginning.
For developers looking for a Blueprint-friendly way to work with EOS in Unreal Engine, I’ve been using EOS Kit, which provides access to EOS functionality without having to build the integration from scratch.
I’ve also put together a more detailed step-by-step guide covering the complete integration:
Hopefully this helps anyone working on an Unreal Engine multiplayer project with EOS and PlayFab.