Documentation

Support

Multiplayer

Multiplayer

Session events

Monitor session lifecycle changes by subscribing to these events.
Read time 2 minutesLast updated 12 hours ago

You can use following events to notify you about session lifecycle changes and runtime updates:

Adding session started

This event is invoked when a new session creation request or joining request initiates. The following code demonstrates this event's usage:
void OnAddingSessionStarted(AddingSessionOptions addingSessionOptions) { Debug.Log($"Session of type {addingSessionOptions.Type} is being added.");}// ...MultiplayerServices.Instance.AddingSessionStarted += OnAddingSessionStarted;

Adding session failed

This event is invoked when a new session creation or joining request fails. The following code demonstrates this event's usage:
void OnAddingSessionFailed(AddingSessionOptions addingSessionOptions, SessionException exception) { Debug.Log($"Adding session of type {addingSessionOptions.Type} has failed with exception {exception.Message}.");}// ...MultiplayerServices.Instance.AddingSessionFailed += OnAddingSessionFailed;

Session added

This event is invoked when a new session is created and added to the sessions list. The following code demonstrates this event's usage:
void OnSessionAdded(ISession session) { Debug.Log($"Session {session.Id} has been added to the sessions list.");}// ...MultiplayerServices.Instance.SessionAdded += OnSessionAdded;

Session removed

This event is invoked when a session is removed from the sessions list. The following code demonstrates this event's usage:
void OnSessionRemoved(ISession session) { Debug.Log($"Session {session.Id} has been removed from the sessions list.");}// ...MultiplayerServices.Instance.SessionRemoved += OnSessionRemoved;

Session changed

This event is invoked when the session changes. The following code demonstrates this event's usage:
void OnSessionChanged() { Debug.Log("The session has changed.");}// ...session.Changed += OnSessionChanged;

Session state changed

This event is invoked when the session state changes. The following code demonstrates this event's usage:
void OnSessionStateChanged(SessionState newState) { Debug.Log($"The session state has changed {newState}.");}// ...session.StateChanged += OnSessionStateChanged;

Session properties changed

This event is invoked when session properties change. The following code demonstrates this event's usage:
void OnSessionPropertiesChanged() { Debug.Log("The session properties have changed.");}// ...session.SessionPropertiesChanged += OnSessionPropertiesChanged;

Session deleted

This event is invoked when the session is deleted. The following code demonstrates this event's usage:
void OnSessionDeleted() { Debug.Log("The session has been deleted.");}// ...session.Deleted += OnSessionDeleted;

Session host changed

This event is invoked when the session host has changed. The following code demonstrates this event's usage:
void OnSessionHostChanged(String playerID) { Debug.Log($"{playerID} is the new session host.");}// ...session.SessionHostChanged += OnSessionHostChanged;

Session migrated

This event is invoked when the session finishes migrating hosts. The following code demonstrates this event's usage:
void OnSessionMigrated() { Debug.Log("The session migration finished.");}// ...session.SessionMigrated += OnSessionMigrated;