Repository navigation
Platform
Jakub Hubacek edited this page Oct 1, 2025
·
4 revisions
Location:
godot_epic_extension/src/Platform
The Platform subsystem is responsible for EOS SDK initialization, platform creation, tick integration and shutdown. This is the foundational subsystem that all other subsystems depend on for Epic Online Services functionality.
| Function | Description |
|---|---|
InitializePlatform(options) |
Initializes EOS SDK and creates an EOS platform handle. Keeps temporary CharString objects alive for pointer lifetime. Performs basic validation of required options |
IsOnline() |
Returns true if platform initialized and online |
SetLogLevel(level) |
Maps integer levels to EOS log levels and calls EOS_Logging_SetLogLevel |
-
Initialization Behavior:
InitializePlatform()will callEOS_InitializeandEOS_Platform_Createand willEOS_Shutdown()if platform creation fails — ensure host app handles failures gracefully
Mapping of core EOS platform functions to implementation status:
| EOS Function | Status | Notes |
|---|---|---|
EOS_Initialize |
✅ Yes | Called in PlatformSubsystem::InitializePlatform() to initialize the EOS SDK |
EOS_Shutdown |
✅ Yes | Called in PlatformSubsystem::Shutdown()
|
EOS_Platform_Create |
✅ Yes | Used to create the platform instance with provided options |
EOS_Platform_Release |
✅ Yes | Called in Shutdown() to release the platform handle |
EOS_Platform_Tick |
✅ Yes | Called in Tick() to advance the EOS platform |
EOS_Platform_GetAuthInterface |
✅ Yes | Used by subsystems to access auth APIs |
EOS_Platform_GetConnectInterface |
✅ Yes | Used by Authentication subsystem |
EOS_Platform_GetAchievementsInterface |
✅ Yes | Used by Achievements subsystem |
EOS_Platform_GetLeaderboardsInterface |
✅ Yes | Used by Leaderboards subsystem |
EOS_Platform_GetFriendsInterface |
✅ Yes | Used by Friends subsystem |
EOS_Platform_GetUserInfoInterface |
✅ Yes | Used by UserInfo subsystem |
EOS_Platform_GetStatsInterface |
✅ Yes | Used by Achievements subsystem for stats |
EOS_Logging_SetLogLevel |
✅ Yes | Used by SetLogLevel() mapping |