Hello guys.
We’re in the process of implementing “Sending Session invite to friends” functionalities using the AdvancedSessions / Advanced Steam Friends plugins.
For the most part, it seems really intuitive on how to get the dispatchers working. However, there is one case we have no idea how to handle.
When user A opens the [whichever Subsystem you’re using]'s invite overlay, and sends an invite to a friend who doesn’t currently have their game opened, then, user B clicks the “Play” button, and their Application gets started.
Is it actually possible to pass our “pseudo session ID” or the actual session ID through command line arguments when sending the invites?
What I’ve thought was:
- User A sends an invite. The invite has the “session id” stored somewhere
- User B, with the game/application closed, accepts the invite by clicking “play”
- The game’s executable starts with the session ID as a command line argument
- User B’s GameInstance or whichever object/actor would handle this, checks if this “session ID” argument is not empty
- If it’s not, he auto-joins the session (by using auto-login, then join session/lobby…)
Is this automatically done by Unreal / The subsystem’s API when User B clicks “Play”, or is it something we’ll have to manually implement?
I was actually wondering if, when user B’s application starts, the “On Session Invite Accepted” event (in GameInstance) would be automatically called with said Session ID.
Has anyone ever gone through a similar experience and was able to solve it?
Thanks in advance!