Skip to main content

Unity.Netcode

Classes#

Arithmetic#

Arithmetic helper class

BitCounter#

BytePacker#

Utility class for packing values in serialization.

ByteUnpacker#

ClientRpcAttribute#

Marks a method as ClientRpc.

A ClientRpc marked method will be fired by the server but executed on clients.

CustomMessagingManager#

The manager class to manage custom messages, note that this is different from the NetworkManager custom messages. These are named and are much easier to use.

InvalidChannelException#

InvalidParentException#

Exception thrown when the new parent candidate of the NetworkObject is not valid

NetworkBehaviour#

The base class to override to write network code. Inherits MonoBehaviour

NetworkBehaviourUpdater#

NetworkClient#

A NetworkClient

NetworkConfig#

The configuration object used to start server, client and hosts

NetworkConfigurationException#

Exception thrown when a change to a configuration is wrong

NetworkList\<T>#

Event based NetworkVariable container for syncing Lists

NetworkLog#

Helper class for logging

NetworkManager#

The main component of the library

NetworkObject#

A component used to identify that a GameObject in the network

NetworkPrefabHandler#

Primary handler to add or remove customized spawn and destroy handlers for a network prefab (i.e. a prefab with a NetworkObject component) Register custom prefab handlers by implementing the INetworkPrefabInstanceHandler interface.

NetworkSceneManager#

Main class for managing network scenes when EnableSceneManagement is enabled. Uses the Unity.Netcode.SceneEventMessage message to communicate Unity.Netcode.SceneEventData between the server and client(s)

NetworkSpawnManager#

Class that handles object spawning

NetworkTickSystem#

NetworkTimeSystem#

NetworkTimeSystem is a standalone system which can be used to run a network time simulation. The network time system maintains both a local and a server time. The local time is based on

NetworkTransport#

NetworkUpdateLoop#

Represents the network update loop injected into low-level player loop in Unity.

NetworkVariable\<T>#

A variable that can be synchronized over the network.

NetworkVariableBase#

Interface for network value containers

NetworkVariableHelper#

NetworkVariableSerialization\<T>#

NotListeningException#

Exception thrown when the operation require NetworkManager to be listening.

NotServerException#

Exception thrown when the operation can only be done on the server

PendingClient#

A class representing a client that is currently in the process of connecting

RpcAttribute#

Represents the common base class for Rpc attributes.

SceneEvent#

Used for local notifications of various scene events. The OnSceneEvent of delegate type NetworkSceneManager.SceneEventDelegate uses this class to provide scene event status.
Note: This is only when EnableSceneManagement is enabled.
See also:
SceneEventType

ServerRpcAttribute#

Marks a method as ServerRpc.

A ServerRpc marked method will be fired by a client but executed on the server.

SpawnStateException#

Exception thrown when an object is not yet spawned

VisibilityChangeException#

Exception thrown when a visibility change fails

Structs#

BitReader#

Helper class for doing bitwise reads for a FastBufferReader. Ensures all bitwise reads end on proper byte alignment so FastBufferReader doesn't have to be concerned with misaligned reads.

BitWriter#

Helper class for doing bitwise writes for a FastBufferWriter. Ensures all bitwise writes end on proper byte alignment so FastBufferWriter doesn't have to be concerned with misaligned writes.

BufferSerializer\<TReaderWriter>#

Two-way serializer wrapping FastBufferReader or FastBufferWriter.

Implemented as a ref struct for two reasons:

  1. The BufferSerializer cannot outlive the FBR/FBW it wraps or using it will cause a crash
  2. The BufferSerializer must always be passed by reference and can't be copied

Ref structs help enforce both of those rules: they can't ref live the stack context in which they were created, and they're always passed by reference no matter what.

BufferSerializer doesn't wrapp FastBufferReader or FastBufferWriter directly because it can't. ref structs can't implement interfaces, and in order to be able to have two different implementations with the same interface (which allows us to avoid an "if(IsReader)" on every call), the thing directly wrapping the struct has to implement an interface. So IReaderWriter exists as the interface, which is implemented by a normal struct, while the ref struct wraps the normal one to enforce the two above requirements. (Allowing direct access to the IReaderWriter struct would allow dangerous things to happen because the struct's lifetime could outlive the Reader/Writer's.)

ClientRpcParams#

ClientRpcReceiveParams#

ClientRpcSendParams#

FastBufferReader#

FastBufferWriter#

FastBufferWriter.ForEnums#

FastBufferWriter.ForNetworkSerializable#

FastBufferWriter.ForPrimitives#

FastBufferWriter.ForStructs#

ForceNetworkSerializeByMemcpy\<T>#

This is a wrapper that adds INetworkSerializeByMemcpy support to existing structs that the developer doesn't have the ability to modify (for example, external structs like Guid).

NetworkBehaviourReference#

A helper struct for serializing NetworkBehaviours over the network. Can be used in RPCs and NetworkVariable\<T>. Note: network ids get recycled by the NetworkManager after a while. So a reference pointing to

NetworkListEvent\<T>#

Struct containing event information about changes to a NetworkList.

NetworkObjectReference#

A helper struct for serializing NetworkObjects over the network. Can be used in RPCs and NetworkVariable\<T>.

NetworkTime#

A struct to represent a point of time in a networked game. Time is stored as a combination of amount of passed ticks + a duration offset. This struct is meant to replace the Unity Time API for multiplayer gameplay.

ServerRpcParams#

ServerRpcReceiveParams#

ServerRpcSendParams#

Interfaces#

INetworkPrefabInstanceHandler#

Interface for customizing, overriding, spawning, and destroying Network Prefabs Used by NetworkPrefabHandler

INetworkSerializable#

Interface for implementing custom serializable types.

INetworkSerializeByMemcpy#

INetworkUpdateSystem#

Defines the required interface of a network update system being executed by the network update loop.

IReaderWriter#

Enums#

HashSize#

Represents the length of a var int encoded hash Note that the HashSize does not say anything about the actual final output due to the var int encoding It just says how many bytes the maximum will be

LogLevel#

Log level

NetworkDelivery#

Delivery methods

NetworkEvent#

Represents a netEvent when polling

NetworkListEvent\<T>.EventType#

Enum representing the different operations available for triggering an event.

NetworkUpdateStage#

Defines network update stages being executed by the network update loop.

NetworkVariableReadPermission#

NetworkVariableWritePermission#

PendingClient.State#

The states of a connection

RpcDelivery#

RPC delivery types

SceneEventProgressStatus#

Used by NetworkSceneManager to determine if a server invoked scene event has started. The returned status is stored in the Unity.Netcode.SceneEventProgress.Status property.
Note: This was formally known as SwitchSceneProgress which contained the . All s are now delivered by the OnSceneEvent event handler via the SceneEvent parameter.

SceneEventType#

The different types of scene events communicated between a server and client.
Used by NetworkSceneManager for Unity.Netcode.SceneEventMessage messages.
Note: This is only when EnableSceneManagement is enabled.
See also:
SceneEvent

Delegates#

CustomMessagingManager.HandleNamedMessageDelegate#

Delegate used to handle named messages

CustomMessagingManager.UnnamedMessageDelegate#

Delegate used for incoming unnamed messages

NetworkList\<T>.OnListChangedDelegate#

Delegate type for list changed event

NetworkManager.ConnectionApprovedDelegate#

Delegate type called when connection has been approved. This only has to be set on the server.

NetworkObject.SpawnDelegate#

Delegate type for checking spawn options

NetworkObject.VisibilityDelegate#

Delegate type for checking visibility

NetworkSceneManager.OnEventCompletedDelegateHandler#

Delegate declaration for the OnLoadEventCompleted and OnUnloadEventCompleted events.
See also:
LoadEventCompleted
UnloadEventCompleted

NetworkSceneManager.OnLoadCompleteDelegateHandler#

Delegate declaration for the OnLoadComplete event.
See also:
LoadComplete for more information

NetworkSceneManager.OnLoadDelegateHandler#

Delegate declaration for the OnLoad event.
See also:
Loadfor more information

NetworkSceneManager.OnSynchronizeCompleteDelegateHandler#

Delegate declaration for the OnSynchronizeComplete event.
See also:
SynchronizeComplete for more information

NetworkSceneManager.OnSynchronizeDelegateHandler#

Delegate declaration for the OnSynchronize event.
See also:
Synchronize for more information

NetworkSceneManager.OnUnloadCompleteDelegateHandler#

Delegate declaration for the OnUnloadComplete event.
See also:
UnloadComplete for more information

NetworkSceneManager.OnUnloadDelegateHandler#

Delegate declaration for the OnUnload event.
See also:
Unload for more information

NetworkSceneManager.SceneEventDelegate#

The delegate callback definition for scene event notifications.
See also:
SceneEvent
Unity.Netcode.SceneEventData

NetworkSceneManager.VerifySceneBeforeLoadingDelegateHandler#

Delegate declaration for the VerifySceneBeforeLoading handler that provides an additional level of scene loading security and/or validation to assure the scene being loaded is valid scene to be loaded in the LoadSceneMode specified.

NetworkTransport.TransportEventDelegate#

Delegate for transport network events

NetworkVariable\<T>.OnValueChangedDelegate#

Delegate type for value changed event

NetworkVariableSerialization\<T>.ReadDelegate\<TForMethod>#

NetworkVariableSerialization\<T>.WriteDelegate\<TForMethod>#