docs.unity3d.com
  • Manual
  • Scripting API
  • Changelog
  • License
Search Results for

    Show / Hide Table of Contents
    • Unity.Netcode
      • AnticipatedNetworkVariable<T>
      • AnticipatedNetworkVariable<T>.OnAuthoritativeValueChangedDelegate
      • AnticipatedNetworkVariable<T>.SmoothDelegate
      • Arithmetic
      • BaseRpcTarget
      • BitCounter
      • BitReader
      • BitWriter
      • BufferSerializer<TReaderWriter>
      • BufferedLinearInterpolatorFloat
      • BufferedLinearInterpolatorQuaternion
      • BufferedLinearInterpolatorVector3
      • BufferedLinearInterpolator<T>
      • BufferedLinearInterpolator<T>.BufferedItem
      • BytePacker
      • ByteUnpacker
      • ClientRpcAttribute
      • ClientRpcParams
      • ClientRpcReceiveParams
      • ClientRpcSendParams
      • ConnectionEvent
      • ConnectionEventData
      • CustomMessagingManager
      • CustomMessagingManager.HandleNamedMessageDelegate
      • CustomMessagingManager.UnnamedMessageDelegate
      • FastBufferReader
      • FastBufferWriter
      • FastBufferWriter.ForEnums
      • FastBufferWriter.ForFixedStrings
      • FastBufferWriter.ForGeneric
      • FastBufferWriter.ForNetworkSerializable
      • FastBufferWriter.ForPrimitives
      • FastBufferWriter.ForStructs
      • ForceNetworkSerializeByMemcpy<T>
      • GenerateSerializationForGenericParameterAttribute
      • GenerateSerializationForTypeAttribute
      • HashSize
      • INetworkPrefabInstanceHandler
      • INetworkSerializable
      • INetworkSerializeByMemcpy
      • INetworkUpdateSystem
      • IReaderWriter
      • InvalidChannelException
      • InvalidParentException
      • LocalDeferMode
      • LogLevel
      • NetworkBehaviour
      • NetworkBehaviourReference
      • NetworkBehaviourUpdater
      • NetworkClient
      • NetworkConfig
      • NetworkConfigurationException
      • NetworkConnectionManager
      • NetworkDelivery
      • NetworkEvent
      • NetworkListEvent<T>
      • NetworkListEvent<T>.EventType
      • NetworkList<T>
      • NetworkList<T>.OnListChangedDelegate
      • NetworkLog
      • NetworkManager
      • NetworkManager.ConnectionApprovalRequest
      • NetworkManager.ConnectionApprovalResponse
      • NetworkManager.OnFetchLocalPlayerPrefabToSpawnDelegateHandler
      • NetworkManager.OnSessionOwnerPromotedDelegateHandler
      • NetworkManager.ReanticipateDelegate
      • NetworkObject
      • NetworkObject.OnDeferedDespawnCompleteDelegateHandler
      • NetworkObject.OnOwnershipPermissionsFailureDelegateHandler
      • NetworkObject.OnOwnershipRequestResponseDelegateHandler
      • NetworkObject.OnOwnershipRequestedDelegateHandler
      • NetworkObject.OwnershipLockActions
      • NetworkObject.OwnershipPermissionsFailureStatus
      • NetworkObject.OwnershipRequestResponseStatus
      • NetworkObject.OwnershipRequestStatus
      • NetworkObject.OwnershipStatus
      • NetworkObject.SpawnDelegate
      • NetworkObject.VisibilityDelegate
      • NetworkObjectReference
      • NetworkPrefab
      • NetworkPrefabHandler
      • NetworkPrefabOverride
      • NetworkPrefabs
      • NetworkPrefabsList
      • NetworkSceneManager
      • NetworkSceneManager.MapTypes
      • NetworkSceneManager.OnEventCompletedDelegateHandler
      • NetworkSceneManager.OnLoadCompleteDelegateHandler
      • NetworkSceneManager.OnLoadDelegateHandler
      • NetworkSceneManager.OnSynchronizeCompleteDelegateHandler
      • NetworkSceneManager.OnSynchronizeDelegateHandler
      • NetworkSceneManager.OnUnloadCompleteDelegateHandler
      • NetworkSceneManager.OnUnloadDelegateHandler
      • NetworkSceneManager.SceneEventDelegate
      • NetworkSceneManager.SceneMap
      • NetworkSceneManager.VerifySceneBeforeLoadingDelegateHandler
      • NetworkSceneManager.VerifySceneBeforeUnloadingDelegateHandler
      • NetworkSpawnManager
      • NetworkTickSystem
      • NetworkTime
      • NetworkTimeSystem
      • NetworkTopologyTypes
      • NetworkTransport
      • NetworkTransport.TransportEventDelegate
      • NetworkUpdateLoop
      • NetworkUpdateStage
      • NetworkVariableBase
      • NetworkVariableReadPermission
      • NetworkVariableSerializationTypedInitializers
      • NetworkVariableSerialization<T>
      • NetworkVariableSerialization<T>.EqualsDelegate
      • NetworkVariableUpdateTraits
      • NetworkVariableWritePermission
      • NetworkVariable<T>
      • NetworkVariable<T>.CheckExceedsDirtinessThresholdDelegate
      • NetworkVariable<T>.OnValueChangedDelegate
      • NotListeningException
      • NotServerException
      • PendingClient
      • PendingClient.State
      • QuaternionCompressor
      • RpcAttribute
      • RpcAttribute.RpcAttributeParams
      • RpcDelivery
      • RpcException
      • RpcParams
      • RpcReceiveParams
      • RpcSendParams
      • RpcTarget
      • RpcTargetUse
      • SceneEvent
      • SceneEventProgressStatus
      • SceneEventType
      • SendTo
      • ServerRpcAttribute
      • ServerRpcParams
      • ServerRpcReceiveParams
      • ServerRpcSendParams
      • SpawnStateException
      • StaleDataHandling
      • TestingNetworkTransport
      • UserNetworkVariableSerialization<T>
      • UserNetworkVariableSerialization<T>.DuplicateValueDelegate
      • UserNetworkVariableSerialization<T>.ReadDeltaDelegate
      • UserNetworkVariableSerialization<T>.ReadValueDelegate
      • UserNetworkVariableSerialization<T>.WriteDeltaDelegate
      • UserNetworkVariableSerialization<T>.WriteValueDelegate
      • VisibilityChangeException
    • Unity.Netcode.Components
      • AnticipatedNetworkTransform
      • AnticipatedNetworkTransform.TransformState
      • ContactEventHandlerInfo
      • HalfVector3
      • HalfVector4
      • IContactEventHandler
      • IContactEventHandlerWithInfo
      • NetworkAnimator
      • NetworkDeltaPosition
      • NetworkRigidbody
      • NetworkRigidbody2D
      • NetworkRigidbodyBase
      • NetworkRigidbodyBase.RigidbodyTypes
      • NetworkTransform
      • NetworkTransform.AddLogEntryHandler
      • NetworkTransform.AuthorityModes
      • NetworkTransform.InterpolationTypes
      • NetworkTransform.NetworkTransformState
      • NetworkTransform.OnClientRequestChangeDelegate
      • RigidbodyContactEventManager
    • Unity.Netcode.Editor
      • HiddenScriptEditor
      • NetcodeEditorBase<TT>
      • NetworkAnimatorEditor
      • NetworkBehaviourEditor
      • NetworkManagerEditor
      • NetworkManagerHelper
      • NetworkObjectEditor
      • NetworkPrefabsEditor
      • NetworkRigidbody2DEditor
      • NetworkRigidbodyBaseEditor
      • NetworkRigidbodyEditor
      • NetworkTransformEditor
      • UnityTransportEditor
    • Unity.Netcode.Editor.Configuration
      • NetcodeForGameObjectsProjectSettings
      • NetworkPrefabProcessor
    • Unity.Netcode.RuntimeTests
      • BaseCollectionUpdateHelper
      • BaseCollectionUpdateHelper.HelperStates
      • ByteEnum
      • DictionaryCollectionUpdateHelper
      • DictionaryTestHelper
      • ExtendedNetworkShowAndHideTests
      • HashSetBaseTypeTestHelper
      • IDictionaryTestHelperBase<TKey, TValue>
      • IHashSetTestHelperBase<T>
      • IListTestHelperBase<T>
      • IntEnum
      • ListCollectionUpdateHelper
      • ListTestHelperBase
      • ListTestHelperBase.DeltaTypes
      • ListTestHelperBase.Targets
      • ListTestHelperInt
      • ListTestHelperListInt
      • ListTestHelperListSerializableObject
      • ListTestHelperSerializableObject
      • LongEnum
      • NestedDictionaryTestHelper
      • NetcodeLogAssert
      • NetworkVariableBaseInitializesWhenPersisted
      • NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler
      • NetworkVariableBaseInitializesWhenPersisted.TestBehaviour
      • NetworkVariableCollectionsChangingTests
      • NetworkVariableCollectionsChangingTests.CollectionTypes
      • NetworkVariableCollectionsTests
      • RpcProxyMessageTesting
      • RpcProxyMessageTesting.RpcProxyText
      • SByteEnum
      • SerializableObject
      • ShortEnum
      • UIntEnum
      • ULongEnum
      • UShortEnum
    • Unity.Netcode.TestHelpers.Runtime
      • ConditionalPredicateBase
      • IConditionalPredicate
      • IntegrationTestWithApproximation
      • MessageHookEntry
      • MessageHooksConditional
      • MockTimeProvider
      • NetcodeIntegrationTest
      • NetcodeIntegrationTest.HostOrServer
      • NetcodeIntegrationTest.NetworkManagerInstatiationMode
      • NetcodeIntegrationTest.SceneManagementState
      • NetcodeIntegrationTestHelpers
      • NetcodeIntegrationTestHelpers.BeforeClientStartCallback
      • NetcodeIntegrationTestHelpers.MessageHandleCheck
      • NetcodeIntegrationTestHelpers.ResultWrapper<T>
      • NetworkManagerHelper
      • NetworkManagerHelper.NetworkManagerOperatingMode
      • NetworkVariableBaseHelper
      • NetworkVariableHelper<T>
      • NetworkVariableHelper<T>.OnMyValueChangedDelegateHandler
      • ObjectNameIdentifier
      • ReceiptType
      • TimeoutFrameCountHelper
      • TimeoutHelper
    • Unity.Netcode.TestHelpers.Runtime.Metrics
      • RpcTestComponent
    • Unity.Netcode.Transports.UTP
      • ErrorUtilities
      • INetworkStreamDriverConstructor
      • NetworkMetricsContext
      • SecretsLoaderHelper
      • UnityTransport
      • UnityTransport.ConnectionAddressData
      • UnityTransport.ProtocolType
      • UnityTransport.SimulatorParameters
    • Scripting API
    • Unity.Netcode
    • NetworkVariableBase

    Class NetworkVariableBase

    Interface for network value containers

    Inheritance
    object
    NetworkVariableBase
    AnticipatedNetworkVariable<T>
    NetworkList<T>
    NetworkVariable<T>
    Implements
    IDisposable
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Unity.Netcode
    Assembly: Unity.Netcode.Runtime.dll
    Syntax
    public abstract class NetworkVariableBase : IDisposable

    Constructors

    NetworkVariableBase(NetworkVariableReadPermission, NetworkVariableWritePermission)

    The default constructor for NetworkVariableBase that can be used to create a custom NetworkVariable.

    Declaration
    protected NetworkVariableBase(NetworkVariableReadPermission readPerm = NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission writePerm = NetworkVariableWritePermission.Server)
    Parameters
    Type Name Description
    NetworkVariableReadPermission readPerm

    the NetworkVariableReadPermission access settings

    NetworkVariableWritePermission writePerm

    the NetworkVariableWritePermission access settings

    Fields

    DefaultReadPerm

    The default read permissions

    Declaration
    public const NetworkVariableReadPermission DefaultReadPerm = Everyone
    Field Value
    Type Description
    NetworkVariableReadPermission

    DefaultWritePerm

    The default write permissions

    Declaration
    public const NetworkVariableWritePermission DefaultWritePerm = Server
    Field Value
    Type Description
    NetworkVariableWritePermission

    ReadPerm

    The read permission for this var

    Declaration
    public readonly NetworkVariableReadPermission ReadPerm
    Field Value
    Type Description
    NetworkVariableReadPermission

    Properties

    Name

    Gets or sets the name of the network variable's instance (MemberInfo) where it was declared.

    Declaration
    public string Name { get; }
    Property Value
    Type Description
    string

    WritePerm

    The write permission for this var

    Declaration
    public NetworkVariableWritePermission WritePerm { get; }
    Property Value
    Type Description
    NetworkVariableWritePermission

    Methods

    CanClientRead(ulong)

    Gets if a specific client has permission to read the var or not

    Declaration
    public bool CanClientRead(ulong clientId)
    Parameters
    Type Name Description
    ulong clientId

    The client id

    Returns
    Type Description
    bool

    Whether or not the client has permission to read

    CanClientWrite(ulong)

    Gets if a specific client has permission to write the var or not

    Declaration
    public bool CanClientWrite(ulong clientId)
    Parameters
    Type Name Description
    ulong clientId

    The client id

    Returns
    Type Description
    bool

    Whether or not the client has permission to write

    Dispose()

    Virtual IDisposable implementation

    Declaration
    public virtual void Dispose()

    ExceedsDirtinessThreshold()

    Check whether or not this variable has changed significantly enough to send an update. If not, no update will be sent even if the variable is dirty, unless the time since last update exceeds the UpdateTraits' MaxSecondsBetweenUpdates.

    Declaration
    public virtual bool ExceedsDirtinessThreshold()
    Returns
    Type Description
    bool

    True if the variable exceeds the dirtiness threshold or the time since the last update exceeds MaxSecondsBetweenUpdates. otherwise, false

    GetBehaviour()

    Gets the NetworkBehaviour instance associated with this network variable

    Declaration
    public NetworkBehaviour GetBehaviour()
    Returns
    Type Description
    NetworkBehaviour

    The NetworkBehaviour that owns this network variable

    Initialize(NetworkBehaviour)

    Initializes the NetworkVariable

    Declaration
    public void Initialize(NetworkBehaviour networkBehaviour)
    Parameters
    Type Name Description
    NetworkBehaviour networkBehaviour

    The NetworkBehaviour the NetworkVariable belongs to

    IsDirty()

    Gets Whether or not the container is dirty

    Declaration
    public virtual bool IsDirty()
    Returns
    Type Description
    bool

    Whether or not the container is dirty

    MarkNetworkBehaviourDirty()

    Marks the associated NetworkBehaviour as dirty, indicating it needs synchronization

    Declaration
    protected void MarkNetworkBehaviourDirty()

    OnInitialize()

    Called on initialization

    Declaration
    public virtual void OnInitialize()

    ReadDelta(FastBufferReader, bool)

    Reads delta from the reader and applies them to the internal value

    Declaration
    public abstract void ReadDelta(FastBufferReader reader, bool keepDirtyDelta)
    Parameters
    Type Name Description
    FastBufferReader reader

    The stream to read the delta from

    bool keepDirtyDelta

    Whether or not the delta should be kept as dirty or consumed

    ReadField(FastBufferReader)

    Reads the complete state from the reader and applies it

    Declaration
    public abstract void ReadField(FastBufferReader reader)
    Parameters
    Type Name Description
    FastBufferReader reader

    The stream to read the state from

    ResetDirty()

    Resets the dirty state and marks the variable as synced / clean

    Declaration
    public virtual void ResetDirty()

    SetDirty(bool)

    Sets whether or not the variable needs to be delta synced

    Declaration
    public virtual void SetDirty(bool isDirty)
    Parameters
    Type Name Description
    bool isDirty

    Whether or not the var is dirty

    SetUpdateTraits(NetworkVariableUpdateTraits)

    Sets the update traits for this network variable to determine how frequently it will send updates.

    Declaration
    public void SetUpdateTraits(NetworkVariableUpdateTraits traits)
    Parameters
    Type Name Description
    NetworkVariableUpdateTraits traits

    The new update traits to apply to this network variable

    WriteDelta(FastBufferWriter)

    Writes the dirty changes, that is, the changes since the variable was last dirty, to the writer

    Declaration
    public abstract void WriteDelta(FastBufferWriter writer)
    Parameters
    Type Name Description
    FastBufferWriter writer

    The stream to write the dirty changes to

    WriteField(FastBufferWriter)

    Writes the complete state of the variable to the writer

    Declaration
    public abstract void WriteField(FastBufferWriter writer)
    Parameters
    Type Name Description
    FastBufferWriter writer

    The stream to write the state to

    Implements

    IDisposable
    In This Article
    • Constructors
      • NetworkVariableBase(NetworkVariableReadPermission, NetworkVariableWritePermission)
    • Fields
      • DefaultReadPerm
      • DefaultWritePerm
      • ReadPerm
    • Properties
      • Name
      • WritePerm
    • Methods
      • CanClientRead(ulong)
      • CanClientWrite(ulong)
      • Dispose()
      • ExceedsDirtinessThreshold()
      • GetBehaviour()
      • Initialize(NetworkBehaviour)
      • IsDirty()
      • MarkNetworkBehaviourDirty()
      • OnInitialize()
      • ReadDelta(FastBufferReader, bool)
      • ReadField(FastBufferReader)
      • ResetDirty()
      • SetDirty(bool)
      • SetUpdateTraits(NetworkVariableUpdateTraits)
      • WriteDelta(FastBufferWriter)
      • WriteField(FastBufferWriter)
    • Implements
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)