docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Interface ISession

    An interface that can be used by a client to access the information of a session.

    Namespace: Unity.Services.Multiplayer
    Assembly: Unity.Services.Multiplayer.dll
    Syntax
    public interface ISession

    Properties

    AvailableSlots

    Available slots in the session

    Declaration
    int AvailableSlots { get; }
    Property Value
    Type Description
    int

    Code

    The join code of the session.

    Declaration
    string Code { get; }
    Property Value
    Type Description
    string
    Remarks

    Prefer this to ID when player-visible strings are needed. Unlike IDs, join codes are much shorter to type and avoid visually ambiguous characters.

    CurrentPlayer

    The current player in the session.

    Declaration
    IPlayer CurrentPlayer { get; }
    Property Value
    Type Description
    IPlayer

    HasPassword

    True if the session has a password, false otherwise

    Declaration
    bool HasPassword { get; }
    Property Value
    Type Description
    bool

    Host

    PlayerID of the session host.

    Declaration
    string Host { get; }
    Property Value
    Type Description
    string

    Id

    The ID of the session.

    Declaration
    string Id { get; }
    Property Value
    Type Description
    string
    Remarks

    Unique within a project and environment. Sessions can be joined by Id.

    See Also
    JoinByIdAsync(string, JoinSessionOptions)

    IsHost

    Whether the current player is the host of the session.

    Declaration
    bool IsHost { get; }
    Property Value
    Type Description
    bool

    IsLocked

    Whether the session is locked.

    Declaration
    bool IsLocked { get; }
    Property Value
    Type Description
    bool
    Remarks

    Locked sessions cannot be joined by anyone.

    See Also
    IsLocked

    IsPrivate

    Whether the session is private.

    Declaration
    bool IsPrivate { get; }
    Property Value
    Type Description
    bool
    Remarks

    Private sessions or not visible in queries and cannot be joined with quick-join. They can still be joined by ID or by Code.

    See Also
    IsPrivate

    MaxPlayers

    The total number of players allowed in the session, including the host.

    Declaration
    int MaxPlayers { get; }
    Property Value
    Type Description
    int
    See Also
    MaxPlayers

    Name

    The Name of the session.

    Declaration
    string Name { get; }
    Property Value
    Type Description
    string
    Remarks

    Does not have to be unique. Sessions can be filtered by name in a query.

    See Also
    Name
    QuerySessionsOptions

    PlayerCount

    The player count of the session

    Declaration
    int PlayerCount { get; }
    Property Value
    Type Description
    int

    Players

    The list of players in the session

    Declaration
    IReadOnlyList<IReadOnlyPlayer> Players { get; }
    Property Value
    Type Description
    IReadOnlyList<IReadOnlyPlayer>

    Properties

    The properties of the session.

    Declaration
    IReadOnlyDictionary<string, SessionProperty> Properties { get; }
    Property Value
    Type Description
    IReadOnlyDictionary<string, SessionProperty>

    State

    The current state of the session.

    Declaration
    SessionState State { get; }
    Property Value
    Type Description
    SessionState

    Type

    The type is a client-side key used to uniquely identify a session.

    Declaration
    string Type { get; }
    Property Value
    Type Description
    string

    Methods

    AsHost()

    Returns a read-write handle to the session with host privileges.

    Declaration
    IHostSession AsHost()
    Returns
    Type Description
    IHostSession

    A session with higher privileges.

    Exceptions
    Type Condition
    SessionException

    Throws a Forbidden error when the caller is not the host.

    LeaveAsync()

    Leaves the session.

    Declaration
    Task LeaveAsync()
    Returns
    Type Description
    Task

    A task for the operation.

    Exceptions
    Type Condition
    SessionException

    Thrown when called by a non-session-member. The Error property will be set to InvalidOperation.

    ReconnectAsync()

    Reconnects to the session.

    Declaration
    Task ReconnectAsync()
    Returns
    Type Description
    Task

    A task for the operation.

    Remarks

    Reconnecting is necessary when a player has momentarily disconnected from the network but didn't gracefully leave the session.

    Exceptions
    Type Condition
    SessionException

    Throws a SessionDeleted error when the session is already deleted.

    RefreshAsync()

    Refreshes the session data.

    Declaration
    Task RefreshAsync()
    Returns
    Type Description
    Task

    A task for the operation.

    Exceptions
    Type Condition
    SessionException

    Throws a SessionDeleted error when the session is already deleted.

    SaveCurrentPlayerDataAsync()

    Save changes to the current player.

    Declaration
    Task SaveCurrentPlayerDataAsync()
    Returns
    Type Description
    Task

    A Task representing the asynchronous operation.

    Events

    Changed

    Event that is invoked when the session changes.

    Declaration
    event Action Changed
    Event Type
    Type Description
    Action

    Deleted

    Event that is invoked when the session is deleted.

    Declaration
    event Action Deleted
    Event Type
    Type Description
    Action

    PlayerJoined

    Event that is invoked when a player joins the session.

    Declaration
    event Action<string> PlayerJoined
    Event Type
    Type Description
    Action<string>
    Remarks

    The string parameter represents the ID of the player who joined.

    PlayerLeft

    Event that is invoked when a player leaves the session.

    Declaration
    event Action<string> PlayerLeft
    Event Type
    Type Description
    Action<string>
    Remarks

    The string parameter represents the ID of the player who left.

    PlayerPropertiesChanged

    Event that is invoked when player properties are changed.

    Declaration
    event Action PlayerPropertiesChanged
    Event Type
    Type Description
    Action

    RemovedFromSession

    Event that is invoked when the current player is removed from the session.

    Declaration
    event Action RemovedFromSession
    Event Type
    Type Description
    Action

    SessionPropertiesChanged

    Event that is invoked when session properties are changed.

    Declaration
    event Action SessionPropertiesChanged
    Event Type
    Type Description
    Action

    StateChanged

    Event that is invoked when the session state changes.

    Declaration
    event Action<SessionState> StateChanged
    Event Type
    Type Description
    Action<SessionState>
    Remarks

    The SessionState parameter represents the new state of the session.

    Extension Methods

    MatchmakerExtensions.GetMatchmakingResults(ISession)

    Did you find this page useful? Please give it a rating:

    Thanks for rating this page!

    Report a problem on this page

    What kind of problem would you like to report?

    • This page needs code samples
    • Code samples do not work
    • Information is missing
    • Information is incorrect
    • Information is unclear or confusing
    • There is a spelling/grammar error on this page
    • Something else

    Thanks for letting us know! This page has been marked for review based on your feedback.

    If you have time, you can provide more information to help us fix the problem faster.

    Provide more information

    You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:

    You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:

    You've told us there is information missing from this page. Please tell us more about what's missing:

    You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:

    You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:

    You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:

    You've told us this page has a problem. Please tell us more about what's wrong:

    Thank you for helping to make the Unity documentation better!

    Your feedback has been submitted as a ticket for our documentation team to review.

    We are not able to reply to every ticket submitted.

    In This Article
    • Properties
      • AvailableSlots
      • Code
      • CurrentPlayer
      • HasPassword
      • Host
      • Id
      • IsHost
      • IsLocked
      • IsPrivate
      • MaxPlayers
      • Name
      • PlayerCount
      • Players
      • Properties
      • State
      • Type
    • Methods
      • AsHost()
      • LeaveAsync()
      • ReconnectAsync()
      • RefreshAsync()
      • SaveCurrentPlayerDataAsync()
    • Events
      • Changed
      • Deleted
      • PlayerJoined
      • PlayerLeft
      • PlayerPropertiesChanged
      • RemovedFromSession
      • SessionPropertiesChanged
      • StateChanged
    • Extension Methods
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)