Description
When using the Distributed Authority topology and disabling scene management on the NetworkManager, the OnClientConnectedCallback callback have clientId set as 0 for all clients.
Reproduce Steps
- Set Network Topology to Distributed Authority on the
NetworkManager
- Disable Scene Management on the
NetworkManager

- Implement the following code to check the output when a client connects:
void Start()
{
NetworkManager.Singleton.OnClientConnectedCallback += OnClientConnectedCallback;
}
void OnClientConnectedCallback(ulong clientId)
{
Debug.Log($"OnClientConnected clientId={clientId}, LocalClientId={NetworkManager.Singleton.LocalClientId}");
}
Actual Outcome
clientId is always 0. whether we are the host or not.
Expected Outcome
clientId should be the same as NetworkManager.Singleton.LocalClientId.
More Info
When Scene Management is enabled on the NetworkManager the output is :
OnClientConnected clientId=1, LocalClientId=1
When Scene Management is disabled the output is :
OnClientConnected clientId=0, LocalClientId=1
If another client connects to the server, their output is :
OnClientConnected clientId=0, LocalClientId=2
Environment
- OS: Windows 11
- Unity Version: 6000.0.32f1
- Netcode Version: 2.2.0