docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class ChildObjectComponent

    Helper component for NetworkTransform parenting tests

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    NetworkBehaviour
    NetworkTransform
    ChildObjectComponent
    SubChildObjectComponent
    Inherited Members
    NetworkTransform.PositionThresholdDefault
    NetworkTransform.RotAngleThresholdDefault
    NetworkTransform.ScaleThresholdDefault
    NetworkTransform.OnClientRequestChange
    NetworkTransform.UseUnreliableDeltas
    NetworkTransform.SyncPositionX
    NetworkTransform.SyncPositionY
    NetworkTransform.SyncPositionZ
    NetworkTransform.SyncRotAngleX
    NetworkTransform.SyncRotAngleY
    NetworkTransform.SyncRotAngleZ
    NetworkTransform.SyncScaleX
    NetworkTransform.SyncScaleY
    NetworkTransform.SyncScaleZ
    NetworkTransform.PositionThreshold
    NetworkTransform.RotAngleThreshold
    NetworkTransform.ScaleThreshold
    NetworkTransform.UseQuaternionSynchronization
    NetworkTransform.UseQuaternionCompression
    NetworkTransform.UseHalfFloatPrecision
    NetworkTransform.InLocalSpace
    NetworkTransform.Interpolate
    NetworkTransform.SlerpPosition
    NetworkTransform.CanCommitToTransform
    NetworkTransform.m_CachedIsServer
    NetworkTransform.m_CachedNetworkManager
    NetworkTransform.GetSpaceRelativePosition(bool)
    NetworkTransform.GetSpaceRelativeRotation(bool)
    NetworkTransform.GetScale(bool)
    NetworkTransform.m_AddLogEntry
    NetworkTransform.GetStateId(ref NetworkTransform.NetworkTransformState)
    NetworkTransform.GetHalfPositionState()
    NetworkTransform.TryCommitTransformToServer(Transform, double)
    NetworkTransform.OnTransformUpdated()
    NetworkTransform.ApplyAuthoritativeState()
    NetworkTransform.OnBeforeUpdateTransformState()
    NetworkTransform.SetMaxInterpolationBound(float)
    NetworkTransform.Awake()
    NetworkTransform.OnDestroy()
    NetworkTransform.OnLostOwnership()
    NetworkTransform.OnGainedOwnership()
    NetworkTransform.OnOwnershipChanged(ulong, ulong)
    NetworkTransform.OnInitialize(ref NetworkTransform.NetworkTransformState)
    NetworkTransform.OnInitialize(ref NetworkVariable<NetworkTransform.NetworkTransformState>)
    NetworkTransform.Initialize()
    NetworkTransform.SetState(Vector3?, Quaternion?, Vector3?, bool)
    NetworkTransform.Update()
    NetworkTransform.Teleport(Vector3, Quaternion, Vector3)
    NetworkTransform.IsServerAuthoritative()
    NetworkBehaviour.NetworkManager
    NetworkBehaviour.RpcTarget
    NetworkBehaviour.IsLocalPlayer
    NetworkBehaviour.IsOwner
    NetworkBehaviour.IsServer
    NetworkBehaviour.ServerIsHost
    NetworkBehaviour.IsClient
    NetworkBehaviour.IsHost
    NetworkBehaviour.IsOwnedByServer
    NetworkBehaviour.IsSpawned
    NetworkBehaviour.NetworkObject
    NetworkBehaviour.HasNetworkObject
    NetworkBehaviour.NetworkObjectId
    NetworkBehaviour.NetworkBehaviourId
    NetworkBehaviour.GetNetworkBehaviour(ushort)
    NetworkBehaviour.OwnerClientId
    NetworkBehaviour.OnNetworkPreSpawn(ref NetworkManager)
    NetworkBehaviour.OnNetworkPostSpawn()
    NetworkBehaviour.OnNetworkSessionSynchronized()
    NetworkBehaviour.OnInSceneObjectsSpawned()
    NetworkBehaviour.GetNetworkObject(ulong)
    NetworkBehaviour.OnReanticipate(double)
    NetworkBehaviour.m_TargetIdBeingSynchronized
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(string, float)
    MonoBehaviour.InvokeRepeating(string, float, float)
    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, out Component)
    Component.TryGetComponent<T>(out T)
    Component.GetComponent(string)
    Component.GetComponentInChildren(Type, bool)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(bool)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, bool)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(bool)
    Component.GetComponentsInChildren<T>(bool, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type, bool)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>(bool)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, bool)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(bool)
    Component.GetComponentsInParent<T>(bool, 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, bool)
    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, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: Unity.Netcode.RuntimeTests
    Assembly: Unity.Netcode.RuntimeTests.dll
    Syntax
    public class ChildObjectComponent : NetworkTransform

    Fields

    ClientInstances

    Declaration
    public static readonly Dictionary<ulong, NetworkObject> ClientInstances
    Field Value
    Type Description
    Dictionary<ulong, NetworkObject>

    ClientSubChildInstances

    Declaration
    public static readonly Dictionary<ulong, NetworkObject> ClientSubChildInstances
    Field Value
    Type Description
    Dictionary<ulong, NetworkObject>

    EnableChildLog

    Declaration
    public static bool EnableChildLog
    Field Value
    Type Description
    bool

    HasSubChild

    Declaration
    public static bool HasSubChild
    Field Value
    Type Description
    bool

    Instances

    Declaration
    public static readonly List<ChildObjectComponent> Instances
    Field Value
    Type Description
    List<ChildObjectComponent>

    InstancesWithLogging

    Declaration
    public static readonly List<ChildObjectComponent> InstancesWithLogging
    Field Value
    Type Description
    List<ChildObjectComponent>

    ServerAuthority

    Declaration
    public bool ServerAuthority
    Field Value
    Type Description
    bool

    SubInstances

    Declaration
    public static readonly List<ChildObjectComponent> SubInstances
    Field Value
    Type Description
    List<ChildObjectComponent>

    TestCount

    Declaration
    public static int TestCount
    Field Value
    Type Description
    int

    Properties

    AuthorityInstance

    Declaration
    public static ChildObjectComponent AuthorityInstance { get; }
    Property Value
    Type Description
    ChildObjectComponent

    AuthoritySubInstance

    Declaration
    public static ChildObjectComponent AuthoritySubInstance { get; }
    Property Value
    Type Description
    ChildObjectComponent

    Methods

    IsSubChild()

    Declaration
    protected virtual bool IsSubChild()
    Returns
    Type Description
    bool

    OnAuthorityPushTransformState(ref NetworkTransformState)

    Invoked just prior to being pushed to non-authority instances.

    Declaration
    protected override void OnAuthorityPushTransformState(ref NetworkTransform.NetworkTransformState networkTransformState)
    Parameters
    Type Name Description
    NetworkTransform.NetworkTransformState networkTransformState

    the state being pushed

    Overrides
    NetworkTransform.OnAuthorityPushTransformState(ref NetworkTransform.NetworkTransformState)
    Remarks

    This is useful to know the exact position, rotation, or scale values sent to non-authoritative instances. This is only invoked on the authoritative instance.

    OnIsServerAuthoritative()

    Override this method and return false to switch to owner authoritative mode

    Declaration
    protected override bool OnIsServerAuthoritative()
    Returns
    Type Description
    bool

    (true or false) where when false it runs as owner-client authoritative

    Overrides
    NetworkTransform.OnIsServerAuthoritative()

    OnNetworkDespawn()

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

    Declaration
    public override void OnNetworkDespawn()
    Overrides
    NetworkTransform.OnNetworkDespawn()

    OnNetworkObjectParentChanged(NetworkObject)

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

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

    the new NetworkObject parent

    Overrides
    NetworkTransform.OnNetworkObjectParentChanged(NetworkObject)
    Remarks

    When a parent changes, non-authoritative instances should:

    • Apply the resultant position, rotation, and scale from the parenting action.
    • Clear interpolators (even if not enabled on this frame)
    • Reset the interpolators to the position, rotation, and scale resultant values. This prevents interpolation visual anomalies and issues during initial synchronization

    OnNetworkSpawn()

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

    Declaration
    public override void OnNetworkSpawn()
    Overrides
    NetworkTransform.OnNetworkSpawn()

    OnNetworkTransformStateUpdated(ref NetworkTransformState, ref NetworkTransformState)

    Invoked on the non-authoritative side when the NetworkTransformState has been updated

    Declaration
    protected override void OnNetworkTransformStateUpdated(ref NetworkTransform.NetworkTransformState oldState, ref NetworkTransform.NetworkTransformState newState)
    Parameters
    Type Name Description
    NetworkTransform.NetworkTransformState oldState

    the previous NetworkTransform.NetworkTransformState

    NetworkTransform.NetworkTransformState newState

    the new NetworkTransform.NetworkTransformState

    Overrides
    NetworkTransform.OnNetworkTransformStateUpdated(ref NetworkTransform.NetworkTransformState, ref NetworkTransform.NetworkTransformState)

    OnSynchronize<T>(ref BufferSerializer<T>)

    This is invoked when a new client joins (server and client sides) Server Side: Serializes as if we were teleporting (everything is sent via NetworkTransformState) Client Side: Adds the interpolated state which applies the NetworkTransformState as well

    Declaration
    protected override void OnSynchronize<T>(ref BufferSerializer<T> serializer) where T : IReaderWriter
    Parameters
    Type Name Description
    BufferSerializer<T> serializer
    Type Parameters
    Name Description
    T
    Overrides
    NetworkTransform.OnSynchronize<T>(ref BufferSerializer<T>)
    Remarks

    If a derived class overrides this, then make sure to invoke this base method!

    Reset()

    Declaration
    public static void Reset()
    In This Article
    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)