Skip to main content

Unity.Netcode.NetworkVariableSerializationTypes

This class contains initialization functions for various different types used in NetworkVariables. Generally speaking, these methods are called by a module initializer created by codegen (NetworkBehaviourILPP) and do not need to be called manually.

There are two types of initializers: Serializers and EqualityCheckers. Every type must have an EqualityChecker registered to it in order to be used in NetworkVariable; however, not all types need a Serializer. Types without a serializer registered will fall back to using the delegates in UserNetworkVariableSerialization\<T>. If no such delegate has been registered, a type without a serializer will throw an exception on the first attempt to serialize or deserialize it. (Again, however, codegen handles this automatically and this registration doesn't typically need to be performed manually.)

Inheritance

System.Dynamic.ExpandoObject

System.Dynamic.ExpandoObject

Inherited Members

Object.ToString()

Object.Equals(Object)

Object.Equals(Object, Object)

Object.ReferenceEquals(Object, Object)

Object.GetHashCode()

Object.GetType()

Object.MemberwiseClone()

Namespace: System.Dynamic.ExpandoObject

Assembly: Netcode.dll

Syntax

public static class NetworkVariableSerializationTypes

Methods

InitializeEqualityChecker_ManagedClassEquals\<T>()

Registers a managed type that will be checked for equality using the == operator

Declaration

public static void InitializeEqualityChecker_ManagedClassEquals<T>()

where T : class

Type Parameters

NameDescription
T

InitializeEqualityChecker_ManagedIEquatable\<T>()

Registers a managed type that will be checked for equality using T.Equals()

Declaration

public static void InitializeEqualityChecker_ManagedIEquatable<T>()

where T : class, IEquatable<T>

Type Parameters

NameDescription
T

InitializeEqualityChecker_UnmanagedIEquatable\<T>()

Registers an unmanaged type that will be checked for equality using T.Equals()

Declaration

public static void InitializeEqualityChecker_UnmanagedIEquatable<T>()

where T : struct, IEquatable<T>

Type Parameters

NameDescription
T

InitializeEqualityChecker_UnmanagedValueEquals\<T>()

Registers an unmanaged type that will be checked for equality using memcmp and only considered equal if they are bitwise equivalent in memory

Declaration

public static void InitializeEqualityChecker_UnmanagedValueEquals<T>()

where T : struct

Type Parameters

NameDescription
T

InitializeSerializer_FixedString\<T>()

Registers a FixedString type that will be serialized through FastBufferReader/FastBufferWriter's FixedString serializers

Declaration

public static void InitializeSerializer_FixedString<T>()

where T : struct, INativeList<byte>, IUTF8Bytes

Type Parameters

NameDescription
T

InitializeSerializer_ManagedINetworkSerializable\<T>()

Registers a managed type that implements INetworkSerializable and will be serialized through a call to NetworkSerialize

Declaration

public static void InitializeSerializer_ManagedINetworkSerializable<T>()

where T : class, INetworkSerializable, new()

Type Parameters

NameDescription
T

InitializeSerializer_UnmanagedByMemcpy\<T>()

Registeres an unmanaged type that will be serialized by a direct memcpy into a buffer

Declaration

public static void InitializeSerializer_UnmanagedByMemcpy<T>()

where T : struct

Type Parameters

NameDescription
T

InitializeSerializer_UnmanagedINetworkSerializable\<T>()

Registers an unmanaged type that implements INetworkSerializable and will be serialized through a call to NetworkSerialize

Declaration

public static void InitializeSerializer_UnmanagedINetworkSerializable<T>()

where T : struct, INetworkSerializable

Type Parameters

NameDescription
T