Initial Setup (5 Minutes)
First, you need to get the Lobby Manager set up in your game.Step 1: Configure in Dashboard
Before you write any code, set up a lobby configuration in your PlayFlow project dashboard.- Go to your project’s Configuration → Lobbies tab.
- Create a new lobby configuration (e.g., “Default” or “Ranked”).
- Select the game server build and instance type this lobby will use.
- Save your configuration.
Step 2: Initialize the SDK
To use the lobby system, you must initialize it with a unique ID for the current player.Add the
PlayFlowLobbyManagerV2
component to a GameObject in your scene. Then, in a script, call the Initialize
method.Basic Lobby Actions
Once the SDK is initialized, you can start performing lobby actions.Creating a Lobby
To create a new lobby, specify a name, the max number of players, and whether it’s private.Joining a Lobby
Players can join a public lobby by its ID or a private one with an invite code.Listing Public Lobbies
To build a server browser, you can fetch a list of all available public lobbies.Managing the Match
Starting a Match
When everyone is ready, the host can start the match. This will begin the process of launching a dedicated server.Connecting to the Server
After a match is started, all players in the lobby need to listen for theOnMatchRunning
event. This event provides the IP address and port needed to connect to the game server.
Syncing Player Data
UseUpdatePlayerState
to sync custom data for the local player, like their ready status or character choice. This data is automatically sent to all other players in the lobby.
lobbyStateRealTime
dictionary from the CurrentLobby
object.
Host-Only Actions
Only the host of a lobby can perform sensitive actions.- Updating another Player’s Data:
UpdateStateForPlayer(targetPlayerId, data)
- Kicking a Player:
KickPlayer(playerId)
- Updating Lobby Settings:
UpdateLobby(...)
- Transferring Host:
TransferHost(newHostId)