Documentation

​
​

Development

User Acquisition

Monetization

Industry

Multiplayer Services SDK

All Services

Multiplayer Services SDK

Multiplayer
​
​
Multiplayer Services SDK
  • Overview
  • Get started
  • Use multiplayer sessions
  • Manage sessions
  • Connect players through a relay
  • Networking
  • Matchmaking
  • Monitor and debug sessions
    • Network connection management
    • Sessions observability
      • Session Viewer
      • Session Observer
      • Session events
      • Session player events
      • Matchmaker session observability
    • Verbose logging in multiplayer games
  • Tutorials
  • Reference
  1. Multiplayer Services SDK

Session events

Monitor session lifecycle changes by subscribing to these events.
Read time 2 minutes
Last updated 9 months 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;

Copyright © 2026 Unity Technologies
LegalPrivacy PolicyCookiesDocumentation Terms of UseDo Not Sell or Share My Personal InformationYour Privacy Choices (Cookie Settings)

"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S and elsewhere (more info here). Other names or brands are trademarks of their respective owners.

Some pages are machine-translated for convenience, and may contain inaccuracies. In the event of conflicting information, the English version is authoritative.

  • On this page
    • 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


Report a problem with this page