Documentation

Support

Multiplayer

Multiplayer

The Session Observer

Track events related to session creation using the SessionObserver class.
Read time 1 minuteLast updated 12 hours ago

You can use the
SessionObserver
class to track events related to an
ISession
of a specific
ISession.Type
. Use this class to get events when a session is created, is pending creation, or has failed to be created for a specific session type. It's possible to create an instance of this class independently of the
UnityServices
initialization, allowing independent systems in a project to track session-related events without handling the
Unity Services
and
MultiplayerService
states themselves.
The following code demonstrates this class's usage:
void OnAddingSessionStarted(AddingSessionOptions addingSessionOptions) { Debug.Log($"A session of type {addingSessionOptions.Type} is being added.");}void OnSessionAdded(ISession session) { Debug.Log($"A session of type {session.Type} has been added.");}void OnAddingSessionFailed(AddingSessionOptions addingSessionOptions, SessionException exception) { Debug.Log($"The addition of a session of type {addingSessionOptions.Type} has failed with message {exception.Message}.");}// ...async Task CreateSession() { async using (var sessionObserver = new SessionObserver("my-session-type")) { sessionObserver.AddingSessionStarted += OnAddingSessionStarted; sessionObserver.SessionAdded += OnSessionAdded; sessionObserver.AddingSessionFailed += OnAddingSessionFailed; var sessionOptions = new Sessionoptions(){ Type = "my-session-type" }.WithRelayNetwork(); await Multiplayer.Instance.CreateSessionAsync(sessionOptions); }}