文档

​
​

Development

User Acquisition

Monetization

工业

Multiplayer Services SDK

All Services

Multiplayer Services SDK

此页面不支持所选语言。
Multiplayer
​
​
Multiplayer Services SDK
  • Overview
  • Get started
  • Use multiplayer sessions
  • Manage sessions
    • Lobby events
    • Rate limits
    • Information management in sessions
    • Synchronize player names in a session
    • Access control
    • Session error messages
  • Connect players through a relay
  • Networking
  • Matchmaking
  • Monitor and debug sessions
  • Tutorials
  • Reference
  1. Multiplayer Services SDK

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.
阅读时间2 分钟
最后更新于 6 个月前

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:
  • WithPlayerName(VisibilityPropertyOptions visibility)
    to enable synchronization on session creation and join.
  • GetPlayerName()
    to read the name from any session player.

Enable player name sync in session options

Use
WithPlayerName
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:
var 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);
注意
Use
VisibilityPropertyOptions.Member
or
VisibilityPropertyOptions.Public
so other players can read the name. Use
VisibilityPropertyOptions.Private
if you don't want names to be visible to others. In that case, other players’
GetPlayerName()
calls return
null
.

Read player names from the session

Use
GetPlayerName
to retrieve the synchronized name from any player’s properties.
// 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,
GetPlayerName()
returns
null
. For example, a name might be unavailable because the player hasn’t set a name, or the property isn't visible.
The 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.

Additional resources

  • Authentication
  • Session operations as a host

Copyright © 2026 Unity Technologies
法律信息隐私政策CookiesDocumentation Terms of Use请勿出售或分享我的个人信息您的隐私选择(Cookie 设置)

“Unity”、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属公司在美国和其他地方的商标或注册商标(此处查看更多信息)。其他名称或品牌是其各自所有者的商标。

为方便起见,一些页面是机器翻译的,可能包含不准确的内容。如有信息不一致的情况,以英文版本为准。

  • 在本页上
    • Enable player name sync in session options

    • Read player names from the session

    • Additional resources


报告此页面的问题