Synchronize player names in a session
Expose and read player display names as session player properties so all players can view each other's names.
Read time 1 minuteLast updated 5 months ago
When a player is authenticated through the Authentication service, you can write the player's name into the session as a player property, and update it during the session lifecycle.
You can achieve this functionality using the following two extension methods:
- to enable synchronization on session creation and join.
WithPlayerName(VisibilityPropertyOptions visibility) - to read the name from any session player.
GetPlayerName()
Enable player name sync in session options
Use to synchronize the player's authenticated name into the session with a chosen visibility.
The following example demonstrates how to enable player-name synchronization on session creation:
WithPlayerNamevar myPlayerName = "CustomName";await UnityServices.InitializeAsync();await AuthenticationService.Instance.SignInAnonymouslyAsync();await AuthenticationService.Instance.UpdatePlayerNameAsync(myPlayerName);// Configure your session and enable name sync (member visibility makes it readable by other members)var sessionOptions = new SessionOptions{ MaxPlayers = 4, Type = "Session"}.WithPlayerName(VisibilityPropertyOptions.Member);
Read player names from the session
Use to retrieve the synchronized name from any player’s properties.
GetPlayerName// Read your own player name (from the local session player)string myName = session.CurrentPlayer.GetPlayerName();// Read other players’ namesforeach (var player in session.Players){ var name = player.GetPlayerName() ?? $"Player {player.Id}"; UnityEngine.Debug.Log($"Player {player.Id} name: {name}");}
If a name isn’t available for any reason, returns . For example, a name might be unavailable because the player hasn’t set a name, or the property isn't visible.
GetPlayerName()nullThe player must be signed in and have a player name available via the Authentication service. Synchronization occurs while the session is connected. Updates made while disconnected won’t propagate until reconnected.