Arithmetic helper class
Utility class for packing values in serialization.
Marks a method as ClientRpc.
A ClientRpc marked method will be fired by the server but executed on clients.
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.
Exception thrown when the new parent candidate of the NetworkObject is not valid
The base class to override to write network code. Inherits MonoBehaviour
The configuration object used to start server, client and hosts
Exception thrown when a change to a configuration is wrong
Event based NetworkVariable container for syncing Lists
Helper class for logging
The main component of the library
A component used to identify that a GameObject in the network
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.
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)
Class that handles object spawning
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
Represents the network update loop injected into low-level player loop in Unity.
A variable that can be synchronized over the network.
Interface for network value containers
Exception thrown when the operation require NetworkManager to be listening.
Exception thrown when the operation can only be done on the server
A class representing a client that is currently in the process of connecting
Represents the common base class for Rpc attributes.
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.
Marks a method as ServerRpc.
A ServerRpc marked method will be fired by a client but executed on the server.
Exception thrown when an object is not yet spawned
Exception thrown when a visibility change fails
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.
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.
Two-way serializer wrapping FastBufferReader or FastBufferWriter.
Implemented as a ref struct for two reasons:
- The BufferSerializer cannot outlive the FBR/FBW it wraps or using it will cause a crash
- 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.)
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
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
Struct containing event information about changes to a NetworkList.
A helper struct for serializing NetworkObjects over the network. Can be used in RPCs and NetworkVariable\<T>.
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.
Interface for customizing, overriding, spawning, and destroying Network Prefabs Used by NetworkPrefabHandler
Interface for implementing custom serializable types.
Defines the required interface of a network update system being executed by the network update loop.
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
Represents a netEvent when polling
Enum representing the different operations available for triggering an event.
Defines network update stages being executed by the network update loop.
The states of a connection
RPC delivery types
Used by NetworkSceneManager to determine if a server invoked scene event
has started. The returned status is stored in the
Note: This was formally known as SwitchSceneProgress which contained the . All s are now delivered by the OnSceneEvent event handler via the SceneEvent parameter.
The different types of scene events communicated between a server and
Used by NetworkSceneManager for Unity.Netcode.SceneEventMessage messages.
Note: This is only when EnableSceneManagement is enabled.
Delegate used to handle named messages
Delegate used for incoming unnamed messages
Delegate type for list changed event
Delegate type called when connection has been approved. This only has to be set on the server.
Delegate type for checking spawn options
Delegate type for checking visibility
Delegate declaration for the OnLoadEventCompleted and
Delegate declaration for the OnLoadComplete event.
LoadComplete for more information
Delegate declaration for the OnLoad event.
Loadfor more information
Delegate declaration for the OnSynchronizeComplete event.
SynchronizeComplete for more information
Delegate declaration for the OnSynchronize event.
Synchronize for more information
Delegate declaration for the OnUnloadComplete event.
UnloadComplete for more information
Delegate declaration for the OnUnload event.
Unload for more information
The delegate callback definition for scene event notifications.
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.
Delegate for transport network events
Delegate type for value changed event