v1.1.4
Latest
2022.3+

Interface IHostSession

A host's mutable handle on a session.

Namespace: Unity.Services.Multiplayer
Syntax
public interface IHostSession : ISession

Properties

Host

Session host player ID.

Declaration
string Host { get; set; }
Property Value
TypeDescription
System.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
TypeCondition
SessionException

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

IsLocked

Whether the session is locked

Declaration
bool IsLocked { get; set; }
Property Value
TypeDescription
System.Boolean

IsPrivate

Whether the session is private

Declaration
bool IsPrivate { get; set; }
Property Value
TypeDescription
System.Boolean

Name

The Name of the session.

Declaration
string Name { get; set; }
Property Value
TypeDescription
System.String

Password

The password used to connect to the Session.

Declaration
string Password { set; }
Property Value
TypeDescription
System.String

Players

The list of players in the session

Declaration
IReadOnlyList<IPlayer> Players { get; }
Property Value
TypeDescription
System.Collections.Generic.IReadOnlyList<IPlayer>

Methods

DeleteAsync()

Delete the session.

Declaration
Task DeleteAsync()
Returns
TypeDescription
System.Threading.Tasks.Task

A System.Threading.Tasks.Task representing the asynchronous operation.

RemovePlayerAsync(String)

Removes a player from the session.

Declaration
Task RemovePlayerAsync(string playerId)
Parameters
TypeNameDescription
System.StringplayerId

Identifier for the player to remove.

Returns
TypeDescription
System.Threading.Tasks.Task

A task for the operation.

SavePlayerDataAsync(String)

Save the PlayerProperty of a IPlayer.

Declaration
Task SavePlayerDataAsync(string playerId)
Parameters
TypeNameDescription
System.StringplayerId

The ID of the IPlayer whose data will be saved.

Returns
TypeDescription
System.Threading.Tasks.Task

A System.Threading.Tasks.Task representing the asynchronous operation.

Exceptions
TypeCondition
SessionException

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

See Also

SavePropertiesAsync()

Saves the SessionProperty of the session.

Declaration
Task SavePropertiesAsync()
Returns
TypeDescription
System.Threading.Tasks.Task

A System.Threading.Tasks.Task for the operation.

See Also

SetProperties(Dictionary<String, SessionProperty>)

Set SessionProperty.

Declaration
void SetProperties(Dictionary<string, SessionProperty> properties)
Parameters
TypeNameDescription
System.Collections.Generic.Dictionary<System.String, SessionProperty>properties

The SessionProperty to be set on the session.

See Also

SetProperty(String, SessionProperty)

Set a SessionProperty.

Declaration
void SetProperty(string key, SessionProperty property)
Parameters
TypeNameDescription
System.Stringkey

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

SessionPropertyproperty

The SessionProperty'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();

Extension Methods

See Also