Interface IHostSession
A host's mutable handle on a session.
Inherited Members
Namespace: Unity.Services.Multiplayer
Syntax
public interface IHostSession : ISession
Properties
Host
Session host player ID.
Declaration
string Host { get; set; }
Property Value
Type | Description |
---|---|
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
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. |
IsLocked
Whether the session is locked
Declaration
bool IsLocked { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsPrivate
Whether the session is private
Declaration
bool IsPrivate { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
Name
The Name of the session.
Declaration
string Name { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Password
The password used to connect to the Session.
Declaration
string Password { set; }
Property Value
Type | Description |
---|---|
System.String |
Players
The list of players in the session
Declaration
IReadOnlyList<IPlayer> Players { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IReadOnlyList<IPlayer> |
Methods
DeleteAsync()
Delete the session.
Declaration
Task DeleteAsync()
Returns
Type | Description |
---|---|
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
Type | Name | Description |
---|---|---|
System.String | playerId | Identifier for the player to remove. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task | A task for the operation. |
SavePlayerDataAsync(String)
Save the PlayerProperty of a IPlayer.
Declaration
Task SavePlayerDataAsync(string playerId)
Parameters
Type | Name | Description |
---|---|---|
System.String | playerId | The ID of the IPlayer whose data will be saved. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task | A System.Threading.Tasks.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
SavePropertiesAsync()
Saves the SessionProperty of the session.
Declaration
Task SavePropertiesAsync()
Returns
Type | Description |
---|---|
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
Type | Name | Description |
---|---|---|
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
Type | Name | Description |
---|---|---|
System.String | key | The SessionProperty's key to bet set on the session. |
SessionProperty | property | 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();