Interface ILobbyService
Service for Lobbies. Provides user the ability to create, delete, update, and query Lobbies. Includes operations for interacting with given players in a Lobby context.
Namespace: Unity.Services.Lobbies
Assembly: Unity.Services.Lobbies.dll
Syntax
public interface ILobbyService
Methods
CreateLobbyAsync(string, int, CreateLobbyOptions)
Create a Lobby with a given name and specified player limit. Async operation.
Declaration
Task<Lobby> CreateLobbyAsync(string lobbyName, int maxPlayers, CreateLobbyOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
string | lobbyName | Name of new lobby |
int | maxPlayers | Player limit |
CreateLobbyOptions | options | Optional request parameters |
Returns
Type | Description |
---|---|
Task<Lobby> | Lobby data for the lobby that was just created |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | |
InvalidOperationException | |
LobbyServiceException |
CreateOrJoinLobbyAsync(string, string, int, CreateLobbyOptions)
Create or join a Lobby with a given name and ID and specified player limit. Async operation.
Declaration
Task<Lobby> CreateOrJoinLobbyAsync(string lobbyId, string lobbyName, int maxPlayers, CreateLobbyOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
string | lobbyId | ID of the lobby to create/join |
string | lobbyName | Name of the lobby to create/join |
int | maxPlayers | Player limit |
CreateLobbyOptions | options | Optional request parameters |
Returns
Type | Description |
---|---|
Task<Lobby> | Lobby data for the lobby that was just created/joined |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | |
InvalidOperationException | |
LobbyServiceException |
DeleteLobbyAsync(string)
Delete a Lobby by specifying a Lobby ID. Async operation.
Declaration
Task DeleteLobbyAsync(string lobbyId)
Parameters
Type | Name | Description |
---|---|---|
string | lobbyId | ID of the Lobby to delete |
Returns
Type | Description |
---|---|
Task | Awaitable task |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | |
LobbyServiceException |
GetJoinedLobbiesAsync()
Async Operation. Get currently joined lobbies.
Declaration
Task<List<string>> GetJoinedLobbiesAsync()
Returns
Type | Description |
---|---|
Task<List<string>> | List of lobbies the active player has joined |
Exceptions
Type | Condition |
---|---|
LobbyServiceException |
GetLobbyAsync(string)
Retrieve data for a Lobby by specifying a Lobby ID. Async operation.
Declaration
Task<Lobby> GetLobbyAsync(string lobbyId)
Parameters
Type | Name | Description |
---|---|---|
string | lobbyId | ID of the Lobby to retrieve |
Returns
Type | Description |
---|---|
Task<Lobby> | Lobby data |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | |
LobbyServiceException |
JoinLobbyByCodeAsync(string, JoinLobbyByCodeOptions)
Join a Lobby using a given Lobby Invite Code. Async operation.
Declaration
Task<Lobby> JoinLobbyByCodeAsync(string lobbyCode, JoinLobbyByCodeOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
string | lobbyCode | Invite Code for target lobby. |
JoinLobbyByCodeOptions | options | Optional request parameters |
Returns
Type | Description |
---|---|
Task<Lobby> | Lobby data for the lobby joined |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | |
LobbyServiceException |
JoinLobbyByIdAsync(string, JoinLobbyByIdOptions)
Join a Lobby by specifying the Lobby ID. Async operation.
Declaration
Task<Lobby> JoinLobbyByIdAsync(string lobbyId, JoinLobbyByIdOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
string | lobbyId | ID of the Lobby to join |
JoinLobbyByIdOptions | options | Optional request parameters |
Returns
Type | Description |
---|---|
Task<Lobby> | Lobby data for the lobby joined |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | |
LobbyServiceException |
QueryLobbiesAsync(QueryLobbiesOptions)
Query and retrieve a list of lobbies that meet specified query parameters. Async operation.
Declaration
Task<QueryResponse> QueryLobbiesAsync(QueryLobbiesOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
QueryLobbiesOptions | options | Query parameters |
Returns
Type | Description |
---|---|
Task<QueryResponse> | Query response that includes list of Lobbies meeting specified parameters |
Exceptions
Type | Condition |
---|---|
LobbyServiceException |
QuickJoinLobbyAsync(QuickJoinLobbyOptions)
Query available lobbies and join a randomly selected instance. Async operation.
Declaration
Task<Lobby> QuickJoinLobbyAsync(QuickJoinLobbyOptions options = null)
Parameters
Type | Name | Description |
---|---|---|
QuickJoinLobbyOptions | options | Optional parameters (includes queryable arguments) |
Returns
Type | Description |
---|---|
Task<Lobby> | Lobby data for the lobby joined |
Exceptions
Type | Condition |
---|---|
LobbyServiceException |
ReconnectToLobbyAsync(string)
Reconnects to the lobby.
Declaration
Task<Lobby> ReconnectToLobbyAsync(string lobbyId)
Parameters
Type | Name | Description |
---|---|---|
string | lobbyId | The ID of the lobby to reconnect to. |
Returns
Type | Description |
---|---|
Task<Lobby> | The lobby you reconnected to. |
RemovePlayerAsync(string, string)
Remove a player from a specified Lobby. Async operation.
Declaration
Task RemovePlayerAsync(string lobbyId, string playerId)
Parameters
Type | Name | Description |
---|---|---|
string | lobbyId | Target Lobby ID to remove player from |
string | playerId | Player ID to remove |
Returns
Type | Description |
---|---|
Task | Awaitable task |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | |
LobbyServiceException |
SendHeartbeatPingAsync(string)
Send a heartbeat ping to keep the Lobby active. Async operation.
Declaration
Task SendHeartbeatPingAsync(string lobbyId)
Parameters
Type | Name | Description |
---|---|---|
string | lobbyId | ID of the Lobby to ping |
Returns
Type | Description |
---|---|
Task | Awaitable task |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | |
LobbyServiceException |
SubscribeToLobbyEventsAsync(string, LobbyEventCallbacks)
A subscription to the given lobby is created and the given callbacks are associated with it. The return ILobbyEvents interface can be used to unsubscribe and re-subscribe to the connection. The callbacks object provided will be used to provide the notifications from the subscription.
Declaration
Task<ILobbyEvents> SubscribeToLobbyEventsAsync(string lobbyId, LobbyEventCallbacks callbacks)
Parameters
Type | Name | Description |
---|---|---|
string | lobbyId | The ID of the lobby you are subscribing to events for. |
LobbyEventCallbacks | callbacks | The callbacks you provide, which will be called as notifications arrive from the subscription. |
Returns
Type | Description |
---|---|
Task<ILobbyEvents> | An interface to change the callbacks associated with the subscription, or to unsubscribe and re-subscribe to the lobby's events. |
UpdateLobbyAsync(string, UpdateLobbyOptions)
Update the specified Lobby with the given option parameters. Async operation.
Declaration
Task<Lobby> UpdateLobbyAsync(string lobbyId, UpdateLobbyOptions options)
Parameters
Type | Name | Description |
---|---|---|
string | lobbyId | Lobby ID to update |
UpdateLobbyOptions | options | Parameters to update |
Returns
Type | Description |
---|---|
Task<Lobby> | Lobby data of the updated Lobby |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | |
LobbyServiceException |
UpdatePlayerAsync(string, string, UpdatePlayerOptions)
Update player lobby associated data with the given option parameters. Async operation.
Declaration
Task<Lobby> UpdatePlayerAsync(string lobbyId, string playerId, UpdatePlayerOptions options)
Parameters
Type | Name | Description |
---|---|---|
string | lobbyId | |
string | playerId | |
UpdatePlayerOptions | options |
Returns
Type | Description |
---|---|
Task<Lobby> | Lobby data of the updated Lobby |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | |
LobbyServiceException |