docs.unity3d.com
    Show / Hide Table of Contents

    Class 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
    Object
    NetworkVariableSerializationTypes
    Inherited Members
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: Unity.Netcode
    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
    Name Description
    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
    Name Description
    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
    Name Description
    T

    InitializeEqualityChecker_UnmanagedIEquatableArray<T>()

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

    Declaration
    public static void InitializeEqualityChecker_UnmanagedIEquatableArray<T>()
        where T : struct, IEquatable<T>
    Type Parameters
    Name Description
    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
    Name Description
    T

    InitializeEqualityChecker_UnmanagedValueEqualsArray<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_UnmanagedValueEqualsArray<T>()
        where T : struct
    Type Parameters
    Name Description
    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
    Name Description
    T

    InitializeSerializer_FixedStringArray<T>()

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

    Declaration
    public static void InitializeSerializer_FixedStringArray<T>()
        where T : struct, INativeList<byte>, IUTF8Bytes
    Type Parameters
    Name Description
    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
    Name Description
    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
    Name Description
    T

    InitializeSerializer_UnmanagedByMemcpyArray<T>()

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

    Declaration
    public static void InitializeSerializer_UnmanagedByMemcpyArray<T>()
        where T : struct
    Type Parameters
    Name Description
    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
    Name Description
    T

    InitializeSerializer_UnmanagedINetworkSerializableArray<T>()

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

    Declaration
    public static void InitializeSerializer_UnmanagedINetworkSerializableArray<T>()
        where T : struct, INetworkSerializable
    Type Parameters
    Name Description
    T
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023