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
- Adding session failed
- Session added
- Session removed
- Session changed
- Session state changed
- Session properties changed
- Session deleted
- Session host changed
- Session migrated
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;