docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Interface IHostSession

    A host's mutable handle on a session.

    Inherited Members
    ISession.Changed
    ISession.StateChanged
    ISession.PlayerJoined
    ISession.PlayerLeft
    ISession.PlayerLeaving
    ISession.PlayerHasLeft
    ISession.SessionPropertiesChanged
    ISession.PlayerPropertiesChanged
    ISession.RemovedFromSession
    ISession.Deleted
    ISession.SessionHostChanged
    ISession.Type
    ISession.Id
    ISession.Code
    ISession.IsHost
    ISession.HasPassword
    ISession.AvailableSlots
    ISession.MaxPlayers
    ISession.PlayerCount
    ISession.Properties
    ISession.State
    ISession.CurrentPlayer
    ISession.SaveCurrentPlayerDataAsync()
    ISession.LeaveAsync()
    ISession.RefreshAsync()
    ISession.ReconnectAsync()
    ISession.AsHost()
    Namespace: Unity.Services.Multiplayer
    Assembly: Unity.Services.Multiplayer.dll
    Syntax
    public interface IHostSession : ISession

    Properties

    Host

    Session host player ID.

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

    Can be changed to the ID of any player that is already a member of the session. Host migration is NOT supported on Multiplay Game Server Hosting server builds.

    Exceptions
    Type Condition
    SessionException

    Thrown when attempting to change the value on a Multiplay Game Server Hosting server build. The Error property will be set to InvalidPlatformOperation.

    See Also
    AsHost()

    IsLocked

    Whether the session is locked

    Declaration
    bool IsLocked { get; set; }
    Property Value
    Type Description
    bool
    See Also
    AsHost()

    IsPrivate

    Whether the session is private

    Declaration
    bool IsPrivate { get; set; }
    Property Value
    Type Description
    bool
    See Also
    AsHost()

    Name

    The Name of the session.

    Declaration
    string Name { get; set; }
    Property Value
    Type Description
    string
    See Also
    AsHost()

    Password

    The password used to connect to the Session.

    Declaration
    string Password { set; }
    Property Value
    Type Description
    string
    See Also
    AsHost()

    Players

    The list of players in the session

    Declaration
    IReadOnlyList<IPlayer> Players { get; }
    Property Value
    Type Description
    IReadOnlyList<IPlayer>
    See Also
    AsHost()

    Methods

    DeleteAsync()

    Delete the session.

    Declaration
    Task DeleteAsync()
    Returns
    Type Description
    Task

    A Task representing the asynchronous operation.

    See Also
    AsHost()

    RemovePlayerAsync(string)

    Removes a player from the session.

    Declaration
    Task RemovePlayerAsync(string playerId)
    Parameters
    Type Name Description
    string playerId

    Identifier for the player to remove.

    Returns
    Type Description
    Task

    A task for the operation.

    See Also
    AsHost()

    SavePlayerDataAsync(string)

    Save the properties of a player.

    Declaration
    Task SavePlayerDataAsync(string playerId)
    Parameters
    Type Name Description
    string playerId

    The ID of the player whose data will be saved.

    Returns
    Type Description
    Task

    A Task representing the asynchronous operation.

    Exceptions
    Type Condition
    SessionException

    Thrown when the player is not found. The Error property will be set to InvalidOperation.

    See Also
    SetProperty(string, PlayerProperty)
    SetProperties(Dictionary<string, PlayerProperty>)

    SavePropertiesAsync()

    Saves the properties of the session.

    Declaration
    Task SavePropertiesAsync()
    Returns
    Type Description
    Task

    A Task for the operation.

    See Also
    SetProperty(string, SessionProperty)
    SetProperties(Dictionary<string, SessionProperty>)

    SetProperties(Dictionary<string, SessionProperty>)

    Set properties.

    Declaration
    void SetProperties(Dictionary<string, SessionProperty> properties)
    Parameters
    Type Name Description
    Dictionary<string, SessionProperty> properties

    The properties to be set on the session.

    See Also
    SetProperty(string, SessionProperty)

    SetProperty(string, SessionProperty)

    Set a SessionProperty.

    Declaration
    void SetProperty(string key, SessionProperty property)
    Parameters
    Type Name Description
    string key

    The property's key to bet set on the session.

    SessionProperty property

    The property's value.

    Remarks

    To remove an existing property, pass null to the property argument.
    To set the value of the property to null, pass a SessionProperty with its Value set to null.

    Examples

    To add a colour property

    var redColourProperty = new SessionProperty("red", VisibilityOptions.Public);
        myHostSession.SetProperty("colour", redColourProperty);
        await myHostSession.SavePropertiesAsync();

    To update the colour property to null

    var nullSessionProperty = new SessionProperty(null, VisibilityOptions.Public);
        myHostSession.SetProperty("colour", nullSessionProperty);
        await myHostSession.SavePropertiesAsync();

    To remove the colour property

    myHostSession.SetProperty("colour", null);
        await myHostSession.SavePropertiesAsync();
    See Also
    AsHost()

    Extension Methods

    MatchmakerExtensions.GetMatchmakingResults(ISession)

    See Also

    AsHost()
    In This Article
    Back to top
    Copyright © 2025 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)