The Session Matchmaking sample from EOS SDK demonstrates game session management. It allows users to create sessions, view information about local sessions, modify them, search for sessions, join and invite friends to the current session.
Before You Begin
The sample application uses Epic Account Services to authenticate the local user for demonstration purposes. This requires that the Client Credentials used to initialize the SDK have been assigned to an Application used for Epic Account Services.
The demonstrated SDK functionality can be used with any of the supported identity providers for user authentication.
To start with the sample you'll probably want to create a session. Press the 'Create New Session' button to bring up a new dialog:
Pick a name for your session. Choose a value for the 'Level' attribute in the dropdown list. Choose how many players can be in the session. Choose if you want the session to be joinable after its start (Join In Progress flag). Choose if you want this session to be publicly available (when true other users will be able to find it using search and join; otherwise session will only be available via session invites). Choose if the newly created session is going to be a Presence Session (see next section to know more about it). In case of a presence session, choose if invites should be allowed for the session.
Press the 'Create' button after you are done. The new session will be added to the list of sessions in the main dialog upon successful creation.
You can mark a session as the one associated with "presence" to be used when updating the Social Overlay. This will enable interaction via Social Overlay (e.g. sending invites, joining your friend's session). There can only be one Presence Session at a time for the player. See Social Overlay Page for more info.
In the main dialog, you are able to see the list of local sessions (created, joined or found via search).
The table contains a number of columns with information about the sessions and actions to interact with the sessions.
Session name - is the name of the session. It may not be available in case you join someone else's session (session will be named "JoinedSession" in the latter case).
Players: Current Players / Max Players.
Level: user-created attribute that is specific to this sample. Level name.
Presence: Is this session a Presence Session associated with the Social Overlay?
JIP: Join In Progress flag.
Public - Is this session publicly available to anyone to find via search and join?
Invites: For Presence Session. Are invites allowed?
Start - to start the session;
End - to finish it;
Mod - to modify it with some predefined set of parameters.
You can also use the session list to select a session by clicking on the row with the corresponding session. This can be used after a session search or to invite a friend to your session.
The user is also able to search for sessions by level name. Type in the name of a level in the search field and press Enter. After the search is done you'll be able to see all public sessions with this level. Note that you won't see any ongoing sessions that don't have the 'Join In Progress' flag set. Note that not all information is available for found sessions. Actions are disabled obviously. Clicking a row within the search result initiates join automatically. You can clear search results by pressing the 'Clear search' (button with a cross).
Inviting Friends to a Session
After creating a session you can invite friends to join you. Select your session in the list by clicking the corresponding row. Now find your friend in the 'Friends' dialog on the right and press 'Invite to session'. Session invitation is sent. Your friend will get a popup allowing him to accept the invitation and join your session.
Registering Friends with Session
You can also register friends with a session the same way you invite them. Registered friends will be able to send invites to your session as well.