docs.unity3d.com
    Show / Hide Table of Contents

    Class NetworkBehaviour

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

    Inheritance
    Object
    Object
    Component
    Behaviour
    MonoBehaviour
    NetworkBehaviour
    NetworkTransform
    NetworkBehaviourTests.EmptyNetworkBehaviour
    NetworkObjectTests.EmptyNetworkBehaviour
    NetworkVarTests.NetworkVarComponent
    AddNetworkPrefabTest.EmptyComponent
    BufferDataValidationComponent
    ChildObjectComponent
    DeferredMessageTestNetworkVariableComponent
    DeferredMessageTestRpcAndNetworkVariableComponent
    DeferredMessageTestRpcComponent
    DisconnectReasonObject
    ExampleTestComponent
    HiddenVariableObject
    HiddenVariableTest
    ListChangedObject
    NetVarContainer
    NetVarILPPClassForTests
    NetVarPermTestComp
    NetworkBehaviourGenericTests.SimpleNetworkBehaviour
    NetworkBehaviourOnSynchronizeComponent
    NetworkBehaviourSynchronizeFailureComponent
    NetworkBehaviourWithNetworkVariables
    NetworkBehaviourWithOwnerNetworkVariables
    NetworkListChangedTestComponent
    NetworkObjectOwnershipComponent
    NetworkObjectSpawnManyObjectsTests.SpawnObjecTrackingComponent
    NetworkVarBufferCopyTest.DummyNetBehaviour
    NetworkVariableTest
    NetworkVisibilityComponent
    NonWorkingUserNetworkVariableComponent
    OwnerModifiedObject
    OwnerPermissionObject
    RpcManyClientsObject
    RpcTests.RpcTestNB
    ShowHideObject
    SpawnTest
    TemplateNetworkBehaviourType<T>
    TransformInterpolationObject
    WorkingUserNetworkVariableComponentBase
    BootstrapPlayer
    RpcTestComponent
    ObjectNameIdentifier
    Inherited Members
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(String, Single)
    MonoBehaviour.InvokeRepeating(String, Single, Single)
    MonoBehaviour.CancelInvoke(String)
    MonoBehaviour.IsInvoking(String)
    MonoBehaviour.StartCoroutine(String)
    MonoBehaviour.StartCoroutine(String, Object)
    MonoBehaviour.StartCoroutine(IEnumerator)
    MonoBehaviour.StartCoroutine_Auto(IEnumerator)
    MonoBehaviour.StopCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(Coroutine)
    MonoBehaviour.StopCoroutine(String)
    MonoBehaviour.StopAllCoroutines()
    MonoBehaviour.print(Object)
    MonoBehaviour.useGUILayout
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, Component)
    Component.TryGetComponent<T>(T)
    Component.GetComponent(String)
    Component.GetComponentInChildren(Type, Boolean)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(Boolean)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, Boolean)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(Boolean)
    Component.GetComponentsInChildren<T>(Boolean, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, Boolean)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(Boolean)
    Component.GetComponentsInParent<T>(Boolean, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.CompareTag(String)
    Component.SendMessageUpwards(String, Object, SendMessageOptions)
    Component.SendMessageUpwards(String, Object)
    Component.SendMessageUpwards(String)
    Component.SendMessageUpwards(String, SendMessageOptions)
    Component.SendMessage(String, Object)
    Component.SendMessage(String)
    Component.SendMessage(String, Object, SendMessageOptions)
    Component.SendMessage(String, SendMessageOptions)
    Component.BroadcastMessage(String, Object, SendMessageOptions)
    Component.BroadcastMessage(String, Object)
    Component.BroadcastMessage(String)
    Component.BroadcastMessage(String, SendMessageOptions)
    Component.transform
    Component.gameObject
    Component.tag
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(Object)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, Boolean)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, Boolean)
    Object.Destroy(Object, Single)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, Boolean)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, Single)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectOfType<T>()
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.ToString()
    Object.name
    Object.hideFlags
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: Unity.Netcode
    Syntax
    public abstract class NetworkBehaviour : MonoBehaviour

    Properties

    HasNetworkObject

    Gets whether or not this NetworkBehaviour instance has a NetworkObject owner.

    Declaration
    public bool HasNetworkObject { get; }
    Property Value
    Type Description
    Boolean

    IsClient

    Gets if we are executing as client

    Declaration
    public bool IsClient { get; }
    Property Value
    Type Description
    Boolean

    IsHost

    Gets if we are executing as Host, I.E Server and Client

    Declaration
    public bool IsHost { get; }
    Property Value
    Type Description
    Boolean

    IsLocalPlayer

    If a NetworkObject is assigned, it will return whether or not this NetworkObject is the local player object. If no NetworkObject is assigned it will always return false.

    Declaration
    public bool IsLocalPlayer { get; }
    Property Value
    Type Description
    Boolean

    IsOwnedByServer

    Gets Whether or not the object has a owner

    Declaration
    public bool IsOwnedByServer { get; }
    Property Value
    Type Description
    Boolean

    IsOwner

    Gets if the object is owned by the local player or if the object is the local player object

    Declaration
    public bool IsOwner { get; }
    Property Value
    Type Description
    Boolean

    IsServer

    Gets if we are executing as server

    Declaration
    public bool IsServer { get; }
    Property Value
    Type Description
    Boolean

    IsSpawned

    Used to determine if it is safe to access NetworkObject and NetworkManager from within a NetworkBehaviour component Primarily useful when checking NetworkObject/NetworkManager properties within FixedUpate

    Declaration
    public bool IsSpawned { get; }
    Property Value
    Type Description
    Boolean

    NetworkBehaviourId

    Gets NetworkId for this NetworkBehaviour from the owner NetworkObject

    Declaration
    public ushort NetworkBehaviourId { get; }
    Property Value
    Type Description
    UInt16

    NetworkManager

    Gets the NetworkManager that owns this NetworkBehaviour instance See note around NetworkObject for how there is a chicken / egg problem when we are not initialized

    Declaration
    public NetworkManager NetworkManager { get; }
    Property Value
    Type Description
    NetworkManager

    NetworkObject

    Gets the NetworkObject that owns this NetworkBehaviour instance

    Declaration
    public NetworkObject NetworkObject { get; }
    Property Value
    Type Description
    NetworkObject

    NetworkObjectId

    Gets the NetworkId of the NetworkObject that owns this NetworkBehaviour

    Declaration
    public ulong NetworkObjectId { get; }
    Property Value
    Type Description
    UInt64

    OwnerClientId

    Gets the ClientId that owns the NetworkObject

    Declaration
    public ulong OwnerClientId { get; }
    Property Value
    Type Description
    UInt64

    Methods

    GetNetworkBehaviour(UInt16)

    Returns a the NetworkBehaviour with a given BehaviourId for the current NetworkObject

    Declaration
    protected NetworkBehaviour GetNetworkBehaviour(ushort behaviourId)
    Parameters
    Type Name Description
    UInt16 behaviourId

    The behaviourId to return

    Returns
    Type Description
    NetworkBehaviour

    Returns NetworkBehaviour with given behaviourId

    GetNetworkObject(UInt64)

    Gets the local instance of a object with a given NetworkId

    Declaration
    protected NetworkObject GetNetworkObject(ulong networkId)
    Parameters
    Type Name Description
    UInt64 networkId
    Returns
    Type Description
    NetworkObject

    OnDestroy()

    Invoked when the GameObject the NetworkBehaviour is attached to. NOTE: If you override this, you will want to always invoke this base class version of this OnDestroy() method!!

    Declaration
    public virtual void OnDestroy()

    OnGainedOwnership()

    Gets called when the local client gains ownership of this object

    Declaration
    public virtual void OnGainedOwnership()

    OnLostOwnership()

    Gets called when we loose ownership of this object

    Declaration
    public virtual void OnLostOwnership()

    OnNetworkDespawn()

    Gets called when the NetworkObject gets despawned. Is called both on the server and clients.

    Declaration
    public virtual void OnNetworkDespawn()

    OnNetworkObjectParentChanged(NetworkObject)

    Gets called when the parent NetworkObject of this NetworkBehaviour's NetworkObject has changed

    Declaration
    public virtual void OnNetworkObjectParentChanged(NetworkObject parentNetworkObject)
    Parameters
    Type Name Description
    NetworkObject parentNetworkObject

    the new NetworkObject parent

    OnNetworkSpawn()

    Gets called when the NetworkObject gets spawned, message handlers are ready to be registered and the network is setup.

    Declaration
    public virtual void OnNetworkSpawn()

    OnSynchronize<T>(ref BufferSerializer<T>)

    Override this method if your derived NetworkBehaviour requires custom synchronization data. Note: Use of this method is only for the initial client synchronization of NetworkBehaviours and will increase the payload size for client synchronization and dynamically spawned NetworkObjects.

    Declaration
    protected virtual void OnSynchronize<T>(ref BufferSerializer<T> serializer)
        where T : IReaderWriter
    Parameters
    Type Name Description
    BufferSerializer<T> serializer

    The serializer to use to read and write the data.

    Type Parameters
    Name Description
    T

    Either BufferSerializerReader or BufferSerializerWriter, depending whether the serializer is in read mode or write mode.

    Remarks

    When serializing (writing) this will be invoked during the client synchronization period and when spawning new NetworkObjects. When deserializing (reading), this will be invoked prior to the NetworkBehaviour's associated NetworkObject being spawned.

    Back to top Copyright © 2023 Unity Technologies — Terms of use
    Generated by DocFX
    on 26 October 2023