EIK (Epic Online Services Integration Kit) is a plugin that enables seamless integration between Epic Online Services (EOS) and Unreal Engine. The plugin provides access to the EOS SDK (Software Development Kit) within Unreal Engine, allowing developers to easily implement features such as matchmaking, achievements, leaderboards, and more.
This pull request introduces several enhancements to EIK with a focus on improving the handling of rich presence and presence states, as well as some modifications to the eik_subsystem. The key features include:
Custom Rich Presence in Session Creation:
Added the ability to set a custom rich presence when creating an EIK session using the "CreateEIKSession" function.
Custom Rich Presence in Lobby Creation:
Implemented the option to set a custom rich presence when creating an EIK lobby through the "CreateEIKLobby" function.
Custom Rich Presence in Session Joining:
Extended functionality to allow setting a custom rich presence when joining an existing EIK session using the "JoinEIKSession" function.
New SetEOSPresence Function:
Introduced a new function, "SetEOSPresence," which provides the flexibility to change the user's presence state (Online, Offline, Away, ExtendedAway, and DoNotDisturb). Additionally, this function allows for the modification of the rich presence state.
Enhanced Session Invite Handling:
Rewrote the "OnSessionUserInviteAccepted" function to ensure a seamless transition for a player who is currently in a session. If a player accepts an invite while already in a session, they will now automatically leave the current session and join the invited session. Furthermore, the presence is updated after accepting the invite. (For some reason un-registering and destroying previous session only works with matchmaking sessions, not with lobbies. I will investigate further and see if I can find a suitable solution for this. But accepting an invite to join a lobby while the user currently isn't in a lobby still works like before, it only goes wrong if both the user accepting and sending the invite are in a different lobby.)
This pull request introduces several enhancements to EIK with a focus on improving the handling of rich presence and presence states, as well as some modifications to the eik_subsystem. The key features include:
Custom Rich Presence in Session Creation:
Custom Rich Presence in Lobby Creation:
Custom Rich Presence in Session Joining:
New SetEOSPresence Function:
Enhanced Session Invite Handling: