The main component of the library
Syntax#
Fields#
LogLevel#
Declaration#
Field Value#
NetworkConfig#
The current NetworkConfig
Declaration#
Field Value#
Type | Description |
---|
NetworkConfig | |
PendingClients#
Gets a dictionary of the clients that have been accepted by the
transport but are still pending by the Netcode. This is only populated
on the server.
Declaration#
Field Value#
Type | Description |
---|
System.Collections.Generic.Dictionary\<System.UInt64, PendingClient> | |
RunInBackground#
Gets or sets if the application should be set to run in background
Declaration#
Field Value#
Type | Description |
---|
System.Boolean | |
ServerClientId#
Declaration#
Field Value#
Type | Description |
---|
System.UInt64 | |
Properties#
ConnectedClients#
Gets a dictionary of connected clients and their clientId keys. This is
only accessible on the server.
Declaration#
Property Value#
Type | Description |
---|
IReadOnlyDictionary\<System.UInt64, NetworkClient> | |
ConnectedClientsIds#
Gets a list of just the IDs of all connected clients. This is only
accessible on the server.
Declaration#
Property Value#
Type | Description |
---|
IReadOnlyList\<System.UInt64> | |
ConnectedClientsList#
Gets a list of connected clients. This is only accessible on the server.
Declaration#
Property Value#
Type | Description |
---|
IReadOnlyList\<NetworkClient> | |
ConnectedHostname#
The current host name we are connected to, used to validate certificate
Declaration#
Property Value#
Type | Description |
---|
System.String | |
CustomMessagingManager#
Declaration#
Property Value#
Type | Description |
---|
CustomMessagingManager | |
IsClient#
Gets Whether or not a client is running
Declaration#
Property Value#
Type | Description |
---|
System.Boolean | |
IsConnectedClient#
Gets if we are connected as a client
Declaration#
Property Value#
Type | Description |
---|
System.Boolean | |
IsHost#
Gets if we are running as host
Declaration#
Property Value#
Type | Description |
---|
System.Boolean | |
IsListening#
Gets Whether or not we are listening for connections
Declaration#
Property Value#
Type | Description |
---|
System.Boolean | |
IsServer#
Gets Whether or not a server is running
Declaration#
Property Value#
Type | Description |
---|
System.Boolean | |
LocalClient#
Gets the local NetworkClient for this client.
Declaration#
Property Value#
Type | Description |
---|
NetworkClient | |
LocalClientId#
Returns ServerClientId if IsServer or LocalClientId if not
Declaration#
Property Value#
Type | Description |
---|
System.UInt64 | |
LocalTime#
Declaration#
Property Value#
Type | Description |
---|
NetworkTime | |
NetworkTickSystem#
Declaration#
Property Value#
Type | Description |
---|
NetworkTickSystem | |
NetworkTimeSystem#
Declaration#
Property Value#
Type | Description |
---|
NetworkTimeSystem | |
PrefabHandler#
Declaration#
Property Value#
Type | Description |
---|
NetworkPrefabHandler | |
SceneManager#
Declaration#
Property Value#
Type | Description |
---|
NetworkSceneManager | |
ServerTime#
Declaration#
Property Value#
Type | Description |
---|
NetworkTime | |
ShutdownInProgress#
Declaration#
Property Value#
Type | Description |
---|
System.Boolean | |
Singleton#
The singleton instance of the NetworkManager
Declaration#
Property Value#
Type | Description |
---|
NetworkManager | |
SpawnManager#
Gets the SpawnManager for this NetworkManager
Declaration#
Property Value#
Type | Description |
---|
NetworkSpawnManager | |
Methods#
AddNetworkPrefab(GameObject)#
Adds a new prefab to the network prefab list. This can be any GameObject
with a NetworkObject component, from any source (addressables, asset
bundles, Resource.Load, dynamically created, etc)
There are three limitations to this method:
- If you have NetworkConfig.ForceSamePrefabs enabled, you can only do
this before starting networking, and the server and all connected
clients must all have the same exact set of prefabs added via this
method before connecting
- Adding a prefab on the server does not automatically add it on the
client - it's up to you to make sure the client and server are
synchronized via whatever method makes sense for your game (RPCs,
configs, deterministic loading, etc)
- If the server sends a Spawn message to a client that has not yet
added a prefab for, the spawn message and any other relevant
messages will be held for a configurable time (default 1 second,
configured via NetworkConfig.SpawnTimeout) before an error is
logged. This is intented to enable the SDK to gracefully handle
unexpected conditions (slow disks, slow network, etc) that slow down
asset loading. This timeout should not be relied on and code
shouldn't be written around it - your code should be written so that
the asset is expected to be loaded before it's needed.
Declaration#
Parameters#
Type | Name | Description |
---|
GameObject | prefab | |
Exceptions#
Type | Condition |
---|
System.Exception | |
DisconnectClient(UInt64)#
Disconnects the remote client.
Declaration#
Parameters#
Type | Name | Description |
---|
System.UInt64 | clientId | The ClientId to disconnect |
GetNetworkPrefabOverride(GameObject)#
Returns the to use as the override as could be defined within the
NetworkPrefab list Note: This should be used to create pools (with
NetworkObject components) under the scenario where you are using the
Host model as it spawns everything locally. As such, the override will
not be applied when spawning locally on a Host. Related Classes and
Interfaces: NetworkPrefabHandler INetworkPrefabInstanceHandler
Declaration#
Parameters#
Type | Name | Description |
---|
GameObject | gameObject | the to be checked for a NetworkManager defined NetworkPrefab override |
Returns#
Type | Description |
---|
GameObject | a that is either the override or if no overrides exist it returns the same as the one passed in as a parameter |
NetworkUpdate(NetworkUpdateStage)#
Declaration#
Parameters#
Type | Name | Description |
---|
NetworkUpdateStage | updateStage | |
SetSingleton()#
Declaration#
Shutdown(Boolean)#
Globally shuts down the library. Disconnects clients if connected and
stops server if running.
Declaration#
Parameters#
Type | Name | Description |
---|
System.Boolean | discardMessageQueue | If false, any messages that are currently in the incoming queue will be handled, and any messages in the outgoing queue will be sent, before the shutdown is processed. If true, NetworkManager will shut down immediately, and any unprocessed or unsent messages will be discarded. |
StartClient()#
Declaration#
Returns#
Type | Description |
---|
System.Boolean | |
StartHost()#
Declaration#
Returns#
Type | Description |
---|
System.Boolean | |
StartServer()#
Declaration#
Returns#
Type | Description |
---|
System.Boolean | |
Events#
ConnectionApprovalCallback#
The callback to invoke during connection approval
Declaration#
Event Type#
Type | Description |
---|
System.Action\<System.Byte[], System.UInt64, NetworkManager.ConnectionApprovedDelegate> | |
OnClientConnectedCallback#
The callback to invoke once a client connects. This callback is only ran
on the server and on the local client that connects.
Declaration#
Event Type#
Type | Description |
---|
System.Action\<System.UInt64> | |
OnClientDisconnectCallback#
The callback to invoke when a client disconnects. This callback is only
ran on the server and on the local client that disconnects.
Declaration#
Event Type#
Type | Description |
---|
System.Action\<System.UInt64> | |
OnServerStarted#
The callback to invoke once the server is ready
Declaration#
Event Type#
Type | Description |
---|
System.Action | |
Implements#
Extension Methods#
NetworkUpdateLoop.RegisterAllNetworkUpdates(INetworkUpdateSystem)
NetworkUpdateLoop.RegisterNetworkUpdate(INetworkUpdateSystem,
NetworkUpdateStage)
NetworkUpdateLoop.UnregisterAllNetworkUpdates(INetworkUpdateSystem)
NetworkUpdateLoop.UnregisterNetworkUpdate(INetworkUpdateSystem,
NetworkUpdateStage)