Interface IHostSession
A host's mutable handle on a session.
Inherited Members
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
IsLocked
Whether the session is locked
Declaration
bool IsLocked { get; set; }
Property Value
Type | Description |
---|---|
bool |
See Also
IsPrivate
Whether the session is private
Declaration
bool IsPrivate { get; set; }
Property Value
Type | Description |
---|---|
bool |
See Also
Name
The Name of the session.
Declaration
string Name { get; set; }
Property Value
Type | Description |
---|---|
string |
See Also
Network
Retrieve the host network handle
Declaration
IHostSessionNetwork Network { get; }
Property Value
Type | Description |
---|---|
IHostSessionNetwork |
See Also
Password
The password used to connect to the Session.
Declaration
string Password { set; }
Property Value
Type | Description |
---|---|
string |
See Also
Players
The list of players in the session
Declaration
IReadOnlyList<IPlayer> Players { get; }
Property Value
Type | Description |
---|---|
IReadOnlyList<IPlayer> |
See Also
Methods
DeleteAsync()
Delete the session.
Declaration
Task DeleteAsync()
Returns
Type | Description |
---|---|
Task | A Task representing the asynchronous operation. |
See Also
GetHostMigrationDataAsync(TimeSpan)
Get the host migration data from the session.
Declaration
Task<SessionMigrationData> GetHostMigrationDataAsync(TimeSpan timeout)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | timeout | The timeout for the request. |
Returns
Type | Description |
---|---|
Task<SessionMigrationData> | Task for SessionMigrationData. SessionMigrationData null if not present./> |
Remarks
This task is not cancellable; use timeout parameter to limit execution time.
Exceptions
Type | Condition |
---|---|
SessionException | Thrown when a session related error occurs.
The Error property reflects the error. Possible errors include: |
See Also
GetPlayer(string)
Retrieves information about a session member player by their
playerId
.
Declaration
IPlayer GetPlayer(string playerId)
Parameters
Type | Name | Description |
---|---|---|
string | playerId | The ID of the player to retrieve. |
Returns
Type | Description |
---|---|
IPlayer | The IPlayer instance if found; otherwise, |
See Also
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
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
SavePropertiesAsync()
Saves the properties of the session.
Declaration
Task SavePropertiesAsync()
Returns
Type | Description |
---|---|
Task | A Task for the operation. |
See Also
SetHostMigrationDataAsync(byte[], TimeSpan)
Set the host migration data on the session.
Declaration
Task SetHostMigrationDataAsync(byte[] data, TimeSpan timeout)
Parameters
Type | Name | Description |
---|---|---|
byte[] | data | The host migration data byte array to set. |
TimeSpan | timeout | The timeout for the request. |
Returns
Type | Description |
---|---|
Task | A task for the operation. |
Remarks
This task is not cancellable; use timeout parameter to limit execution time.
Exceptions
Type | Condition |
---|---|
SessionException | Thrown when a session related error occurs.
The Error property reflect the error. Possible errors include: |
ArgumentOutOfRangeException | Thrown when the |
See Also
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)
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();