Class NetworkTransformPacketLossTests
Integration tests for NetworkTransform that will test both server and host operating modes and will test both authoritative models for each operating mode when packet loss and latency is present.
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 })]
public class NetworkTransformPacketLossTests : NetworkTransformBase
Constructors
NetworkTransformPacketLossTests(HostOrServer, Authority, RotationCompression, Rotation, Precision)
Constructor
Declaration
public NetworkTransformPacketLossTests(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 |
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
NetworkTransformMultipleChangesOverTime(TransformSpace, 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.Axis axis)
Parameters
Type | Name | Description |
---|---|---|
NetworkTransformBase.TransformSpace | testLocalTransform | |
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.
OnTimeTravelServerAndClientsConnected()
Declaration
protected override void OnTimeTravelServerAndClientsConnected()
Overrides
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 |
TestAuthoritativeTransformChangeOneAtATime(TransformSpace, Interpolation)
Tests changing all axial values one at a time with packet loss These tests are performed:
- While in local space and world space
- While interpolation is enabled and disabled
Declaration
[Test]
public void TestAuthoritativeTransformChangeOneAtATime(NetworkTransformBase.TransformSpace testLocalTransform, NetworkTransformBase.Interpolation interpolation)
Parameters
Type | Name | Description |
---|---|---|
NetworkTransformBase.TransformSpace | testLocalTransform | |
NetworkTransformBase.Interpolation | interpolation |
TestSameFrameDeltaStateAndTeleport(TransformSpace, Interpolation)
Declaration
[Test]
public void TestSameFrameDeltaStateAndTeleport(NetworkTransformBase.TransformSpace testLocalTransform, NetworkTransformBase.Interpolation interpolation)
Parameters
Type | Name | Description |
---|---|---|
NetworkTransformBase.TransformSpace | testLocalTransform | |
NetworkTransformBase.Interpolation | interpolation |