Version: 2018.2 (switch to 2018.1 or 2017.4)
  • C#


class in UnityEngine.Networking

Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.




A client manager which contains static client information and functions.

This manager contains references to tracked static local objects such as spawner registrations. It also has the default message handlers used by clients when they registered none themselves. The manager handles adding/removing player objects to the game after a client connection has been set as ready.

The ClientScene is a singleton, and it has static convenience methods such as ClientScene.Ready().

The ClientScene is used by the NetworkManager, but it can be used by itself.

As the ClientScene manages player objects on the client, it is where clients request to add players. The NetworkManager does this via the ClientScene automatically when auto-add-players is set, but it can be done through code using the function ClientScene.AddPlayer(). This sends an AddPlayer message to the server and will cause a player object to be created for this client.

Like NetworkServer, the ClientScene understands the concept of the local client. The function ClientScene.ConnectLocalServer() is used to become a host by starting a local client (when a server is already running).

Static Properties

localPlayersA list of all players added to the game.
objectsThis is a dictionary of networked objects that have been spawned on the client.
prefabsThis is a dictionary of the prefabs that are registered on the client with ClientScene.RegisterPrefab().
readyReturns true when a client's connection has been set to ready.
readyConnectionThe NetworkConnection object that is currently "ready". This is the connection to the server where objects are spawned from.
reconnectIdThe reconnectId to use when a client reconnects to the new host of a game after the old host was lost.
ReconnectIdHostA constant ID used by the old host when it reconnects to the new host.
ReconnectIdInvalidAn invalid reconnect Id.
spawnableObjectsThis is dictionary of the disabled NetworkIdentity objects in the scene that could be spawned by messages from the server.

Static Methods

AddPlayerThis adds a player GameObject for this client. This causes an AddPlayer message to be sent to the server, and NetworkManager.OnServerAddPlayer is called. If an extra message was passed to AddPlayer, then OnServerAddPlayer will be called with a NetworkReader that contains the contents of the message.
ClearSpawnersThis clears the registered spawn prefabs and spawn handler functions for this client.
ConnectLocalServerCreate and connect a local client instance to the local server. This makes the client into a "host" - a client and server in the same process.
DestroyAllClientObjectsDestroys all networked objects on the client.
FindLocalObjectThis finds the local NetworkIdentity object with the specified network Id.
ReadySignal that the client connection is ready to enter the game.
RegisterPrefabRegisters a prefab with the UNET spawning system.
RegisterSpawnHandlerThis is an advanced spawning function that registers a custom assetId with the UNET spawning system.
RemovePlayerRemoves the specified player ID from the game.
SendReconnectMessageSend a reconnect message to the new host, used during host migration.
SetLocalObjectNetId is a unique number assigned to all objects with NetworkIdentity components in a game.
SetReconnectIdSets the Id that the ClientScene will use when reconnecting to a new host after host migration.
UnregisterPrefabRemoves a registered spawn prefab that was setup with ClientScene.RegisterPrefab.
UnregisterSpawnHandlerRemoves a registered spawn handler function that was registered with ClientScene.RegisterHandler().

Did you find this page useful? Please give it a rating: