Class NetworkTransformTests
Integration tests for NetworkTransform that will test both server and host operating modes and will test both authoritative models for each operating mode.
Inheritance
Inherited Members
Namespace: Unity.Netcode.RuntimeTests
Assembly: Unity.Netcode.RuntimeTests.dll
Syntax
[TestFixture(new object[] { NetcodeIntegrationTest.HostOrServer.Host, NetworkTransformBase.Authority.ServerAuthority, NetworkTransformBase.RotationCompression.None, NetworkTransformBase.Rotation.Euler, NetworkTransformBase.Precision.Full })]
[TestFixture(new object[] { NetcodeIntegrationTest.HostOrServer.Host, NetworkTransformBase.Authority.ServerAuthority, NetworkTransformBase.RotationCompression.None, NetworkTransformBase.Rotation.Euler, NetworkTransformBase.Precision.Half })]
[TestFixture(new object[] { NetcodeIntegrationTest.HostOrServer.Host, NetworkTransformBase.Authority.ServerAuthority, NetworkTransformBase.RotationCompression.None, NetworkTransformBase.Rotation.Quaternion, NetworkTransformBase.Precision.Full })]
[TestFixture(new object[] { NetcodeIntegrationTest.HostOrServer.Host, NetworkTransformBase.Authority.ServerAuthority, NetworkTransformBase.RotationCompression.None, NetworkTransformBase.Rotation.Quaternion, NetworkTransformBase.Precision.Half })]
[TestFixture(new object[] { NetcodeIntegrationTest.HostOrServer.Host, NetworkTransformBase.Authority.ServerAuthority, NetworkTransformBase.RotationCompression.QuaternionCompress, NetworkTransformBase.Rotation.Quaternion, NetworkTransformBase.Precision.Full })]
[TestFixture(new object[] { NetcodeIntegrationTest.HostOrServer.Host, NetworkTransformBase.Authority.ServerAuthority, NetworkTransformBase.RotationCompression.QuaternionCompress, NetworkTransformBase.Rotation.Quaternion, NetworkTransformBase.Precision.Half })]
[TestFixture(new object[] { NetcodeIntegrationTest.HostOrServer.Host, NetworkTransformBase.Authority.OwnerAuthority, NetworkTransformBase.RotationCompression.None, NetworkTransformBase.Rotation.Euler, NetworkTransformBase.Precision.Full })]
[TestFixture(new object[] { NetcodeIntegrationTest.HostOrServer.Host, NetworkTransformBase.Authority.OwnerAuthority, NetworkTransformBase.RotationCompression.None, NetworkTransformBase.Rotation.Euler, NetworkTransformBase.Precision.Half })]
[TestFixture(new object[] { NetcodeIntegrationTest.HostOrServer.Host, NetworkTransformBase.Authority.OwnerAuthority, NetworkTransformBase.RotationCompression.None, NetworkTransformBase.Rotation.Quaternion, NetworkTransformBase.Precision.Full })]
[TestFixture(new object[] { NetcodeIntegrationTest.HostOrServer.Host, NetworkTransformBase.Authority.OwnerAuthority, NetworkTransformBase.RotationCompression.None, NetworkTransformBase.Rotation.Quaternion, NetworkTransformBase.Precision.Half })]
[TestFixture(new object[] { NetcodeIntegrationTest.HostOrServer.Host, NetworkTransformBase.Authority.OwnerAuthority, NetworkTransformBase.RotationCompression.QuaternionCompress, NetworkTransformBase.Rotation.Quaternion, NetworkTransformBase.Precision.Full })]
[TestFixture(new object[] { NetcodeIntegrationTest.HostOrServer.Host, NetworkTransformBase.Authority.OwnerAuthority, NetworkTransformBase.RotationCompression.QuaternionCompress, NetworkTransformBase.Rotation.Quaternion, NetworkTransformBase.Precision.Half })]
public class NetworkTransformTests : NetworkTransformBase
Constructors
NetworkTransformTests(HostOrServer, Authority, RotationCompression, Rotation, Precision)
Constructor
Declaration
public NetworkTransformTests(NetcodeIntegrationTest.HostOrServer testWithHost, NetworkTransformBase.Authority authority, NetworkTransformBase.RotationCompression rotationCompression, NetworkTransformBase.Rotation rotation, NetworkTransformBase.Precision precision)
Parameters
Type | Name | Description |
---|---|---|
NetcodeIntegrationTest.HostOrServer | testWithHost | Determines if we are running as a server or host |
NetworkTransformBase.Authority | authority | Determines if we are using server or owner authority |
NetworkTransformBase.RotationCompression | rotationCompression | |
NetworkTransformBase.Rotation | rotation | |
NetworkTransformBase.Precision | precision |
Fields
k_TickRate
Declaration
protected const int k_TickRate = 60
Field Value
Type | Description |
---|---|
int |
Properties
m_EnableTimeTravel
Declaration
protected override bool m_EnableTimeTravel { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
m_SetupIsACoroutine
Declaration
protected override bool m_SetupIsACoroutine { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
m_TearDownIsACoroutine
Declaration
protected override bool m_TearDownIsACoroutine { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
Methods
GetDeltaVarianceThreshold()
Declaration
protected override float GetDeltaVarianceThreshold()
Returns
Type | Description |
---|---|
float |
Overrides
GetTickRate()
Declaration
protected override uint GetTickRate()
Returns
Type | Description |
---|---|
uint |
Overrides
LateJoiningPlayerInitialScaleValues(TransformSpace, Interpolation, OverrideState)
Checks scale of a late joining client for all instances of the late joining client's player
Declaration
[Test]
public void LateJoiningPlayerInitialScaleValues(NetworkTransformBase.TransformSpace testLocalTransform, NetworkTransformBase.Interpolation interpolation, NetworkTransformBase.OverrideState overideState)
Parameters
Type | Name | Description |
---|---|---|
NetworkTransformBase.TransformSpace | testLocalTransform | |
NetworkTransformBase.Interpolation | interpolation | |
NetworkTransformBase.OverrideState | overideState |
NetworkTransformMultipleChangesOverTime(TransformSpace, OverrideState, Axis)
This validates that multiple changes can occur within the same tick or over several ticks while still keeping non-authoritative instances synchronized.
Declaration
[Test]
public void NetworkTransformMultipleChangesOverTime(NetworkTransformBase.TransformSpace testLocalTransform, NetworkTransformBase.OverrideState overideState, NetworkTransformBase.Axis axis)
Parameters
Type | Name | Description |
---|---|---|
NetworkTransformBase.TransformSpace | testLocalTransform | |
NetworkTransformBase.OverrideState | overideState | |
NetworkTransformBase.Axis | axis |
Remarks
When testing 3 axis: Interpolation is disabled and only 3 delta updates are applied per unique test When testing 3 axis: Interpolation is enabled, sometimes an axis is intentionally excluded during a delta update, and it runs through 8 delta updates per unique test.
OnSetup()
Handles the Setup for coroutine based derived tests
Declaration
protected override IEnumerator OnSetup()
Returns
Type | Description |
---|---|
IEnumerator |
Overrides
OwnerParentingTest(float)
This test is based on the v2.x SwitchTransformSpaceWhenParented test but only validates the ability for an owner to apply parenting locally in order to help synchronizing when parenting.
Declaration
[Test]
public void OwnerParentingTest(float scale)
Parameters
Type | Name | Description |
---|---|---|
float | scale | various scale values to be applied |
ParentedNetworkTransformTest(Interpolation, bool, float)
Validates that transform values remain the same when a NetworkTransform is parented under another NetworkTransform under all of the possible axial conditions as well as when the parent has a varying scale.
Declaration
[Test]
public void ParentedNetworkTransformTest(NetworkTransformBase.Interpolation interpolation, bool worldPositionStays, float scale)
Parameters
Type | Name | Description |
---|---|---|
NetworkTransformBase.Interpolation | interpolation | |
bool | worldPositionStays | |
float | scale |
TeleportTest(Interpolation)
The tests teleporting with and without interpolation
Declaration
[Test]
public void TeleportTest(NetworkTransformBase.Interpolation interpolation)
Parameters
Type | Name | Description |
---|---|---|
NetworkTransformBase.Interpolation | interpolation |
TestAuthoritativeTransformChangeOneAtATime(TransformSpace, Interpolation, OverrideState)
Tests changing all axial values one at a time. These tests are performed:
- While in local space and world space
- While interpolation is enabled and disabled
- Using the TryCommitTransformToServer "override" that can be used from a child derived or external class.
Declaration
[Test]
public void TestAuthoritativeTransformChangeOneAtATime(NetworkTransformBase.TransformSpace testLocalTransform, NetworkTransformBase.Interpolation interpolation, NetworkTransformBase.OverrideState overideState)
Parameters
Type | Name | Description |
---|---|---|
NetworkTransformBase.TransformSpace | testLocalTransform | |
NetworkTransformBase.Interpolation | interpolation | |
NetworkTransformBase.OverrideState | overideState |