docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class NetworkTransformOwnershipTests

    Inheritance
    object
    NetcodeIntegrationTest
    IntegrationTestWithApproximation
    NetworkTransformOwnershipTests
    Inherited Members
    IntegrationTestWithApproximation.GetDeltaVarianceThreshold()
    IntegrationTestWithApproximation.EulerDelta(float, float)
    IntegrationTestWithApproximation.EulerDelta(Vector3, Vector3)
    IntegrationTestWithApproximation.ApproximatelyEuler(float, float)
    IntegrationTestWithApproximation.Approximately(float, float)
    IntegrationTestWithApproximation.Approximately(Vector2, Vector2)
    IntegrationTestWithApproximation.Approximately(Vector3, Vector3)
    IntegrationTestWithApproximation.Approximately(Quaternion, Quaternion)
    IntegrationTestWithApproximation.ApproximatelyEuler(Vector3, Vector3)
    IntegrationTestWithApproximation.GetRandomVector3(float, float)
    NetcodeIntegrationTest.s_GlobalTimeoutHelper
    NetcodeIntegrationTest.s_DefaultWaitForTick
    NetcodeIntegrationTest.NetcodeLogAssert
    NetcodeIntegrationTest.s_GlobalNetworkObjects
    NetcodeIntegrationTest.k_DefaultTickRate
    NetcodeIntegrationTest.m_CreateServerFirst
    NetcodeIntegrationTest.m_PlayerPrefab
    NetcodeIntegrationTest.m_ServerNetworkManager
    NetcodeIntegrationTest.m_ClientNetworkManagers
    NetcodeIntegrationTest.m_PlayerNetworkObjects
    NetcodeIntegrationTest.m_UseHost
    NetcodeIntegrationTest.m_TargetFrameRate
    NetcodeIntegrationTest.RegisterNetworkObject(NetworkObject)
    NetcodeIntegrationTest.DeregisterNetworkObject(NetworkObject)
    NetcodeIntegrationTest.DeregisterNetworkObject(ulong, ulong)
    NetcodeIntegrationTest.VerboseDebug(string)
    NetcodeIntegrationTest.OnSetVerboseDebug()
    NetcodeIntegrationTest.OnSetIntegrationTestMode()
    NetcodeIntegrationTest.OnOneTimeSetup()
    NetcodeIntegrationTest.OneTimeSetup()
    NetcodeIntegrationTest.OnSetup()
    NetcodeIntegrationTest.OnInlineSetup()
    NetcodeIntegrationTest.SetUp()
    NetcodeIntegrationTest.OnCreatePlayerPrefab()
    NetcodeIntegrationTest.OnPlayerPrefabGameObjectCreated()
    NetcodeIntegrationTest.CreateServerAndClients()
    NetcodeIntegrationTest.OnNewClientStarted(NetworkManager)
    NetcodeIntegrationTest.OnNewClientStartedAndConnected(NetworkManager)
    NetcodeIntegrationTest.ShouldWaitForNewClientToConnect(NetworkManager)
    NetcodeIntegrationTest.CreateAndStartNewClient()
    NetcodeIntegrationTest.CreateAndStartNewClientWithTimeTravel()
    NetcodeIntegrationTest.StopOneClient(NetworkManager, bool)
    NetcodeIntegrationTest.StopOneClientWithTimeTravel(NetworkManager, bool)
    NetcodeIntegrationTest.SetTimeTravelSimulatedLatency(float)
    NetcodeIntegrationTest.SetTimeTravelSimulatedDropRate(float)
    NetcodeIntegrationTest.SetTimeTravelSimulatedLatencyJitter(float)
    NetcodeIntegrationTest.CreateServerAndClients(int)
    NetcodeIntegrationTest.CanStartServerAndClients()
    NetcodeIntegrationTest.OnStartedServerAndClients()
    NetcodeIntegrationTest.OnTimeTravelStartedServerAndClients()
    NetcodeIntegrationTest.OnServerAndClientsConnected()
    NetcodeIntegrationTest.OnTimeTravelServerAndClientsConnected()
    NetcodeIntegrationTest.ClientNetworkManagerPostStartInit()
    NetcodeIntegrationTest.StartServerAndClients()
    NetcodeIntegrationTest.StartServerAndClientsWithTimeTravel()
    NetcodeIntegrationTest.CanClientsLoad()
    NetcodeIntegrationTest.CanClientsUnload()
    NetcodeIntegrationTest.DeRegisterSceneManagerHandler()
    NetcodeIntegrationTest.RegisterSceneManagerHandler()
    NetcodeIntegrationTest.OnCanSceneCleanUpUnload(Scene)
    NetcodeIntegrationTest.ShutdownAndCleanUp()
    NetcodeIntegrationTest.OnTearDown()
    NetcodeIntegrationTest.OnInlineTearDown()
    NetcodeIntegrationTest.TearDown()
    NetcodeIntegrationTest.OnOneTimeTearDown()
    NetcodeIntegrationTest.OneTimeTearDown()
    NetcodeIntegrationTest.CanDestroyNetworkObject(NetworkObject)
    NetcodeIntegrationTest.DestroySceneNetworkObjects()
    NetcodeIntegrationTest.EnableMessageLogging()
    NetcodeIntegrationTest.WaitForConditionOrTimeOut(Func<bool>, TimeoutHelper)
    NetcodeIntegrationTest.WaitForConditionOrTimeOutWithTimeTravel(Func<bool>, int)
    NetcodeIntegrationTest.WaitForConditionOrTimeOut(IConditionalPredicate, TimeoutHelper)
    NetcodeIntegrationTest.WaitForConditionOrTimeOutWithTimeTravel(IConditionalPredicate, int)
    NetcodeIntegrationTest.WaitForClientsConnectedOrTimeOut(NetworkManager[])
    NetcodeIntegrationTest.WaitForClientsConnectedOrTimeOutWithTimeTravel(NetworkManager[])
    NetcodeIntegrationTest.WaitForClientsConnectedOrTimeOut()
    NetcodeIntegrationTest.WaitForClientsConnectedOrTimeOutWithTimeTravel()
    NetcodeIntegrationTest.CreateNetworkObjectPrefab(string)
    NetcodeIntegrationTest.SpawnObject(GameObject, NetworkManager, bool)
    NetcodeIntegrationTest.SpawnObjects(GameObject, NetworkManager, int, bool)
    NetcodeIntegrationTest.AssertOnTimeout(string, TimeoutHelper)
    NetcodeIntegrationTest.WaitForTicks(NetworkManager, int)
    NetcodeIntegrationTest.TimeTravel(double, int)
    NetcodeIntegrationTest.GetTickRate()
    NetcodeIntegrationTest.GetFrameRate()
    NetcodeIntegrationTest.ConfigureFramesPerTick()
    NetcodeIntegrationTest.TimeTravelAdvanceTick()
    NetcodeIntegrationTest.TimeTravelToNextTick()
    NetcodeIntegrationTest.SimulateOneFrame()
    NetcodeIntegrationTest.TotalClients
    NetcodeIntegrationTest.m_EnableVerboseDebug
    NetcodeIntegrationTest.m_BypassConnectionTimeout
    NetcodeIntegrationTest.m_EnableTimeTravel
    NetcodeIntegrationTest.m_SetupIsACoroutine
    NetcodeIntegrationTest.m_TearDownIsACoroutine
    NetcodeIntegrationTest.LogAllMessages
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Unity.Netcode.RuntimeTests
    Assembly: Unity.Netcode.RuntimeTests.dll
    Syntax
    public class NetworkTransformOwnershipTests : IntegrationTestWithApproximation

    Properties

    NumberOfClients

    Declaration
    protected override int NumberOfClients { get; }
    Property Value
    Type Description
    int
    Overrides
    NetcodeIntegrationTest.NumberOfClients

    Methods

    LateJoinedNonOwnerClientCannotChangeTransform()

    This test verifies a late joining client cannot change the transform when:

    • A NetworkObject is spawned with a host and one or more connected clients
    • The NetworkTransform is owner authoritative and spawned with the host as the owner
    • The host does not change the transform values
    • One of the already connected clients gains ownership of the spawned NetworkObject
    • The new client owner does not change the transform values
    • A new late joining client connects and is synchronized
    • The newly connected late joining client tries to change the transform of the NetworkObject it does not own
    Declaration
    [UnityTest]
    public IEnumerator LateJoinedNonOwnerClientCannotChangeTransform()
    Returns
    Type Description
    IEnumerator

    OnNewClientCreated(NetworkManager)

    Clients created during a test need to have their prefabs list updated to match the server's prefab list.

    Declaration
    protected override void OnNewClientCreated(NetworkManager networkManager)
    Parameters
    Type Name Description
    NetworkManager networkManager
    Overrides
    NetcodeIntegrationTest.OnNewClientCreated(NetworkManager)

    OnServerAndClientsCreated()

    Declaration
    protected override void OnServerAndClientsCreated()
    Overrides
    NetcodeIntegrationTest.OnServerAndClientsCreated()

    OwnerAuthoritativeTest(StartingOwnership)

    This verifies that when authority is owner authoritative the owner's Rigidbody is kinematic and the non-owner's is not. This also verifies that we can switch between owners and that only the owner can update the transform while non-owners cannot.

    Declaration
    [UnityTest]
    public IEnumerator OwnerAuthoritativeTest(NetworkTransformOwnershipTests.StartingOwnership startingOwnership)
    Parameters
    Type Name Description
    NetworkTransformOwnershipTests.StartingOwnership startingOwnership
    Returns
    Type Description
    IEnumerator

    ServerAuthoritativeTest()

    This verifies that when authority is server authoritative the client's Rigidbody is kinematic and the server is not. This also verifies only the server can apply updates to the transform while the clients cannot.

    Declaration
    [UnityTest]
    public IEnumerator ServerAuthoritativeTest()
    Returns
    Type Description
    IEnumerator
    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)