diff --git a/.yamato/package-pack.yml b/.yamato/package-pack.yml index f4b02dc19a..106fa15721 100644 --- a/.yamato/package-pack.yml +++ b/.yamato/package-pack.yml @@ -35,7 +35,7 @@ package_pack_-_ngo_{{ platform.name }}: {% endif %} timeout: 0.25 variables: - XRAY_PROFILE: "supported ./pvpExceptions.json" + XRAY_PROFILE: "gold ./pvpExceptions.json" commands: - upm-pvp pack "com.unity.netcode.gameobjects" --output upm-ci~/packages - upm-pvp xray --packages "upm-ci~/packages/com.unity.netcode.gameobjects*.tgz" --results pvp-results diff --git a/.yamato/package-tests.yml b/.yamato/package-tests.yml index ff1188e337..cbadbfba44 100644 --- a/.yamato/package-tests.yml +++ b/.yamato/package-tests.yml @@ -36,7 +36,7 @@ package_test_-_ngo_{{ editor }}_{{ platform.name }}: model: {{ platform.model }} # This is set only in platforms where we want non-default model to use (more information in project.metafile) {% endif %} variables: - XRAY_PROFILE: "supported ./pvpExceptions.json" + XRAY_PROFILE: "gold ./pvpExceptions.json" UNITY_EXT_LOGGING: 1 commands: - unity-downloader-cli --fast --wait -u {{ editor }} -c Editor {% if platform.name == "mac" %} --arch arm64 {% endif %} # For macOS we use ARM64 models. diff --git a/.yamato/project.metafile b/.yamato/project.metafile index 1ec3102f82..167f609aad 100644 --- a/.yamato/project.metafile +++ b/.yamato/project.metafile @@ -184,6 +184,3 @@ projects: - name: minimalproject path: minimalproject has_tests: false - - name: testproject-tools-integration - path: testproject-tools-integration - has_tests: true diff --git a/com.unity.netcode.gameobjects/Editor/AssemblyInfo.cs b/com.unity.netcode.gameobjects/Editor/AssemblyInfo.cs index 41e6599661..0f4e7e2b1d 100644 --- a/com.unity.netcode.gameobjects/Editor/AssemblyInfo.cs +++ b/com.unity.netcode.gameobjects/Editor/AssemblyInfo.cs @@ -2,7 +2,7 @@ #if UNITY_INCLUDE_TESTS #if UNITY_EDITOR -[assembly: InternalsVisibleTo("Unity.Netcode.EditorTests")] -[assembly: InternalsVisibleTo("TestProject.RuntimeTests")] +[assembly: InternalsVisibleTo("Unity.Netcode.Editor.Tests")] +[assembly: InternalsVisibleTo("TestProject.Runtime.Tests")] #endif // UNITY_EDITOR #endif // UNITY_INCLUDE_TESTS diff --git a/com.unity.netcode.gameobjects/Editor/CodeGen/com.unity.netcode.editor.codegen.asmdef b/com.unity.netcode.gameobjects/Editor/CodeGen/Unity.Netcode.Editor.CodeGen.asmdef similarity index 100% rename from com.unity.netcode.gameobjects/Editor/CodeGen/com.unity.netcode.editor.codegen.asmdef rename to com.unity.netcode.gameobjects/Editor/CodeGen/Unity.Netcode.Editor.CodeGen.asmdef diff --git a/com.unity.netcode.gameobjects/Editor/CodeGen/com.unity.netcode.editor.codegen.asmdef.meta b/com.unity.netcode.gameobjects/Editor/CodeGen/Unity.Netcode.Editor.CodeGen.asmdef.meta similarity index 100% rename from com.unity.netcode.gameobjects/Editor/CodeGen/com.unity.netcode.editor.codegen.asmdef.meta rename to com.unity.netcode.gameobjects/Editor/CodeGen/Unity.Netcode.Editor.CodeGen.asmdef.meta diff --git a/com.unity.netcode.gameobjects/Editor/PackageChecker/com.unity.netcode.editor.packagechecker.asmdef b/com.unity.netcode.gameobjects/Editor/PackageChecker/Unity.Netcode.PackageChecker.Editor.asmdef similarity index 50% rename from com.unity.netcode.gameobjects/Editor/PackageChecker/com.unity.netcode.editor.packagechecker.asmdef rename to com.unity.netcode.gameobjects/Editor/PackageChecker/Unity.Netcode.PackageChecker.Editor.asmdef index 8f860578a1..9599c27b6c 100644 --- a/com.unity.netcode.gameobjects/Editor/PackageChecker/com.unity.netcode.editor.packagechecker.asmdef +++ b/com.unity.netcode.gameobjects/Editor/PackageChecker/Unity.Netcode.PackageChecker.Editor.asmdef @@ -1,14 +1,22 @@ { - "name": "Unity.Netcode.Editor.PackageChecker", + "name": "Unity.Netcode.PackageChecker.Editor", "rootNamespace": "Unity.Netcode.Editor.PackageChecker", + "references": [], "includePlatforms": [ "Editor" ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], "versionDefines": [ { "name": "com.unity.netcode.adapter.utp", "expression": "", "define": "COM_UNITY_NETCODE_ADAPTER_UTP" } - ] + ], + "noEngineReferences": false } \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/Editor/PackageChecker/com.unity.netcode.editor.packagechecker.asmdef.meta b/com.unity.netcode.gameobjects/Editor/PackageChecker/Unity.Netcode.PackageChecker.Editor.asmdef.meta similarity index 100% rename from com.unity.netcode.gameobjects/Editor/PackageChecker/com.unity.netcode.editor.packagechecker.asmdef.meta rename to com.unity.netcode.gameobjects/Editor/PackageChecker/Unity.Netcode.PackageChecker.Editor.asmdef.meta diff --git a/com.unity.netcode.gameobjects/Editor/com.unity.netcode.editor.asmdef b/com.unity.netcode.gameobjects/Editor/Unity.Netcode.Editor.asmdef similarity index 100% rename from com.unity.netcode.gameobjects/Editor/com.unity.netcode.editor.asmdef rename to com.unity.netcode.gameobjects/Editor/Unity.Netcode.Editor.asmdef diff --git a/com.unity.netcode.gameobjects/Editor/com.unity.netcode.editor.asmdef.meta b/com.unity.netcode.gameobjects/Editor/Unity.Netcode.Editor.asmdef.meta similarity index 100% rename from com.unity.netcode.gameobjects/Editor/com.unity.netcode.editor.asmdef.meta rename to com.unity.netcode.gameobjects/Editor/Unity.Netcode.Editor.asmdef.meta diff --git a/com.unity.netcode.gameobjects/Runtime/AssemblyInfo.cs b/com.unity.netcode.gameobjects/Runtime/AssemblyInfo.cs index 82e95f556e..fe10e21733 100644 --- a/com.unity.netcode.gameobjects/Runtime/AssemblyInfo.cs +++ b/com.unity.netcode.gameobjects/Runtime/AssemblyInfo.cs @@ -4,22 +4,24 @@ [assembly: InternalsVisibleTo("Unity.Netcode.Editor")] [assembly: InternalsVisibleTo("Unity.Netcode.Editor.CodeGen")] #endif // UNITY_EDITOR -#if MULTIPLAYER_TOOLS -[assembly: InternalsVisibleTo("Unity.Multiplayer.Tools.Adapters.Ngo1WithUtp2")] -#endif // MULTIPLAYER_TOOLS + #if COM_UNITY_NETCODE_ADAPTER_UTP [assembly: InternalsVisibleTo("Unity.Netcode.Adapter.UTP")] #endif // COM_UNITY_NETCODE_ADAPTER_UTP #if UNITY_INCLUDE_TESTS -[assembly: InternalsVisibleTo("Unity.Netcode.RuntimeTests")] +[assembly: InternalsVisibleTo("Unity.Netcode.Runtime.Tests")] [assembly: InternalsVisibleTo("Unity.Netcode.TestHelpers.Runtime")] -[assembly: InternalsVisibleTo("TestProject.RuntimeTests")] +[assembly: InternalsVisibleTo("TestProject.Runtime.Tests")] #if UNITY_EDITOR -[assembly: InternalsVisibleTo("Unity.Netcode.EditorTests")] -[assembly: InternalsVisibleTo("TestProject.EditorTests")] +[assembly: InternalsVisibleTo("Unity.Netcode.Editor.Tests")] +[assembly: InternalsVisibleTo("TestProject.Editor.Tests")] #endif // UNITY_EDITOR + #if MULTIPLAYER_TOOLS +[assembly: InternalsVisibleTo("Unity.Multiplayer.Tools.GameObjects.Tests")] +[assembly: InternalsVisibleTo("Unity.Multiplayer.Tools.Adapters.Ngo1WithUtp2")] [assembly: InternalsVisibleTo("TestProject.ToolsIntegration.RuntimeTests")] +[assembly: InternalsVisibleTo("TestProject.Netcode.GameObjejct.Runtime.Tests")] #endif // MULTIPLAYER_TOOLS #endif // UNITY_INCLUDE_TESTS diff --git a/com.unity.netcode.gameobjects/Runtime/Components/NetworkTransform.cs b/com.unity.netcode.gameobjects/Runtime/Components/NetworkTransform.cs index c4321958d5..d369e82332 100644 --- a/com.unity.netcode.gameobjects/Runtime/Components/NetworkTransform.cs +++ b/com.unity.netcode.gameobjects/Runtime/Components/NetworkTransform.cs @@ -852,7 +852,7 @@ public void NetworkSerialize(BufferSerializer serializer) where T : IReade if (HasScaleChange) { // If we are teleporting (which includes synchronizing) and the associated NetworkObject has a parent - // then we want to serialize the LossyScale since NetworkObject spawn order is not guaranteed + // then we want to serialize the LossyScale since NetworkObject spawn order is not guaranteed if (IsTeleportingNextFrame && IsParented) { serializer.SerializeValue(ref LossyScale); @@ -1014,7 +1014,7 @@ public enum InterpolationTypes /// Uses a 1 to 2 phase smooth dampening approach where:
/// /// The first phase smooth dampens towards the current tick state update being processed by the accumulated delta time relative to the time to target. - /// The second phase (optional) performs lerp smoothing where the current respective transform value is lerped towards the result of the third phase at a rate of delta time divided by the respective max interpolation time. + /// The second phase (optional) performs lerp smoothing where the current respective transform value is lerped towards the result of the first phase at a rate of delta time divided by the respective max interpolation time. /// /// /// @@ -3777,13 +3777,13 @@ internal void ChildRegistration(NetworkObject child, bool isAdding) /// /// - /// When not using a NetworkRigidbody and using an owner authoritative motion model, you can
+ /// When not using a NetworkRigidbody and using an owner authoritative motion model, you can
/// improve parenting transitions into and out of world and local space by:
/// - Disabling
/// - Enabling
/// - Enabling
/// -- Note: This handles changing from world space to local space for you.
- /// When these settings are applied, transitioning from:
+ /// When these settings are applied, transitioning from:
/// - World space to local space (root-null parent/null to parent) /// - Local space back to world space ( parent to root-null parent) /// - Local space to local space ( parent to parent) @@ -4152,12 +4152,12 @@ private void UpdateInterpolation() } // Note: This is for the legacy lerp type in order to maintain the same end result for any games under development that have tuned their - // project's to match the legacy lerp's end result. This will not allow changes + // project's to match the legacy lerp's end result. var cachedRenderTime = 0.0; if (PositionInterpolationType == InterpolationTypes.LegacyLerp || RotationInterpolationType == InterpolationTypes.LegacyLerp || ScaleInterpolationType == InterpolationTypes.LegacyLerp) { // Since InterpolationBufferTickOffset defaults to zero, this should not impact exist projects but still provides users with the ability to tweak - // their ticks ago time. + // their ticks ago time. var ticksAgo = (!IsServerAuthoritative() && !IsServer ? 2 : 1) + InterpolationBufferTickOffset; cachedRenderTime = timeSystem.TimeTicksAgo(ticksAgo).Time; } @@ -4584,7 +4584,7 @@ internal static void UpdateNetworkTick(NetworkManager networkManager) /// /// /// Note: You can adjust this value during runtime. Increasing this value will set non-authority instances that much further - /// behind the authority instance but will increase the number of state updates to be processed. Increasing this can be useful + /// behind the authority instance but will increase the number of state updates to be processed. Increasing this can be useful /// under higher latency conditions.
/// The default value is 1 tick (plus the tick latency). When running on a local network, reducing this to 0 is recommended.
/// diff --git a/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ChangeOwnershipMessage.cs b/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ChangeOwnershipMessage.cs index 32f162c50f..c9148712ef 100644 --- a/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ChangeOwnershipMessage.cs +++ b/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ChangeOwnershipMessage.cs @@ -381,7 +381,7 @@ private void HandleOwnershipChange(ref NetworkContext context) if (originalOwner == networkManager.LocalClientId && !networkManager.DistributedAuthorityMode) { - // Fully synchronize NetworkVariables with either read or write ownership permissions. + // Fully synchronize NetworkVariables with either read or write ownership permissions. networkObject.SynchronizeOwnerNetworkVariables(originalOwner, networkObject.PreviousOwnerId); } diff --git a/com.unity.netcode.gameobjects/Runtime/com.unity.netcode.runtime.asmdef b/com.unity.netcode.gameobjects/Runtime/Unity.Netcode.Runtime.asmdef similarity index 100% rename from com.unity.netcode.gameobjects/Runtime/com.unity.netcode.runtime.asmdef rename to com.unity.netcode.gameobjects/Runtime/Unity.Netcode.Runtime.asmdef diff --git a/com.unity.netcode.gameobjects/Runtime/com.unity.netcode.runtime.asmdef.meta b/com.unity.netcode.gameobjects/Runtime/Unity.Netcode.Runtime.asmdef.meta similarity index 100% rename from com.unity.netcode.gameobjects/Runtime/com.unity.netcode.runtime.asmdef.meta rename to com.unity.netcode.gameobjects/Runtime/Unity.Netcode.Runtime.asmdef.meta diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/AssemblyInfo.cs b/com.unity.netcode.gameobjects/TestHelpers/Runtime/AssemblyInfo.cs deleted file mode 100644 index e880ab216e..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/AssemblyInfo.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Runtime.CompilerServices; - -#if UNITY_INCLUDE_TESTS -[assembly: InternalsVisibleTo("Unity.Netcode.RuntimeTests")] -[assembly: InternalsVisibleTo("TestProject.RuntimeTests")] -#if UNITY_EDITOR -[assembly: InternalsVisibleTo("Unity.Netcode.Editor")] -[assembly: InternalsVisibleTo("TestProject.EditorTests")] -#endif // UNITY_EDITOR -#if MULTIPLAYER_TOOLS -[assembly: InternalsVisibleTo("TestProject.ToolsIntegration.RuntimeTests")] -#endif // MULTIPLAYER_TOOLS -#endif // UNITY_INCLUDE_TESTS diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/AssemblyInfo.cs.meta b/com.unity.netcode.gameobjects/TestHelpers/Runtime/AssemblyInfo.cs.meta deleted file mode 100644 index a3b1d558f4..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/AssemblyInfo.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 10ca1ce26995e754599c9eedc2c228d8 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/IntegrationTestWithApproximation.cs b/com.unity.netcode.gameobjects/TestHelpers/Runtime/IntegrationTestWithApproximation.cs deleted file mode 100644 index 89b1e89e53..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/IntegrationTestWithApproximation.cs +++ /dev/null @@ -1,98 +0,0 @@ -using System; -using System.Runtime.CompilerServices; -using UnityEngine; -using Random = UnityEngine.Random; - - -namespace Unity.Netcode.TestHelpers.Runtime -{ - public abstract class IntegrationTestWithApproximation : NetcodeIntegrationTest - { - private const float k_AproximateDeltaVariance = 0.016f; - - protected string GetVector3Values(ref Vector3 vector3) - { - return $"({vector3.x:F6},{vector3.y:F6},{vector3.z:F6})"; - } - - protected string GetVector3Values(Vector3 vector3) - { - return GetVector3Values(ref vector3); - } - - protected virtual float GetDeltaVarianceThreshold() - { - return k_AproximateDeltaVariance; - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - protected float EulerDelta(float a, float b) - { - return Mathf.DeltaAngle(a, b); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - protected Vector3 EulerDelta(Vector3 a, Vector3 b) - { - return new Vector3(Mathf.DeltaAngle(a.x, b.x), Mathf.DeltaAngle(a.y, b.y), Mathf.DeltaAngle(a.z, b.z)); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - protected bool ApproximatelyEuler(float a, float b) - { - return Mathf.Abs(EulerDelta(a, b)) <= GetDeltaVarianceThreshold(); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - protected bool Approximately(float a, float b) - { - return Mathf.Abs(a - b) <= GetDeltaVarianceThreshold(); - } - - protected bool Approximately(Vector2 a, Vector2 b) - { - var deltaVariance = GetDeltaVarianceThreshold(); - return Math.Round(Mathf.Abs(a.x - b.x), 2) <= deltaVariance && - Math.Round(Mathf.Abs(a.y - b.y), 2) <= deltaVariance; - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - protected bool Approximately(Vector3 a, Vector3 b) - { - var deltaVariance = GetDeltaVarianceThreshold(); - return Math.Round(Mathf.Abs(a.x - b.x), 2) <= deltaVariance && - Math.Round(Mathf.Abs(a.y - b.y), 2) <= deltaVariance && - Math.Round(Mathf.Abs(a.z - b.z), 2) <= deltaVariance; - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - protected bool Approximately(Quaternion a, Quaternion b) - { - var deltaVariance = GetDeltaVarianceThreshold(); - return Mathf.Abs(a.x - b.x) <= deltaVariance && - Mathf.Abs(a.y - b.y) <= deltaVariance && - Mathf.Abs(a.z - b.z) <= deltaVariance && - Mathf.Abs(a.w - b.w) <= deltaVariance; - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - protected bool ApproximatelyEuler(Vector3 a, Vector3 b) - { - return ApproximatelyEuler(a.x, b.x) && ApproximatelyEuler(a.y, b.y) && ApproximatelyEuler(a.z, b.z); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - protected Vector3 GetRandomVector3(float min, float max) - { - return new Vector3(Random.Range(min, max), Random.Range(min, max), Random.Range(min, max)); - } - - public IntegrationTestWithApproximation(NetworkTopologyTypes networkTopologyType, HostOrServer hostOrServer) : base(networkTopologyType, hostOrServer) { } - - public IntegrationTestWithApproximation(NetworkTopologyTypes networkTopologyType) : base(networkTopologyType) { } - - public IntegrationTestWithApproximation(HostOrServer hostOrServer) : base(hostOrServer) { } - - public IntegrationTestWithApproximation() : base() { } - } -} diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/MetricTestBase.cs b/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/MetricTestBase.cs deleted file mode 100644 index 773a79b470..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/MetricTestBase.cs +++ /dev/null @@ -1,66 +0,0 @@ -#if MULTIPLAYER_TOOLS -using System.Collections; - -namespace Unity.Netcode.TestHelpers.Runtime.Metrics -{ - internal abstract class SingleClientMetricTestBase : NetcodeIntegrationTest - { - protected override int NumberOfClients => 1; - - internal NetworkManager Server { get; private set; } - - internal NetworkMetrics ServerMetrics { get; private set; } - - internal NetworkManager Client { get; private set; } - - internal NetworkMetrics ClientMetrics { get; private set; } - - protected override void OnServerAndClientsCreated() - { - Server = m_ServerNetworkManager; - Client = m_ClientNetworkManagers[0]; - base.OnServerAndClientsCreated(); - } - - protected override IEnumerator OnStartedServerAndClients() - { - ServerMetrics = Server.NetworkMetrics as NetworkMetrics; - ClientMetrics = Client.NetworkMetrics as NetworkMetrics; - yield return base.OnStartedServerAndClients(); - } - } - - public abstract class DualClientMetricTestBase : NetcodeIntegrationTest - { - protected override int NumberOfClients => 2; - - internal NetworkManager Server { get; private set; } - - internal NetworkMetrics ServerMetrics { get; private set; } - - internal NetworkManager FirstClient { get; private set; } - - internal NetworkMetrics FirstClientMetrics { get; private set; } - - internal NetworkManager SecondClient { get; private set; } - - internal NetworkMetrics SecondClientMetrics { get; private set; } - - protected override void OnServerAndClientsCreated() - { - Server = m_ServerNetworkManager; - FirstClient = m_ClientNetworkManagers[0]; - SecondClient = m_ClientNetworkManagers[1]; - base.OnServerAndClientsCreated(); - } - - protected override IEnumerator OnStartedServerAndClients() - { - ServerMetrics = Server.NetworkMetrics as NetworkMetrics; - FirstClientMetrics = FirstClient.NetworkMetrics as NetworkMetrics; - SecondClientMetrics = SecondClient.NetworkMetrics as NetworkMetrics; - yield return base.OnStartedServerAndClients(); - } - } -} -#endif diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/MetricTestBase.cs.meta b/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/MetricTestBase.cs.meta deleted file mode 100644 index fc32437f8c..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/MetricTestBase.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c726f5bc421c3874d9c1a26bcac3f091 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/NetworkVariableComponent.cs b/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/NetworkVariableComponent.cs deleted file mode 100644 index d21b8b1a25..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/NetworkVariableComponent.cs +++ /dev/null @@ -1,19 +0,0 @@ -#if MULTIPLAYER_TOOLS -using UnityEngine; - -namespace Unity.Netcode.TestHelpers.Runtime.Metrics -{ - public class NetworkVariableComponent : NetworkBehaviour - { - public NetworkVariable MyNetworkVariable { get; } = new NetworkVariable(); - - private void Update() - { - if (IsServer) - { - MyNetworkVariable.Value = Random.Range(100, 999); - } - } - } -} -#endif diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/NetworkVariableComponent.cs.meta b/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/NetworkVariableComponent.cs.meta deleted file mode 100644 index 6694f4a450..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/NetworkVariableComponent.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 124489f89ef59d449ab4bed1f5ef2f59 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/RpcTestComponent.cs b/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/RpcTestComponent.cs deleted file mode 100644 index 158f5d3c42..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/RpcTestComponent.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; - -namespace Unity.Netcode.TestHelpers.Runtime.Metrics -{ - public class RpcTestComponent : NetworkBehaviour - { - public event Action OnServerRpcAction; - public event Action OnClientRpcAction; - - [ServerRpc] - public void MyServerRpc() - { - OnServerRpcAction?.Invoke(); - } - - [ClientRpc] - public void MyClientRpc(ClientRpcParams rpcParams = default) - { - OnClientRpcAction?.Invoke(); - } - } -} diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/RpcTestComponent.cs.meta b/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/RpcTestComponent.cs.meta deleted file mode 100644 index 5df815356d..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/RpcTestComponent.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: fdfa28da9866545428083671c445a9ef -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForCounterMetricValue.cs b/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForCounterMetricValue.cs deleted file mode 100644 index 6912e73799..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForCounterMetricValue.cs +++ /dev/null @@ -1,50 +0,0 @@ -#if MULTIPLAYER_TOOLS -using Unity.Multiplayer.Tools.MetricTypes; -using Unity.Multiplayer.Tools.NetStats; - -namespace Unity.Netcode.TestHelpers.Runtime.Metrics -{ - internal class WaitForCounterMetricValue : WaitForMetricValues - { - private long m_Value; - - public delegate bool CounterFilter(long metric); - private CounterFilter m_CounterFilterDelegate; - - public WaitForCounterMetricValue(IMetricDispatcher dispatcher, DirectionalMetricInfo directionalMetricName) - : base(dispatcher, directionalMetricName) - { - } - - public WaitForCounterMetricValue(IMetricDispatcher dispatcher, DirectionalMetricInfo directionalMetricName, CounterFilter counterFilter) - : this(dispatcher, directionalMetricName) - { - m_CounterFilterDelegate = counterFilter; - } - - public long AssertMetricValueHaveBeenFound() - { - AssertHasError(); - AssertIsFound(); - - return m_Value; - } - - public override void Observe(MetricCollection collection) - { - if (FindMetric(collection, out var metric)) - { - var typedMetric = metric as Counter; - if (typedMetric == default) - { - SetError(metric); - return; - } - - m_Value = typedMetric.Value; - m_Found = m_CounterFilterDelegate != null ? m_CounterFilterDelegate(m_Value) : true; - } - } - } -} -#endif diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForCounterMetricValue.cs.meta b/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForCounterMetricValue.cs.meta deleted file mode 100644 index 73b1537579..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForCounterMetricValue.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: aa1d3026d48b43bfa4c76e253b08b3ae -timeCreated: 1644269156 \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForEventMetricValues.cs b/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForEventMetricValues.cs deleted file mode 100644 index a9af59427a..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForEventMetricValues.cs +++ /dev/null @@ -1,57 +0,0 @@ -#if MULTIPLAYER_TOOLS -using System.Collections.Generic; -using System.Linq; -using Unity.Multiplayer.Tools.MetricTypes; -using Unity.Multiplayer.Tools.NetStats; - -namespace Unity.Netcode.TestHelpers.Runtime.Metrics -{ - internal class WaitForEventMetricValues : WaitForMetricValues - { - private IReadOnlyCollection m_EventValues; - - public delegate bool EventFilter(TMetric metric); - - private EventFilter m_EventFilterDelegate; - - public WaitForEventMetricValues(IMetricDispatcher dispatcher, DirectionalMetricInfo directionalMetricName) - : base(dispatcher, directionalMetricName) - { - } - - public WaitForEventMetricValues(IMetricDispatcher dispatcher, DirectionalMetricInfo directionalMetricName, EventFilter eventFilter) - : this(dispatcher, directionalMetricName) - { - m_EventFilterDelegate = eventFilter; - } - - public IReadOnlyCollection AssertMetricValuesHaveBeenFound() - { - AssertHasError(); - AssertIsFound(); - - return m_EventValues; - } - - public override void Observe(MetricCollection collection) - { - if (FindMetric(collection, out var metric)) - { - var typedMetric = metric as IEventMetric; - if (typedMetric == default) - { - SetError(metric); - return; - } - - if (typedMetric.Values.Any()) - { - // Apply filter if one was provided - m_EventValues = m_EventFilterDelegate != null ? typedMetric.Values.Where(x => m_EventFilterDelegate(x)).ToList() : typedMetric.Values.ToList(); - m_Found = m_EventValues.Count > 0; - } - } - } - } -} -#endif diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForEventMetricValues.cs.meta b/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForEventMetricValues.cs.meta deleted file mode 100644 index 93efe71f7d..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForEventMetricValues.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 319c55f92728431283c9e888d8f9d70e -timeCreated: 1644269156 \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForGaugeMetricValues.cs b/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForGaugeMetricValues.cs deleted file mode 100644 index 240639f663..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForGaugeMetricValues.cs +++ /dev/null @@ -1,55 +0,0 @@ -#if MULTIPLAYER_TOOLS -using Unity.Multiplayer.Tools.MetricTypes; -using Unity.Multiplayer.Tools.NetStats; - -namespace Unity.Netcode.TestHelpers.Runtime.Metrics -{ - internal class WaitForGaugeMetricValues : WaitForMetricValues - { - private double m_Value; - - public delegate bool GaugeFilter(double metric); - private GaugeFilter m_GaugeFilterDelegate; - - public WaitForGaugeMetricValues(IMetricDispatcher dispatcher, DirectionalMetricInfo directionalMetricName) - : base(dispatcher, directionalMetricName) - { - } - - public WaitForGaugeMetricValues(IMetricDispatcher dispatcher, DirectionalMetricInfo directionalMetricName, GaugeFilter counterFilter) - : this(dispatcher, directionalMetricName) - { - m_GaugeFilterDelegate = counterFilter; - } - - public bool MetricFound() - { - return m_Found; - } - - public double AssertMetricValueHaveBeenFound() - { - AssertHasError(); - AssertIsFound(); - - return m_Value; - } - - public override void Observe(MetricCollection collection) - { - if (FindMetric(collection, out var metric)) - { - var typedMetric = metric as Gauge; - if (typedMetric == default) - { - SetError(metric); - return; - } - - m_Value = typedMetric.Value; - m_Found = m_GaugeFilterDelegate != null ? m_GaugeFilterDelegate(m_Value) : true; - } - } - } -} -#endif diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForGaugeMetricValues.cs.meta b/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForGaugeMetricValues.cs.meta deleted file mode 100644 index 7ad4b45ec2..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForGaugeMetricValues.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 1d76c4e546c546a3b9d63b2c74fcbbca -timeCreated: 1644269156 \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForMetricValues.cs b/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForMetricValues.cs deleted file mode 100644 index 10e8c6b8c5..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForMetricValues.cs +++ /dev/null @@ -1,100 +0,0 @@ -#if MULTIPLAYER_TOOLS -using System.Collections; -using System.Linq; -using NUnit.Framework; -using Unity.Multiplayer.Tools.MetricTypes; -using Unity.Multiplayer.Tools.NetStats; - -namespace Unity.Netcode.TestHelpers.Runtime.Metrics -{ - internal abstract class WaitForMetricValues : IMetricObserver - { - protected readonly string m_MetricName; - protected bool m_Found; - protected bool m_HasError; - protected string m_Error; - protected uint m_NbFrames = 0; - - public WaitForMetricValues(IMetricDispatcher dispatcher, DirectionalMetricInfo directionalMetricName) - { - m_MetricName = directionalMetricName.Id; - dispatcher.RegisterObserver(this); - } - - public abstract void Observe(MetricCollection collection); - - public void AssertMetricValuesHaveNotBeenFound() - { - if (m_HasError) - { - Assert.Fail(m_Error); - } - - if (!m_Found) - { - Assert.Pass(); - } - else - { - Assert.Fail(); - } - } - - public IEnumerator WaitForMetricsReceived() - { - yield return WaitForFrames(60); - } - - protected void AssertHasError() - { - if (m_HasError) - { - Assert.Fail(m_Error); - } - } - - protected void AssertIsFound() - { - if (!m_Found) - { - Assert.Fail($"Found no matching values for metric of type '{typeof(TMetric).Name}', with name '{m_MetricName}' during '{m_NbFrames}' frames."); - } - } - - protected bool FindMetric(MetricCollection collection, out IMetric metric) - { - if (m_Found || m_HasError) - { - metric = null; - return false; - } - - metric = collection.Metrics.SingleOrDefault(x => x.Name == m_MetricName); - if (metric == default) - { - m_HasError = true; - m_Error = $"Metric collection does not contain metric named '{m_MetricName}'."; - - return false; - } - - return true; - } - - protected void SetError(IMetric metric) - { - m_HasError = true; - m_Error = $"Metric collection contains a metric of type '{metric.GetType().Name}' for name '{m_MetricName}', but was expecting '{typeof(TMetric).Name}'."; - } - - private IEnumerator WaitForFrames(uint maxNbFrames) - { - while (!m_Found && m_NbFrames < maxNbFrames) - { - m_NbFrames++; - yield return null; - } - } - } -} -#endif diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForMetricValues.cs.meta b/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForMetricValues.cs.meta deleted file mode 100644 index 64a440fee5..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics/WaitForMetricValues.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 176888f06e2c5e14db33783fd0299668 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/MockTimeProvider.cs b/com.unity.netcode.gameobjects/TestHelpers/Runtime/MockTimeProvider.cs deleted file mode 100644 index daf2709a38..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/MockTimeProvider.cs +++ /dev/null @@ -1,33 +0,0 @@ -namespace Unity.Netcode.TestHelpers.Runtime -{ - public class MockTimeProvider : IRealTimeProvider - { - public float RealTimeSinceStartup => (float)s_DoubleRealTime; - public float UnscaledTime => (float)s_DoubleRealTime; - public float UnscaledDeltaTime => (float)s_DoubleDelta; - public float DeltaTime => (float)s_DoubleDelta; - - // DANGO-EXP TODO: Figure out how we want to handle time travel with fixed delta time. - public float FixedDeltaTime => (float)s_DoubleDelta; - - public static float StaticRealTimeSinceStartup => (float)s_DoubleRealTime; - public static float StaticUnscaledTime => (float)s_DoubleRealTime; - public static float StaticUnscaledDeltaTime => (float)s_DoubleDelta; - public static float StaticDeltaTime => (float)s_DoubleDelta; - - private static double s_DoubleRealTime = 0; - private static double s_DoubleDelta = 0; - - public static void TimeTravel(double amountOfTimeTraveled) - { - s_DoubleDelta = amountOfTimeTraveled; - s_DoubleRealTime += amountOfTimeTraveled; - } - - public static void Reset() - { - s_DoubleDelta = 0; - s_DoubleRealTime = 0; - } - } -} diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/com.unity.netcode.testhelpers.runtime.asmdef b/com.unity.netcode.gameobjects/TestHelpers/Runtime/com.unity.netcode.testhelpers.runtime.asmdef deleted file mode 100644 index 2fb107c79f..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/com.unity.netcode.testhelpers.runtime.asmdef +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "Unity.Netcode.TestHelpers.Runtime", - "rootNamespace": "Unity.Netcode.TestHelpers.Runtime", - "references": [ - "Unity.Netcode.Runtime", - "Unity.Multiplayer.MetricTypes", - "Unity.Multiplayer.NetStats", - "Unity.Multiplayer.Tools.MetricTypes", - "Unity.Multiplayer.Tools.NetStats" - ], - "optionalUnityReferences": [ - "TestAssemblies" - ], - "defineConstraints": [ - "UNITY_INCLUDE_TESTS" - ], - "versionDefines": [ - { - "name": "com.unity.multiplayer.tools", - "expression": "", - "define": "MULTIPLAYER_TOOLS" - }, - { - "name": "com.unity.multiplayer.tools", - "expression": "1.0.0-pre.7", - "define": "MULTIPLAYER_TOOLS_1_0_0_PRE_7" - } - ] -} \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/com.unity.netcode.testhelpers.runtime.asmdef.meta b/com.unity.netcode.gameobjects/TestHelpers/Runtime/com.unity.netcode.testhelpers.runtime.asmdef.meta deleted file mode 100644 index 92fe6f2418..0000000000 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/com.unity.netcode.testhelpers.runtime.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 101012598ee9f064da897a34e72947f9 -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/Tests/Editor/Metrics.meta b/com.unity.netcode.gameobjects/Tests/Editor/Metrics.meta deleted file mode 100644 index bc962b1c81..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Editor/Metrics.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 87ddfad8823c4fe192fff56b7acc241b -timeCreated: 1629386688 \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/Tests/Editor/Metrics/NetworkMetricsRegistrationTests.cs b/com.unity.netcode.gameobjects/Tests/Editor/Metrics/NetworkMetricsRegistrationTests.cs deleted file mode 100644 index 54114e2bd7..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Editor/Metrics/NetworkMetricsRegistrationTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -#if MULTIPLAYER_TOOLS -using System; -using System.Linq; -using System.Reflection; -using NUnit.Framework; -using Unity.Multiplayer.Tools.MetricTypes; -using Unity.Multiplayer.Tools.NetStats; - -namespace Unity.Netcode.EditorTests.Metrics -{ - internal class NetworkMetricsRegistrationTests - { - private static Type[] s_MetricTypes = AppDomain.CurrentDomain.GetAssemblies() - .SelectMany(x => x.GetTypes()) - .Where(x => x.GetInterfaces().Contains(typeof(INetworkMetricEvent))) - .ToArray(); - - [TestCaseSource(nameof(s_MetricTypes))] - [Ignore("Disable test while we reevaluate the assumption that INetworkMetricEvent interfaces must be reported from MLAPI. This ignored test is tracked in MTT-11339")] - public void ValidateThatAllMetricTypesAreRegistered(Type metricType) - { - var dispatcher = new NetworkMetrics().Dispatcher as MetricDispatcher; - Assert.NotNull(dispatcher); - - var collection = typeof(MetricDispatcher) - .GetField("m_Collection", BindingFlags.NonPublic | BindingFlags.Instance)? - .GetValue(dispatcher) as MetricCollection; - Assert.NotNull(collection); - - Assert.That( - collection.Metrics.OfType(), - Has.Exactly(2).Matches( - eventMetric => - { - var eventType = eventMetric.GetType().GetGenericArguments()?.FirstOrDefault(); - return eventType == metricType; - })); - } - } -} - -#endif diff --git a/com.unity.netcode.gameobjects/Tests/Editor/Metrics/NetworkMetricsRegistrationTests.cs.meta b/com.unity.netcode.gameobjects/Tests/Editor/Metrics/NetworkMetricsRegistrationTests.cs.meta deleted file mode 100644 index 89ebdab722..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Editor/Metrics/NetworkMetricsRegistrationTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: af741f5e3d4f5544eaa68bb9bcaf54c6 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/Tests/Editor/com.unity.netcode.editortests.asmdef b/com.unity.netcode.gameobjects/Tests/Editor/Unity.Netcode.Editor.Tests.asmdef similarity index 77% rename from com.unity.netcode.gameobjects/Tests/Editor/com.unity.netcode.editortests.asmdef rename to com.unity.netcode.gameobjects/Tests/Editor/Unity.Netcode.Editor.Tests.asmdef index 56f600746b..04ed44cf77 100644 --- a/com.unity.netcode.gameobjects/Tests/Editor/com.unity.netcode.editortests.asmdef +++ b/com.unity.netcode.gameobjects/Tests/Editor/Unity.Netcode.Editor.Tests.asmdef @@ -1,28 +1,32 @@ { - "name": "Unity.Netcode.EditorTests", + "name": "Unity.Netcode.Editor.Tests", "rootNamespace": "Unity.Netcode.EditorTests", "references": [ "Unity.Collections", "Unity.Netcode.Runtime", "Unity.Netcode.Editor", - "Unity.Netcode.Components", "Unity.Multiplayer.MetricTypes", "Unity.Multiplayer.NetStats", "Unity.Multiplayer.Tools.MetricTypes", "Unity.Multiplayer.Tools.NetStats", "Unity.Networking.Transport", - "Unity.Mathematics" - ], - "optionalUnityReferences": [ - "TestAssemblies" - ], - "defineConstraints": [ - "UNITY_INCLUDE_TESTS" + "Unity.Mathematics", + "UnityEngine.TestRunner", + "UnityEditor.TestRunner" ], "includePlatforms": [ "Editor" ], + "excludePlatforms": [], "allowUnsafeCode": true, + "overrideReferences": true, + "precompiledReferences": [ + "nunit.framework.dll" + ], + "autoReferenced": false, + "defineConstraints": [ + "UNITY_INCLUDE_TESTS" + ], "versionDefines": [ { "name": "com.unity.multiplayer.tools", @@ -44,5 +48,6 @@ "expression": "6000.1.0a1", "define": "HOSTNAME_RESOLUTION_AVAILABLE" } - ] -} + ], + "noEngineReferences": false +} \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/Tests/Editor/com.unity.netcode.editortests.asmdef.meta b/com.unity.netcode.gameobjects/Tests/Editor/Unity.Netcode.Editor.Tests.asmdef.meta similarity index 100% rename from com.unity.netcode.gameobjects/Tests/Editor/com.unity.netcode.editortests.asmdef.meta rename to com.unity.netcode.gameobjects/Tests/Editor/Unity.Netcode.Editor.Tests.asmdef.meta diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/AssemblyInfo.cs b/com.unity.netcode.gameobjects/Tests/Runtime/AssemblyInfo.cs index fb444ea293..0c0d63f26e 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/AssemblyInfo.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/AssemblyInfo.cs @@ -1,9 +1,9 @@ using System.Runtime.CompilerServices; #if UNITY_INCLUDE_TESTS -[assembly: InternalsVisibleTo("TestProject.RuntimeTests")] +[assembly: InternalsVisibleTo("TestProject.Runtime.Tests")] #if UNITY_EDITOR -[assembly: InternalsVisibleTo("TestProject.EditorTests")] +[assembly: InternalsVisibleTo("TestProject.Editor.Tests")] #endif // UNITY_EDITOR #if MULTIPLAYER_TOOLS [assembly: InternalsVisibleTo("TestProject.ToolsIntegration.RuntimeTests")] diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/DistributedAuthority/ExtendedNetworkShowAndHideTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/DistributedAuthority/ExtendedNetworkShowAndHideTests.cs index bb77ddf926..321e8703f1 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/DistributedAuthority/ExtendedNetworkShowAndHideTests.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/DistributedAuthority/ExtendedNetworkShowAndHideTests.cs @@ -8,7 +8,7 @@ namespace Unity.Netcode.RuntimeTests { [TestFixture(HostOrServer.DAHost, true)] [TestFixture(HostOrServer.DAHost, false)] - public class ExtendedNetworkShowAndHideTests : NetcodeIntegrationTest + internal class ExtendedNetworkShowAndHideTests : NetcodeIntegrationTest { protected override int NumberOfClients => 3; private bool m_EnableSceneManagement; diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/DistributedAuthority/ParentChildDistibutionTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/DistributedAuthority/ParentChildDistibutionTests.cs index 269adf7349..87fd8a776b 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/DistributedAuthority/ParentChildDistibutionTests.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/DistributedAuthority/ParentChildDistibutionTests.cs @@ -163,7 +163,7 @@ public IEnumerator DistributeOwnerHierarchy([Values] DistributionTypes distribut yield return StopOneClient(clientToReconnect); } - // When testing connect redistribution, + // When testing connect redistribution var instances = distributionType == DistributionTypes.UponDisconnect ? 1 : 2; var rootObject = (GameObject)null; var childOne = (GameObject)null; diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/DistributedAuthority/RpcProxyMessageTesting.cs b/com.unity.netcode.gameobjects/Tests/Runtime/DistributedAuthority/RpcProxyMessageTesting.cs index 279a01b94d..6b9883263a 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/DistributedAuthority/RpcProxyMessageTesting.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/DistributedAuthority/RpcProxyMessageTesting.cs @@ -17,7 +17,7 @@ namespace Unity.Netcode.RuntimeTests /// [TestFixture(HostOrServer.Host)] [TestFixture(HostOrServer.DAHost)] - public class RpcProxyMessageTesting : NetcodeIntegrationTest + internal class RpcProxyMessageTesting : NetcodeIntegrationTest { protected override int NumberOfClients => 2; diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Helpers.meta b/com.unity.netcode.gameobjects/Tests/Runtime/Helpers.meta new file mode 100644 index 0000000000..ce3ac002e3 --- /dev/null +++ b/com.unity.netcode.gameobjects/Tests/Runtime/Helpers.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 1f398e1797944b5db4d3aa473629f46e +timeCreated: 1661800773 \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MessageCatcher.cs b/com.unity.netcode.gameobjects/Tests/Runtime/Helpers/MessageCatcher.cs similarity index 100% rename from com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MessageCatcher.cs rename to com.unity.netcode.gameobjects/Tests/Runtime/Helpers/MessageCatcher.cs diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MessageCatcher.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/Helpers/MessageCatcher.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MessageCatcher.cs.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/Helpers/MessageCatcher.cs.meta diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MessageLogger.cs b/com.unity.netcode.gameobjects/Tests/Runtime/Helpers/MessageLogger.cs similarity index 100% rename from com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MessageLogger.cs rename to com.unity.netcode.gameobjects/Tests/Runtime/Helpers/MessageLogger.cs diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MessageLogger.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/Helpers/MessageLogger.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MessageLogger.cs.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/Helpers/MessageLogger.cs.meta diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/ConnectionMetricsTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/ConnectionMetricsTests.cs deleted file mode 100644 index b94cc47725..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/ConnectionMetricsTests.cs +++ /dev/null @@ -1,68 +0,0 @@ -#if MULTIPLAYER_TOOLS -#if MULTIPLAYER_TOOLS_1_0_0_PRE_7 - -using System.Collections; -using NUnit.Framework; -using Unity.Multiplayer.Tools.MetricTypes; -using Unity.Netcode.TestHelpers.Runtime; -using Unity.Netcode.TestHelpers.Runtime.Metrics; -using UnityEngine.TestTools; - -namespace Unity.Netcode.RuntimeTests.Metrics -{ - [TestFixture(ClientCount.OneClient, HostOrServer.Host)] - [TestFixture(ClientCount.TwoClients, HostOrServer.Host)] - [TestFixture(ClientCount.OneClient, HostOrServer.Server)] - [TestFixture(ClientCount.TwoClients, HostOrServer.Server)] - internal class ConnectionMetricsTests : NetcodeIntegrationTest - { - protected override int NumberOfClients => m_ClientCount; - - private int m_ClientCount; - - public enum ClientCount - { - OneClient = 1, - TwoClients, - } - - public ConnectionMetricsTests(ClientCount clientCount, HostOrServer hostOrServer) - : base(hostOrServer) - { - m_ClientCount = (int)clientCount; - } - - private int GetClientCountForFixture() - { - return m_ClientCount + ((m_UseHost) ? 1 : 0); - } - - [UnityTest] - public IEnumerator UpdateConnectionCountOnServer() - { - var waitForGaugeValues = new WaitForGaugeMetricValues((m_ServerNetworkManager.NetworkMetrics as NetworkMetrics).Dispatcher, NetworkMetricTypes.ConnectedClients); - - yield return waitForGaugeValues.WaitForMetricsReceived(); - - var value = waitForGaugeValues.AssertMetricValueHaveBeenFound(); - Assert.AreEqual(GetClientCountForFixture(), value); - } - - [UnityTest] - public IEnumerator UpdateConnectionCountOnClient() - { - foreach (var clientNetworkManager in m_ClientNetworkManagers) - { - var waitForGaugeValues = new WaitForGaugeMetricValues((clientNetworkManager.NetworkMetrics as NetworkMetrics).Dispatcher, NetworkMetricTypes.ConnectedClients); - - yield return waitForGaugeValues.WaitForMetricsReceived(); - - var value = waitForGaugeValues.AssertMetricValueHaveBeenFound(); - Assert.AreEqual(1, value); - } - } - } -} - -#endif -#endif diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/ConnectionMetricsTests.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/ConnectionMetricsTests.cs.meta deleted file mode 100644 index bc0d812e3f..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/ConnectionMetricsTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 1845aef61dbb4f2b9d2be9145262ab90 -timeCreated: 1647023529 \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/MessagingMetricsTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/MessagingMetricsTests.cs deleted file mode 100644 index 6cd827f691..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/MessagingMetricsTests.cs +++ /dev/null @@ -1,275 +0,0 @@ -#if MULTIPLAYER_TOOLS -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using NUnit.Framework; -using Unity.Collections; -using Unity.Multiplayer.Tools.MetricTypes; -using Unity.Netcode.TestHelpers.Runtime.Metrics; -using UnityEngine; -using UnityEngine.TestTools; - -namespace Unity.Netcode.RuntimeTests.Metrics -{ - internal class MessagingMetricsTests : DualClientMetricTestBase - { - private const uint k_MessageNameHashSize = 8; - // Header is dynamically sized due to packing, will be 2 bytes for all test messages. - private const int k_MessageHeaderSize = 2; - private static readonly int k_NamedMessageOverhead = (int)k_MessageNameHashSize + k_MessageHeaderSize; - private static readonly int k_UnnamedMessageOverhead = k_MessageHeaderSize; - - protected override int NumberOfClients => 2; - - [UnityTest] - public IEnumerator TrackNetworkMessageSentMetric() - { - var waitForMetricValues = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.NetworkMessageSent); - - var messageName = new ForceNetworkSerializeByMemcpy(Guid.NewGuid()); - using (var writer = new FastBufferWriter(1300, Allocator.Temp)) - { - writer.WriteValueSafe(messageName); - - Server.CustomMessagingManager.SendNamedMessage(messageName.Value.ToString(), FirstClient.LocalClientId, writer); - } - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var networkMessageSentMetricValues = waitForMetricValues.AssertMetricValuesHaveBeenFound(); - - // We should have 1 NamedMessage - Assert.That(networkMessageSentMetricValues, Has.Exactly(1).Matches(x => x.Name == nameof(NamedMessage))); - } - - [UnityTest] - public IEnumerator TrackNetworkMessageSentMetricToMultipleClients() - { - var waitForMetricValues = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.NetworkMessageSent); - var messageName = new ForceNetworkSerializeByMemcpy(Guid.NewGuid()); - using (var writer = new FastBufferWriter(1300, Allocator.Temp)) - { - writer.WriteValueSafe(messageName); - - Server.CustomMessagingManager.SendNamedMessage(messageName.Value.ToString(), new List { FirstClient.LocalClientId, SecondClient.LocalClientId }, writer); - } - - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var networkMessageSentMetricValues = waitForMetricValues.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(2, networkMessageSentMetricValues.Count(x => x.Name.Equals(nameof(NamedMessage)))); - } - - [UnityTest] - public IEnumerator TrackNetworkMessageReceivedMetric() - { - var messageName = new ForceNetworkSerializeByMemcpy(Guid.NewGuid()); - - LogAssert.Expect(LogType.Log, $"Received from {Server.LocalClientId}"); - FirstClient.CustomMessagingManager.RegisterNamedMessageHandler(messageName.Value.ToString(), (ulong sender, FastBufferReader payload) => - { - Debug.Log($"Received from {sender}"); - }); - var waitForMetricValues = new WaitForEventMetricValues(FirstClientMetrics.Dispatcher, NetworkMetricTypes.NetworkMessageReceived, - metric => metric.Name == nameof(NamedMessage)); - - using (var writer = new FastBufferWriter(1300, Allocator.Temp)) - { - writer.WriteValueSafe(messageName); - - Server.CustomMessagingManager.SendNamedMessage(messageName.Value.ToString(), FirstClient.LocalClientId, writer); - } - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var networkMessageReceivedValues = waitForMetricValues.AssertMetricValuesHaveBeenFound(); - // We should have 1 NamedMessage - Assert.That(networkMessageReceivedValues, Has.Exactly(1).Matches(x => x.Name == nameof(NamedMessage))); - } - - [UnityTest] - public IEnumerator TrackNamedMessageSentMetric() - { - var waitForMetricValues = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.NamedMessageSent); - - var messageName = new ForceNetworkSerializeByMemcpy(Guid.NewGuid()); - using (var writer = new FastBufferWriter(1300, Allocator.Temp)) - { - writer.WriteValueSafe(messageName); - - Server.CustomMessagingManager.SendNamedMessage(messageName.Value.ToString(), FirstClient.LocalClientId, writer); - } - - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var namedMessageSentMetricValues = waitForMetricValues.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, namedMessageSentMetricValues.Count); - - var namedMessageSent = namedMessageSentMetricValues.First(); - Assert.AreEqual(messageName.Value.ToString(), namedMessageSent.Name); - Assert.AreEqual(FirstClient.LocalClientId, namedMessageSent.Connection.Id); - Assert.AreEqual(FastBufferWriter.GetWriteSize(messageName) + k_NamedMessageOverhead, namedMessageSent.BytesCount); - } - - [UnityTest] - public IEnumerator TrackNamedMessageSentMetricToMultipleClients() - { - var waitForMetricValues = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.NamedMessageSent); - var messageName = new ForceNetworkSerializeByMemcpy(Guid.NewGuid()); - using (var writer = new FastBufferWriter(1300, Allocator.Temp)) - { - writer.WriteValueSafe(messageName); - - Server.CustomMessagingManager.SendNamedMessage(messageName.Value.ToString(), new List { FirstClient.LocalClientId, SecondClient.LocalClientId }, writer); - } - - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var namedMessageSentMetricValues = waitForMetricValues.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(2, namedMessageSentMetricValues.Count); - Assert.That(namedMessageSentMetricValues.Select(x => x.Name), Has.All.EqualTo(messageName.Value.ToString())); - Assert.That(namedMessageSentMetricValues.Select(x => x.BytesCount), Has.All.EqualTo(FastBufferWriter.GetWriteSize(messageName) + k_NamedMessageOverhead)); - } - - [UnityTest] - public IEnumerator TrackNamedMessageSentMetricToSelf() - { - var waitForMetricValues = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.NamedMessageSent); - var messageName = new ForceNetworkSerializeByMemcpy(Guid.NewGuid()); - using (var writer = new FastBufferWriter(1300, Allocator.Temp)) - { - writer.WriteValueSafe(messageName); - - Server.CustomMessagingManager.SendNamedMessage(messageName.Value.ToString(), Server.LocalClientId, writer); - } - - yield return waitForMetricValues.WaitForMetricsReceived(); - - waitForMetricValues.AssertMetricValuesHaveNotBeenFound(); - } - - [UnityTest] - public IEnumerator TrackNamedMessageReceivedMetric() - { - var waitForMetricValues = new WaitForEventMetricValues(FirstClientMetrics.Dispatcher, NetworkMetricTypes.NamedMessageReceived); - - var messageName = new ForceNetworkSerializeByMemcpy(Guid.NewGuid()); - - LogAssert.Expect(LogType.Log, $"Received from {Server.LocalClientId}"); - FirstClient.CustomMessagingManager.RegisterNamedMessageHandler(messageName.Value.ToString(), (ulong sender, FastBufferReader payload) => - { - Debug.Log($"Received from {sender}"); - }); - - using (var writer = new FastBufferWriter(1300, Allocator.Temp)) - { - writer.WriteValueSafe(messageName); - - Server.CustomMessagingManager.SendNamedMessage(messageName.Value.ToString(), FirstClient.LocalClientId, writer); - } - - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var namedMessageReceivedValues = waitForMetricValues.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, namedMessageReceivedValues.Count); - - var namedMessageReceived = namedMessageReceivedValues.First(); - Assert.AreEqual(messageName.Value.ToString(), namedMessageReceived.Name); - Assert.AreEqual(Server.LocalClientId, namedMessageReceived.Connection.Id); - Assert.AreEqual(FastBufferWriter.GetWriteSize(messageName) + k_NamedMessageOverhead, namedMessageReceived.BytesCount); - } - - [UnityTest] - public IEnumerator TrackUnnamedMessageSentMetric() - { - var message = new ForceNetworkSerializeByMemcpy(Guid.NewGuid()); - using (var writer = new FastBufferWriter(1300, Allocator.Temp)) - { - writer.WriteValueSafe(message); - - Server.CustomMessagingManager.SendUnnamedMessage(FirstClient.LocalClientId, writer); - } - - - var waitForMetricValues = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.UnnamedMessageSent); - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var unnamedMessageSentMetricValues = waitForMetricValues.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, unnamedMessageSentMetricValues.Count); - - var unnamedMessageSent = unnamedMessageSentMetricValues.First(); - Assert.AreEqual(FirstClient.LocalClientId, unnamedMessageSent.Connection.Id); - Assert.AreEqual(FastBufferWriter.GetWriteSize(message) + k_UnnamedMessageOverhead, unnamedMessageSent.BytesCount); - } - - [UnityTest] - public IEnumerator TrackUnnamedMessageSentMetricToMultipleClients() - { - var message = new ForceNetworkSerializeByMemcpy(Guid.NewGuid()); - var waitForMetricValues = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.UnnamedMessageSent); - using (var writer = new FastBufferWriter(1300, Allocator.Temp)) - { - writer.WriteValueSafe(message); - - Server.CustomMessagingManager.SendUnnamedMessage(new List { FirstClient.LocalClientId, SecondClient.LocalClientId }, writer); - } - - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var unnamedMessageSentMetricValues = waitForMetricValues.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(2, unnamedMessageSentMetricValues.Count); - Assert.That(unnamedMessageSentMetricValues.Select(x => x.BytesCount), Has.All.EqualTo(FastBufferWriter.GetWriteSize(message) + k_UnnamedMessageOverhead)); - - var clientIds = unnamedMessageSentMetricValues.Select(x => x.Connection.Id).ToList(); - Assert.Contains(FirstClient.LocalClientId, clientIds); - Assert.Contains(SecondClient.LocalClientId, clientIds); - } - - [UnityTest] - public IEnumerator TrackUnnamedMessageSentMetricToSelf() - { - var waitForMetricValues = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.UnnamedMessageSent); - var messageName = new ForceNetworkSerializeByMemcpy(Guid.NewGuid()); - using (var writer = new FastBufferWriter(1300, Allocator.Temp)) - { - writer.WriteValueSafe(messageName); - - Server.CustomMessagingManager.SendUnnamedMessage(Server.LocalClientId, writer); - } - - yield return waitForMetricValues.WaitForMetricsReceived(); - - waitForMetricValues.AssertMetricValuesHaveNotBeenFound(); - } - - [UnityTest] - public IEnumerator TrackUnnamedMessageReceivedMetric() - { - var message = new ForceNetworkSerializeByMemcpy(Guid.NewGuid()); - var waitForMetricValues = new WaitForEventMetricValues(FirstClientMetrics.Dispatcher, NetworkMetricTypes.UnnamedMessageReceived); - using (var writer = new FastBufferWriter(1300, Allocator.Temp)) - { - writer.WriteValueSafe(message); - - Server.CustomMessagingManager.SendUnnamedMessage(FirstClient.LocalClientId, writer); - } - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var unnamedMessageReceivedValues = waitForMetricValues.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, unnamedMessageReceivedValues.Count); - - var unnamedMessageReceived = unnamedMessageReceivedValues.First(); - Assert.AreEqual(Server.LocalClientId, unnamedMessageReceived.Connection.Id); - Assert.AreEqual(FastBufferWriter.GetWriteSize(message) + k_UnnamedMessageOverhead, unnamedMessageReceived.BytesCount); - } - } -} -#endif diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/MessagingMetricsTests.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/MessagingMetricsTests.cs.meta deleted file mode 100644 index 7910ff22ff..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/MessagingMetricsTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 2490ed51138306e4d92f8e9dcfc34462 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/MetricsDispatchTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/MetricsDispatchTests.cs deleted file mode 100644 index 6d1eb91789..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/MetricsDispatchTests.cs +++ /dev/null @@ -1,67 +0,0 @@ -#if MULTIPLAYER_TOOLS -using System; -using System.Collections; -using NUnit.Framework; -using Unity.Multiplayer.Tools.NetStats; -using Unity.Netcode.TestHelpers.Runtime; -using UnityEngine.TestTools; - -namespace Unity.Netcode.RuntimeTests.Metrics -{ - internal class MetricsDispatchTests - { - private int m_NbDispatches; - - private NetworkManager m_NetworkManager; - - [SetUp] - public void SetUp() - { - var networkManagerStarted = NetworkManagerHelper.StartNetworkManager( - out m_NetworkManager, - NetworkManagerHelper.NetworkManagerOperatingMode.Host, - new NetworkConfig - { - TickRate = 1, - }); - Assert.IsTrue(networkManagerStarted); - - var networkMetrics = m_NetworkManager.NetworkMetrics as NetworkMetrics; - networkMetrics.Dispatcher.RegisterObserver(new MockMetricsObserver(() => m_NbDispatches++)); - } - - [TearDown] - public void TearDown() - { - NetworkManagerHelper.ShutdownNetworkManager(); - } - - [UnityTest] - public IEnumerator VerifyNetworkMetricsDispatchesOncePerFrame() - { - var nbDispatchesBeforeFrame = m_NbDispatches; - - yield return null; // Wait one frame so dispatch occurs - - var nbDispatchesAfterFrame = m_NbDispatches; - - Assert.AreEqual(1, nbDispatchesAfterFrame - nbDispatchesBeforeFrame); - } - - private class MockMetricsObserver : IMetricObserver - { - private readonly Action m_OnObserve; - - public MockMetricsObserver(Action onObserve) - { - m_OnObserve = onObserve; - } - - public void Observe(MetricCollection collection) - { - m_OnObserve?.Invoke(); - } - } - } -} -#endif diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/MetricsDispatchTests.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/MetricsDispatchTests.cs.meta deleted file mode 100644 index 9a1994022a..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/MetricsDispatchTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 4833f15c8a59407abbb8532ea64b5683 -timeCreated: 1633451646 \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/NetworkObjectMetricsTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/NetworkObjectMetricsTests.cs deleted file mode 100644 index 31abcadd50..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/NetworkObjectMetricsTests.cs +++ /dev/null @@ -1,288 +0,0 @@ -#if MULTIPLAYER_TOOLS -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using NUnit.Framework; -using Unity.Multiplayer.Tools.MetricTypes; -using Unity.Netcode.TestHelpers.Runtime.Metrics; -using UnityEngine; -using UnityEngine.TestTools; - -namespace Unity.Netcode.RuntimeTests.Metrics -{ - internal class NetworkObjectMetricsTests : SingleClientMetricTestBase - { - // Keep less than 23 chars to avoid issues if compared against a 32-byte fixed string - // since it will have "(Clone)" appended - private const string k_NewNetworkObjectName = "MetricObject"; - private GameObject m_NewNetworkPrefab; - - /// - /// Use OnServerAndClientsCreated to create any additional prefabs that you might need - /// - protected override void OnServerAndClientsCreated() - { - base.OnServerAndClientsCreated(); - m_NewNetworkPrefab = CreateNetworkObjectPrefab(k_NewNetworkObjectName); - } - - private NetworkObject SpawnNetworkObject() - { - return SpawnObject(m_NewNetworkPrefab, m_ServerNetworkManager).GetComponent(); - } - - [UnityTest] - public IEnumerator TrackNetworkObjectSpawnSentMetric() - { - var waitForMetricEvent = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.ObjectSpawnedSent); - - var spawnedObject = SpawnNetworkObject(); - - yield return waitForMetricEvent.WaitForMetricsReceived(); - - var objectSpawnedSentMetricValues = waitForMetricEvent.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, objectSpawnedSentMetricValues.Count); - - var objectSpawned = objectSpawnedSentMetricValues.Last(); - Assert.AreEqual(Client.LocalClientId, objectSpawned.Connection.Id); - Assert.AreEqual(spawnedObject.name, objectSpawned.NetworkId.Name); - Assert.AreNotEqual(0, objectSpawned.BytesCount); - } - - [UnityTest] - public IEnumerator TrackNetworkObjectSpawnReceivedMetric() - { - var waitForMetricEvent = new WaitForEventMetricValues(ClientMetrics.Dispatcher, NetworkMetricTypes.ObjectSpawnedReceived); - - var networkObject = SpawnNetworkObject(); - yield return s_DefaultWaitForTick; - - yield return waitForMetricEvent.WaitForMetricsReceived(); - - var objectSpawnedReceivedMetricValues = waitForMetricEvent.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, objectSpawnedReceivedMetricValues.Count); - var clientSideObject = s_GlobalNetworkObjects[1][networkObject.NetworkObjectId]; - var objectSpawned = objectSpawnedReceivedMetricValues.First(); - Assert.AreEqual(Server.LocalClientId, objectSpawned.Connection.Id); - Assert.AreEqual(networkObject.NetworkObjectId, objectSpawned.NetworkId.NetworkId); - Assert.AreEqual(clientSideObject.name, objectSpawned.NetworkId.Name); - Assert.AreNotEqual(0, objectSpawned.BytesCount); - } - - [UnityTest] - public IEnumerator TrackNetworkObjectDestroySentMetric() - { - var waitForMetricEvent = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.ObjectDestroyedSent); - var networkObject = SpawnNetworkObject(); - var objectName = networkObject.name; - - Server.SpawnManager.OnDespawnObject(networkObject, true); - - // Wait for the metric to be received - yield return waitForMetricEvent.WaitForMetricsReceived(); - var objectDestroyedSentMetricValues = waitForMetricEvent.AssertMetricValuesHaveBeenFound(); - - // The server should have sent 1 destroy message to the 1 client connected - Assert.AreEqual(1, objectDestroyedSentMetricValues.Count); - - var objectDestroyed = objectDestroyedSentMetricValues.Last(); - Assert.AreEqual(Client.LocalClientId, objectDestroyed.Connection.Id); - Assert.AreEqual(objectName, objectDestroyed.NetworkId.Name); - Assert.AreNotEqual(0, objectDestroyed.BytesCount); - } - - [UnityTest] - public IEnumerator TrackNetworkObjectDestroyReceivedMetric() - { - var networkObject = SpawnNetworkObject(); - - yield return s_DefaultWaitForTick; - - var waitForMetricEvent = new WaitForEventMetricValues(ClientMetrics.Dispatcher, NetworkMetricTypes.ObjectDestroyedReceived); - var objectId = networkObject.NetworkObjectId; - var objectName = s_GlobalNetworkObjects[1][objectId].name; - - Server.SpawnManager.OnDespawnObject(networkObject, true); - yield return s_DefaultWaitForTick; - - yield return waitForMetricEvent.WaitForMetricsReceived(); - - var objectDestroyedReceivedMetricValues = waitForMetricEvent.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, objectDestroyedReceivedMetricValues.Count); - - var objectDestroyed = objectDestroyedReceivedMetricValues.First(); - Assert.AreEqual(Server.LocalClientId, objectDestroyed.Connection.Id); - Assert.AreEqual(objectId, objectDestroyed.NetworkId.NetworkId); - Assert.AreEqual(objectName, objectDestroyed.NetworkId.Name); - Assert.AreNotEqual(0, objectDestroyed.BytesCount); - } - - [UnityTest] - public IEnumerator TrackMultipleNetworkObjectSpawnSentMetric() - { - var networkObject1 = SpawnNetworkObject(); - var networkObject2 = SpawnNetworkObject(); - yield return s_DefaultWaitForTick; - - NetworkObject.NetworkHide(new List { networkObject1, networkObject2 }, Client.LocalClientId); - - yield return s_DefaultWaitForTick; - - var waitForMetricEvent = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.ObjectSpawnedSent); - - NetworkObject.NetworkShow(new List { networkObject1, networkObject2 }, Client.LocalClientId); - yield return s_DefaultWaitForTick; - - yield return waitForMetricEvent.WaitForMetricsReceived(); - - var objectSpawnedSentMetricValues = waitForMetricEvent.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(2, objectSpawnedSentMetricValues.Count); // As there's a client and server, this event is emitted twice. - Assert.That( - objectSpawnedSentMetricValues, - Has.Exactly(1).Matches( - x => Client.LocalClientId == x.Connection.Id - && x.NetworkId.NetworkId == networkObject1.NetworkObjectId - && x.NetworkId.Name == networkObject1.name)); - Assert.That( - objectSpawnedSentMetricValues, - Has.Exactly(1).Matches( - x => Client.LocalClientId == x.Connection.Id - && x.NetworkId.NetworkId == networkObject2.NetworkObjectId - && x.NetworkId.Name == networkObject2.name)); - - Assert.AreEqual(1, objectSpawnedSentMetricValues.Select(x => x.BytesCount).Distinct().Count()); - Assert.That(objectSpawnedSentMetricValues.Select(x => x.BytesCount), Has.All.Not.EqualTo(0)); - } - - [UnityTest] - public IEnumerator TrackMultipleNetworkObjectDestroySentMetric() - { - var networkObject1 = SpawnNetworkObject(); - var networkObject2 = SpawnNetworkObject(); - - yield return s_DefaultWaitForTick; - - var waitForMetricEvent = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.ObjectDestroyedSent); - - NetworkObject.NetworkHide(new List { networkObject1, networkObject2 }, Client.LocalClientId); - yield return s_DefaultWaitForTick; - yield return waitForMetricEvent.WaitForMetricsReceived(); - - var objectDestroyedSentMetricValues = waitForMetricEvent.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(2, objectDestroyedSentMetricValues.Count); // As there's a client and server, this event is emitted twice. - Assert.That( - objectDestroyedSentMetricValues, - Has.Exactly(1).Matches( - x => Client.LocalClientId == x.Connection.Id - && x.NetworkId.NetworkId == networkObject1.NetworkObjectId - && x.NetworkId.Name == networkObject1.name)); - Assert.That( - objectDestroyedSentMetricValues, - Has.Exactly(1).Matches( - x => Client.LocalClientId == x.Connection.Id - && x.NetworkId.NetworkId == networkObject2.NetworkObjectId - && x.NetworkId.Name == networkObject2.name)); - - Assert.AreEqual(1, objectDestroyedSentMetricValues.Select(x => x.BytesCount).Distinct().Count()); - Assert.That(objectDestroyedSentMetricValues.Select(x => x.BytesCount), Has.All.Not.EqualTo(0)); - } - -#if MULTIPLAYER_TOOLS_1_0_0_PRE_7 - [UnityTest] - public IEnumerator TrackNetworkObjectCountAfterSpawnOnServer() - { - SpawnNetworkObject(); - - var waitForGaugeValues = new WaitForGaugeMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.NetworkObjects); - - yield return s_DefaultWaitForTick; - yield return waitForGaugeValues.WaitForMetricsReceived(); - - var value = waitForGaugeValues.AssertMetricValueHaveBeenFound(); - Assert.AreEqual(3, value); - } - - [UnityTest] - public IEnumerator TrackNetworkObjectCountAfterSpawnOnClient() - { - SpawnNetworkObject(); - - //By default, we have 2 network objects - //There's a slight delay between the spawn on the server and the spawn on the client - //We want to have metrics when the value is different than the 2 default one to confirm the client has the new value - var waitForGaugeValues = new WaitForGaugeMetricValues(ClientMetrics.Dispatcher, NetworkMetricTypes.NetworkObjects, metric => (int)metric != 2); - - yield return waitForGaugeValues.WaitForMetricsReceived(); - - var value = waitForGaugeValues.AssertMetricValueHaveBeenFound(); - Assert.AreEqual(3, value); - } - - [UnityTest] - public IEnumerator TrackNetworkObjectCountAfterDespawnOnServer() - { - var objectList = Server.SpawnManager.SpawnedObjectsList; - for (int i = objectList.Count - 1; i >= 0; --i) - { - objectList.ElementAt(i).Despawn(); - } - - var waitForGaugeValues = new WaitForGaugeMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.NetworkObjects); - - yield return s_DefaultWaitForTick; - yield return waitForGaugeValues.WaitForMetricsReceived(); - - var value = waitForGaugeValues.AssertMetricValueHaveBeenFound(); - Assert.AreEqual(0, value); - } - - [UnityTest] - public IEnumerator TrackNetworkObjectCountAfterDespawnOnClient() - { - var initialSpawnCount = Server.SpawnManager.SpawnedObjectsList.Count; - var spawnedObjects = new List(); - //By default, we have 2 network objects and will have spawned 4 so we want to wait for metrics to tell us we have 6 spawned objects - var waitForGaugeValues = new WaitForGaugeMetricValues(ClientMetrics.Dispatcher, NetworkMetricTypes.NetworkObjects, metric => (int)metric == 6); - - for (int i = 0; i < 4; i++) - { - spawnedObjects.Add(SpawnObject(m_NewNetworkPrefab, Server)); - } - - yield return waitForGaugeValues.WaitForMetricsReceived(); - var value = waitForGaugeValues.AssertMetricValueHaveBeenFound(); - Assert.AreEqual(6, value); - - // Create a new gauge that waits for the initial spawned client count - waitForGaugeValues = new WaitForGaugeMetricValues(ClientMetrics.Dispatcher, NetworkMetricTypes.NetworkObjects, metric => (int)metric != 6); - - // Now despawn the 4 spawned objects - foreach (var spawnedObject in spawnedObjects) - { - spawnedObject.GetComponent().Despawn(); - } - spawnedObjects.Clear(); - yield return waitForGaugeValues.WaitForMetricsReceived(); - value = waitForGaugeValues.AssertMetricValueHaveBeenFound(); - - // Validate the value is equals to the spawned objects prior to spawning the network prefab instances - Assert.AreEqual(initialSpawnCount, value); - - // Create a new gauge that waits for the initial spawned client count - waitForGaugeValues = new WaitForGaugeMetricValues(ClientMetrics.Dispatcher, NetworkMetricTypes.NetworkObjects, metric => (int)metric == 0); - - // Now assure despawning players are being tracked too - var spawnedPlayers = Server.SpawnManager.SpawnedObjectsList.ToList(); - foreach (var spawnedObject in spawnedPlayers) - { - spawnedObject.Despawn(); - } - yield return waitForGaugeValues.WaitForMetricsReceived(); - value = waitForGaugeValues.AssertMetricValueHaveBeenFound(); - // Nothing should be spawned on the client at this point - Assert.AreEqual(0, value); - } -#endif - } -} -#endif diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/NetworkObjectMetricsTests.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/NetworkObjectMetricsTests.cs.meta deleted file mode 100644 index d09dcacf56..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/NetworkObjectMetricsTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c4cb56c442bed164da4908e54590dfeb -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/NetworkVariableMetricsTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/NetworkVariableMetricsTests.cs deleted file mode 100644 index 11f38cea1b..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/NetworkVariableMetricsTests.cs +++ /dev/null @@ -1,61 +0,0 @@ -#if MULTIPLAYER_TOOLS -using System.Collections; -using System.Linq; -using NUnit.Framework; -using Unity.Multiplayer.Tools.MetricTypes; -using Unity.Netcode.TestHelpers.Runtime.Metrics; -using UnityEngine.TestTools; - -namespace Unity.Netcode.RuntimeTests.Metrics -{ - internal class NetworkVariableMetricsTests : SingleClientMetricTestBase - { - protected override void OnCreatePlayerPrefab() - { - m_PlayerPrefab.AddComponent(); - base.OnCreatePlayerPrefab(); - } - - [UnityTest] - public IEnumerator TrackNetworkVariableDeltaSentMetric() - { - var waitForMetricValues = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.NetworkVariableDeltaSent); - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var metricValues = waitForMetricValues.AssertMetricValuesHaveBeenFound(); - - bool found = false; - foreach (var networkVariableDeltaSent in metricValues) - { - if (nameof(NetworkVariableComponent.MyNetworkVariable) == networkVariableDeltaSent.Name && - Client.LocalClientId == networkVariableDeltaSent.Connection.Id && - 0 != networkVariableDeltaSent.BytesCount) - { - found = true; - } - } - Assert.IsTrue(found); - } - - [UnityTest] - public IEnumerator TrackNetworkVariableDeltaReceivedMetric() - { - var waitForMetricValues = new WaitForEventMetricValues(ClientMetrics.Dispatcher, NetworkMetricTypes.NetworkVariableDeltaReceived); - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var metricValues = waitForMetricValues.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(2, metricValues.Count); // We have an instance each of the player prefabs - - var first = metricValues.First(); - Assert.AreEqual(nameof(NetworkVariableComponent.MyNetworkVariable), first.Name); - Assert.AreNotEqual(0, first.BytesCount); - - var last = metricValues.Last(); - Assert.AreEqual(nameof(NetworkVariableComponent.MyNetworkVariable), last.Name); - Assert.AreNotEqual(0, last.BytesCount); - } - } -} -#endif diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/NetworkVariableMetricsTests.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/NetworkVariableMetricsTests.cs.meta deleted file mode 100644 index 690106bf91..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/NetworkVariableMetricsTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: abbea688505c90d4f82bfa5ea3ee1cd9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/OwnershipChangeMetricsTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/OwnershipChangeMetricsTests.cs deleted file mode 100644 index 3f04820155..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/OwnershipChangeMetricsTests.cs +++ /dev/null @@ -1,106 +0,0 @@ -#if MULTIPLAYER_TOOLS -using System.Collections; -using System.Linq; -using NUnit.Framework; -using Unity.Collections; -using Unity.Multiplayer.Tools.MetricTypes; -using Unity.Netcode.TestHelpers.Runtime; -using Unity.Netcode.TestHelpers.Runtime.Metrics; -using UnityEngine; -using UnityEngine.TestTools; - -namespace Unity.Netcode.RuntimeTests.Metrics -{ - internal class OwnershipChangeMetricsTests : SingleClientMetricTestBase - { - private const string k_NewNetworkObjectName = "TestNetworkObjectToSpawn"; - private NetworkObject m_NewNetworkPrefab; - // Header is dynamically sized due to packing, will be 2 bytes for all test messages. - private const int k_MessageHeaderSize = 2; - - protected override void OnServerAndClientsCreated() - { - var gameObject = new GameObject(k_NewNetworkObjectName); - m_NewNetworkPrefab = gameObject.AddComponent(); - NetcodeIntegrationTestHelpers.MakeNetworkObjectTestPrefab(m_NewNetworkPrefab); - - var networkPrefab = new NetworkPrefab { Prefab = gameObject }; - m_ServerNetworkManager.NetworkConfig.Prefabs.Add(networkPrefab); - foreach (var client in m_ClientNetworkManagers) - { - client.NetworkConfig.Prefabs.Add(networkPrefab); - } - base.OnServerAndClientsCreated(); - } - - private NetworkObject SpawnNetworkObject() - { - // Spawn another network object so we can hide multiple. - var gameObject = Object.Instantiate(m_NewNetworkPrefab); // new GameObject(NewNetworkObjectName); - var networkObject = gameObject.GetComponent(); - networkObject.NetworkManagerOwner = Server; - networkObject.Spawn(); - - return networkObject; - } - - private int GetWriteSizeForOwnerChange(NetworkObject networkObject, ulong newOwner) - { - var message = new ChangeOwnershipMessage - { - NetworkObjectId = networkObject.NetworkObjectId, - OwnerClientId = newOwner - }; - using var writer = new FastBufferWriter(1024, Allocator.Temp); - message.Serialize(writer, message.Version); - return writer.Length; - } - - [UnityTest] - public IEnumerator TrackOwnershipChangeSentMetric() - { - var networkObject = SpawnNetworkObject(); - - yield return new WaitForSeconds(0.2f); - - var waitForMetricValues = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.OwnershipChangeSent); - - networkObject.ChangeOwnership(1); - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var metricValues = waitForMetricValues.AssertMetricValuesHaveBeenFound(); - - var ownershipChangeSent = metricValues.First(); - Assert.AreEqual(networkObject.NetworkObjectId, ownershipChangeSent.NetworkId.NetworkId); - Assert.AreEqual(Client.LocalClientId, ownershipChangeSent.Connection.Id); - - var serializedLength = GetWriteSizeForOwnerChange(networkObject, 1); - Assert.AreEqual(serializedLength + k_MessageHeaderSize, ownershipChangeSent.BytesCount); - } - - [UnityTest] - public IEnumerator TrackOwnershipChangeReceivedMetric() - { - var networkObject = SpawnNetworkObject(); - - yield return new WaitForSeconds(0.2f); - - var waitForMetricValues = new WaitForEventMetricValues(ClientMetrics.Dispatcher, NetworkMetricTypes.OwnershipChangeReceived); - - networkObject.ChangeOwnership(1); - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var metricValues = waitForMetricValues.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, metricValues.Count); - - var ownershipChangeReceived = metricValues.First(); - Assert.AreEqual(networkObject.NetworkObjectId, ownershipChangeReceived.NetworkId.NetworkId); - - var serializedLength = GetWriteSizeForOwnerChange(networkObject, 1); - Assert.AreEqual(serializedLength, ownershipChangeReceived.BytesCount); - } - } -} -#endif diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/OwnershipChangeMetricsTests.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/OwnershipChangeMetricsTests.cs.meta deleted file mode 100644 index a227871bc5..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/OwnershipChangeMetricsTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 86daf1dbe91c9ad40818743a805d0052 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/PacketLossMetricsTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/PacketLossMetricsTests.cs deleted file mode 100644 index 1f9a35390f..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/PacketLossMetricsTests.cs +++ /dev/null @@ -1,91 +0,0 @@ -#if MULTIPLAYER_TOOLS -#if MULTIPLAYER_TOOLS_1_0_0_PRE_7 -using System.Collections; -using NUnit.Framework; -using Unity.Collections; -using Unity.Multiplayer.Tools.MetricTypes; -using Unity.Netcode.TestHelpers.Runtime; -using Unity.Netcode.TestHelpers.Runtime.Metrics; -using Unity.Netcode.Transports.UTP; -using Unity.Networking.Transport.Utilities; -using UnityEngine.TestTools; - -namespace Unity.Netcode.RuntimeTests.Metrics -{ - internal class PacketLossMetricsTests : NetcodeIntegrationTest - { - protected override int NumberOfClients => 1; - private readonly int m_PacketLossRate = 25; - private readonly int m_PacketLossRangeDelta = 3; - private readonly int m_MessageSize = 200; - - public PacketLossMetricsTests() - : base(HostOrServer.Server) - { } - - protected override void OnServerAndClientsCreated() - { - var clientTransport = (UnityTransport)m_ClientNetworkManagers[0].NetworkConfig.NetworkTransport; - - // Determined through trial and error. With both UTP 1.2 and 2.0, this random seed - // results in an effective packet loss percentage between 22% and 28%. Future UTP - // updates may change the RNG call patterns and cause this test to fail, in which - // case the value should be modified again. - clientTransport.DebugSimulatorRandomSeed = 4; - - base.OnServerAndClientsCreated(); - } - - [UnityTest] - public IEnumerator TrackPacketLossAsServer() - { - var waitForPacketLossMetric = new WaitForGaugeMetricValues((m_ServerNetworkManager.NetworkMetrics as NetworkMetrics).Dispatcher, - NetworkMetricTypes.PacketLoss, - metric => metric == 0.0d); - - for (int i = 0; i < 1000; ++i) - { - using var writer = new FastBufferWriter(m_MessageSize, Allocator.Persistent); - writer.WriteBytesSafe(new byte[m_MessageSize]); - m_ServerNetworkManager.CustomMessagingManager.SendNamedMessage("Test", m_ServerNetworkManager.ConnectedClientsIds, writer); - } - - yield return waitForPacketLossMetric.WaitForMetricsReceived(); - - var packetLossValue = waitForPacketLossMetric.AssertMetricValueHaveBeenFound(); - Assert.AreEqual(0d, packetLossValue); - } - - [UnityTest] - public IEnumerator TrackPacketLossAsClient() - { - double packetLossRateMinRange = (m_PacketLossRate - m_PacketLossRangeDelta) / 100d; - double packetLossRateMaxrange = (m_PacketLossRate + m_PacketLossRangeDelta) / 100d; - var clientNetworkManager = m_ClientNetworkManagers[0]; - - var clientTransport = (UnityTransport)clientNetworkManager.NetworkConfig.NetworkTransport; - clientTransport.GetNetworkDriver().CurrentSettings.TryGet(out var parameters); - parameters.PacketDropPercentage = m_PacketLossRate; - clientTransport.GetNetworkDriver().ModifySimulatorStageParameters(parameters); - - var waitForPacketLossMetric = new WaitForGaugeMetricValues((clientNetworkManager.NetworkMetrics as NetworkMetrics).Dispatcher, - NetworkMetricTypes.PacketLoss, - metric => packetLossRateMinRange <= metric && metric <= packetLossRateMaxrange); - - for (int i = 0; i < 1000; ++i) - { - using var writer = new FastBufferWriter(m_MessageSize, Allocator.Persistent); - writer.WriteBytesSafe(new byte[m_MessageSize]); - m_ServerNetworkManager.CustomMessagingManager.SendNamedMessage("Test", m_ServerNetworkManager.ConnectedClientsIds, writer); - } - - yield return waitForPacketLossMetric.WaitForMetricsReceived(); - - var packetLossValue = waitForPacketLossMetric.AssertMetricValueHaveBeenFound(); - Assert.That(packetLossValue, Is.InRange(packetLossRateMinRange, packetLossRateMaxrange)); - } - } -} - -#endif -#endif diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/PacketLossMetricsTests.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/PacketLossMetricsTests.cs.meta deleted file mode 100644 index d48f305665..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/PacketLossMetricsTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 12e64da4670d49a4a89da38d18e64396 -timeCreated: 1648133968 \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/PacketMetricsTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/PacketMetricsTests.cs deleted file mode 100644 index b6bfd71bf9..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/PacketMetricsTests.cs +++ /dev/null @@ -1,50 +0,0 @@ -#if MULTIPLAYER_TOOLS -#if MULTIPLAYER_TOOLS_1_0_0_PRE_7 -using System.Collections; -using NUnit.Framework; -using Unity.Collections; -using Unity.Multiplayer.Tools.MetricTypes; -using Unity.Netcode.TestHelpers.Runtime.Metrics; -using UnityEngine.TestTools; - -namespace Unity.Netcode.RuntimeTests.Metrics -{ - internal class PacketMetricsTests : SingleClientMetricTestBase - { - [UnityTest] - public IEnumerator TrackPacketSentMetric() - { - var waitForMetricValues = new WaitForCounterMetricValue(ServerMetrics.Dispatcher, NetworkMetricTypes.PacketsSent, metric => metric > 0); - - using (var writer = new FastBufferWriter(sizeof(uint), Allocator.Temp)) - { - writer.WriteValueSafe(1337); - Server.CustomMessagingManager.SendUnnamedMessageToAll(writer); - } - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var totalPacketCount = waitForMetricValues.AssertMetricValueHaveBeenFound(); - Assert.That(totalPacketCount, Is.InRange(1, 4)); - } - - [UnityTest] - public IEnumerator TrackPacketReceivedMetric() - { - var waitForMetricValues = new WaitForCounterMetricValue(ClientMetrics.Dispatcher, NetworkMetricTypes.PacketsReceived, metric => metric > 0); - - using (var writer = new FastBufferWriter(sizeof(uint), Allocator.Temp)) - { - writer.WriteValueSafe(1337); - Server.CustomMessagingManager.SendUnnamedMessageToAll(writer); - } - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var totalPacketCount = waitForMetricValues.AssertMetricValueHaveBeenFound(); - Assert.That(totalPacketCount, Is.InRange(1, 4)); - } - } -} -#endif -#endif diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/PacketMetricsTests.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/PacketMetricsTests.cs.meta deleted file mode 100644 index d55ef2fa73..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/PacketMetricsTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 84a4884f4ea744a9944284d56b29531b -timeCreated: 1644269306 \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/RpcMetricsTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/RpcMetricsTests.cs deleted file mode 100644 index f68d502597..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/RpcMetricsTests.cs +++ /dev/null @@ -1,145 +0,0 @@ -#if MULTIPLAYER_TOOLS -using System.Collections; -using System.Linq; -using NUnit.Framework; -using Unity.Collections; -using Unity.Multiplayer.Tools.MetricTypes; -using Unity.Netcode.TestHelpers.Runtime.Metrics; -using UnityEngine.TestTools; - -namespace Unity.Netcode.RuntimeTests.Metrics -{ - internal class RpcMetricsTests : DualClientMetricTestBase - { - protected override void OnCreatePlayerPrefab() - { - m_PlayerPrefab.AddComponent(); - base.OnCreatePlayerPrefab(); - } - - [UnityTest] - public IEnumerator TrackRpcSentMetricOnServerToOnlyOneClientWithArray() - { - var waitForMetricValues = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.RpcSent); - - m_PlayerNetworkObjects[m_ServerNetworkManager.LocalClientId][FirstClient.LocalClientId].GetComponent().MyClientRpc(new ClientRpcParams - { - Send = new ClientRpcSendParams - { - TargetClientIds = new[] { FirstClient.LocalClientId } - } - }); - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var serverRpcSentValues = waitForMetricValues.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, serverRpcSentValues.Count); - - Assert.That(serverRpcSentValues, Has.All.Matches(x => x.Name == nameof(RpcTestComponent.MyClientRpc))); - Assert.That(serverRpcSentValues, Has.All.Matches(x => x.NetworkBehaviourName == nameof(RpcTestComponent))); - Assert.That(serverRpcSentValues, Has.All.Matches(x => x.BytesCount != 0)); - Assert.AreEqual(FirstClient.LocalClientId, serverRpcSentValues.First().Connection.Id); - } - - [UnityTest] - public IEnumerator TrackRpcSentMetricOnServerToOnlyOneClientWithNativeArray() - { - var waitForMetricValues = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.RpcSent); - - m_PlayerNetworkObjects[m_ServerNetworkManager.LocalClientId][FirstClient.LocalClientId].GetComponent().MyClientRpc(new ClientRpcParams - { - Send = new ClientRpcSendParams - { - TargetClientIdsNativeArray = new NativeArray(new[] { FirstClient.LocalClientId }, Allocator.Temp) - } - }); - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var serverRpcSentValues = waitForMetricValues.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, serverRpcSentValues.Count); - - Assert.That(serverRpcSentValues, Has.All.Matches(x => x.Name == nameof(RpcTestComponent.MyClientRpc))); - Assert.That(serverRpcSentValues, Has.All.Matches(x => x.NetworkBehaviourName == nameof(RpcTestComponent))); - Assert.That(serverRpcSentValues, Has.All.Matches(x => x.BytesCount != 0)); - Assert.AreEqual(FirstClient.LocalClientId, serverRpcSentValues.First().Connection.Id); - } - - [UnityTest] - public IEnumerator TrackRpcSentMetricOnServerToAllClients() - { - var waitForMetricValues = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.RpcSent); - - m_PlayerNetworkObjects[m_ServerNetworkManager.LocalClientId][FirstClient.LocalClientId].GetComponent().MyClientRpc(); - - yield return waitForMetricValues.WaitForMetricsReceived(); - - var serverRpcSentValues = waitForMetricValues.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(3, serverRpcSentValues.Count); // Server will receive this, since it's host - - Assert.That(serverRpcSentValues, Has.All.Matches(x => x.Name == nameof(RpcTestComponent.MyClientRpc))); - Assert.That(serverRpcSentValues, Has.All.Matches(x => x.NetworkBehaviourName == nameof(RpcTestComponent))); - Assert.That(serverRpcSentValues, Has.All.Matches(x => x.BytesCount != 0)); - Assert.Contains(Server.LocalClientId, serverRpcSentValues.Select(x => x.Connection.Id).ToArray()); - Assert.Contains(FirstClient.LocalClientId, serverRpcSentValues.Select(x => x.Connection.Id).ToArray()); - Assert.Contains(SecondClient.LocalClientId, serverRpcSentValues.Select(x => x.Connection.Id).ToArray()); - } - - [UnityTest] - public IEnumerator TrackRpcSentMetricOnClient() - { - var waitForClientMetricsValues = new WaitForEventMetricValues(FirstClientMetrics.Dispatcher, NetworkMetricTypes.RpcSent); - - m_PlayerNetworkObjects[FirstClient.LocalClientId][FirstClient.LocalClientId].GetComponent().MyServerRpc(); - - yield return waitForClientMetricsValues.WaitForMetricsReceived(); - - var clientRpcSentValues = waitForClientMetricsValues.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, clientRpcSentValues.Count); - - var rpcSent = clientRpcSentValues.First(); - Assert.AreEqual(Server.LocalClientId, rpcSent.Connection.Id); - Assert.AreEqual(nameof(RpcTestComponent.MyServerRpc), rpcSent.Name); - Assert.AreEqual(nameof(RpcTestComponent), rpcSent.NetworkBehaviourName); - Assert.AreNotEqual(0, rpcSent.BytesCount); - } - - [UnityTest] - public IEnumerator TrackRpcReceivedMetricOnServer() - { - var waitForServerMetricsValues = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.RpcReceived); - m_PlayerNetworkObjects[FirstClient.LocalClientId][FirstClient.LocalClientId].GetComponent().MyServerRpc(); - - yield return waitForServerMetricsValues.WaitForMetricsReceived(); - - var serverRpcReceivedValues = waitForServerMetricsValues.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, serverRpcReceivedValues.Count); - - var rpcReceived = serverRpcReceivedValues.First(); - Assert.AreEqual(FirstClient.LocalClientId, rpcReceived.Connection.Id); - Assert.AreEqual(nameof(RpcTestComponent.MyServerRpc), rpcReceived.Name); - Assert.AreEqual(nameof(RpcTestComponent), rpcReceived.NetworkBehaviourName); - Assert.AreNotEqual(0, rpcReceived.BytesCount); - } - - [UnityTest] - public IEnumerator TrackRpcReceivedMetricOnClient() - { - var waitForClientMetricsValues = new WaitForEventMetricValues(FirstClientMetrics.Dispatcher, NetworkMetricTypes.RpcReceived); - - m_PlayerNetworkObjects[m_ServerNetworkManager.LocalClientId][FirstClient.LocalClientId].GetComponent().MyClientRpc(); - - yield return waitForClientMetricsValues.WaitForMetricsReceived(); - - var clientRpcReceivedValues = waitForClientMetricsValues.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, clientRpcReceivedValues.Count); - - var rpcReceived = clientRpcReceivedValues.First(); - Assert.AreEqual(Server.LocalClientId, rpcReceived.Connection.Id); - Assert.AreEqual(nameof(RpcTestComponent.MyClientRpc), rpcReceived.Name); - Assert.AreEqual(nameof(RpcTestComponent), rpcReceived.NetworkBehaviourName); - Assert.AreNotEqual(0, rpcReceived.BytesCount); - } - } -} -#endif diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/RpcMetricsTests.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/RpcMetricsTests.cs.meta deleted file mode 100644 index 38427d5e46..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/RpcMetricsTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 02a31cf8be00f8b46b65477d648b297d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/RttMetricsTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/RttMetricsTests.cs deleted file mode 100644 index 3a1a2ca2d4..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/RttMetricsTests.cs +++ /dev/null @@ -1,88 +0,0 @@ -#if MULTIPLAYER_TOOLS -#if MULTIPLAYER_TOOLS_1_0_0_PRE_7 - -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using NUnit.Framework; -using Unity.Collections; -using Unity.Multiplayer.Tools.MetricTypes; -using Unity.Netcode.TestHelpers.Runtime; -using Unity.Netcode.TestHelpers.Runtime.Metrics; -using UnityEngine.TestTools; - -namespace Unity.Netcode.RuntimeTests.Metrics -{ - /// - /// Note: This is one way to easily identify each specific test. - /// Since the test only tested 1 and then 2 clients, I made this - /// and enum, but you can always remove the enum in the constructor, - /// replace it with an int, and then test from 1 to 9 clients. - /// Just an example of how you can accomplish the same task using - /// the NetcodeIntegrationTest - /// - [TestFixture(ClientCount.OneClient)] - [TestFixture(ClientCount.TwoClients)] - internal class RttMetricsTests : NetcodeIntegrationTest - { - protected override int NumberOfClients => m_ClientCount; - - public enum ClientCount - { - OneClient, - TwoClients - } - - private int m_ClientCount; - - public RttMetricsTests(ClientCount numberOfClients) - { - m_ClientCount = numberOfClients == ClientCount.OneClient ? 1 : 2; - } - - [UnityTest] - public IEnumerator TrackRttMetricServerToClient() - { - var waitForMetricValues = new WaitForGaugeMetricValues((m_ServerNetworkManager.NetworkMetrics as NetworkMetrics).Dispatcher, NetworkMetricTypes.RttToServer); - - using (var writer = new FastBufferWriter(sizeof(uint), Allocator.Temp)) - { - writer.WriteValueSafe(1337); - m_ServerNetworkManager.CustomMessagingManager.SendUnnamedMessageToAll(writer); - } - - yield return WaitForConditionOrTimeOut(() => waitForMetricValues.MetricFound()); - Assert.False(s_GlobalTimeoutHelper.TimedOut, $"{nameof(TrackRttMetricServerToClient)} timed out waiting for metric to be found for {m_ClientCount} clients!"); - - var rttValue = waitForMetricValues.AssertMetricValueHaveBeenFound(); - Assert.AreEqual(0f, rttValue); - } - - [UnityTest] - public IEnumerator TrackRttMetricClientToServer() - { - var clientGaugeMetricValues = new List(); - foreach (var client in m_ClientNetworkManagers) - { - clientGaugeMetricValues.Add(new WaitForGaugeMetricValues((client.NetworkMetrics as NetworkMetrics).Dispatcher, NetworkMetricTypes.RttToServer, metric => metric > 0f)); - } - - using (var writer = new FastBufferWriter(sizeof(uint), Allocator.Temp)) - { - writer.WriteValueSafe(1337); - m_ServerNetworkManager.CustomMessagingManager.SendUnnamedMessageToAll(writer); - } - - yield return WaitForConditionOrTimeOut(() => clientGaugeMetricValues.Where((c) => c.MetricFound()).Count() == NumberOfClients); - Assert.False(s_GlobalTimeoutHelper.TimedOut, $"{nameof(TrackRttMetricClientToServer)} timed out waiting for metric to be found for {m_ClientCount} clients!"); - - foreach (var clientGaugeMetricValue in clientGaugeMetricValues) - { - var rttValue = clientGaugeMetricValue.AssertMetricValueHaveBeenFound(); - Assert.That(rttValue, Is.GreaterThanOrEqualTo(1e-3f)); - } - } - } -} -#endif -#endif diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/RttMetricsTests.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/RttMetricsTests.cs.meta deleted file mode 100644 index 704d1b4b6d..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/RttMetricsTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 452fbcb436d24291ba7db3a68e3e50ac -timeCreated: 1644269321 \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/ServerLogsMetricTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/ServerLogsMetricTests.cs deleted file mode 100644 index 758d7aa114..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/ServerLogsMetricTests.cs +++ /dev/null @@ -1,95 +0,0 @@ -#if MULTIPLAYER_TOOLS -using System; -using System.Collections; -using System.Linq; -using NUnit.Framework; -using Unity.Collections; -using Unity.Multiplayer.Tools.MetricTypes; -using Unity.Netcode.TestHelpers.Runtime.Metrics; -using UnityEngine.TestTools; - -namespace Unity.Netcode.RuntimeTests.Metrics -{ - internal class ServerLogsMetricTests : SingleClientMetricTestBase - { - // Header is dynamically sized due to packing, will be 3 bytes for all test messages. - private const int k_MessageHeaderSize = 3; - - protected override IEnumerator OnSetup() - { - m_CreateServerFirst = false; - return base.OnSetup(); - } - - - private int GetWriteSizeForLog(NetworkLog.LogType logType, string logMessage) - { - var message = new ServerLogMessage - { - LogType = logType, - Message = logMessage - }; - using var writer = new FastBufferWriter(1024, Allocator.Temp); - message.Serialize(writer, message.Version); - return writer.Length; - } - - [UnityTest] - public IEnumerator TrackServerLogSentMetric() - { - // Set the client NetworkManager to assure the log is sent - NetworkLog.NetworkManagerOverride = Client; - var waitForSentMetric = new WaitForEventMetricValues(ClientMetrics.Dispatcher, NetworkMetricTypes.ServerLogSent); - - var message = Guid.NewGuid().ToString(); - Client.LogLevel = LogLevel.Developer; - Server.LogLevel = LogLevel.Developer; - NetworkLog.LogWarningServer(message); - yield return s_DefaultWaitForTick; - - yield return waitForSentMetric.WaitForMetricsReceived(); - - var sentMetrics = waitForSentMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, sentMetrics.Count); - - var sentMetric = sentMetrics.First(); - Assert.AreEqual(Server.LocalClientId, sentMetric.Connection.Id); - Assert.AreEqual((uint)NetworkLog.LogType.Warning, (uint)sentMetric.LogLevel); - - var serializedLength = GetWriteSizeForLog(NetworkLog.LogType.Warning, message); - Assert.AreEqual(serializedLength + k_MessageHeaderSize, sentMetric.BytesCount); - } - - [UnityTest] - public IEnumerator TrackServerLogReceivedMetric() - { - var waitForReceivedMetric = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.ServerLogReceived); - - var message = Guid.NewGuid().ToString(); - Client.LogLevel = LogLevel.Developer; - Server.LogLevel = LogLevel.Developer; - NetworkLog.LogWarningServer(message); - - yield return s_DefaultWaitForTick; - - yield return waitForReceivedMetric.WaitForMetricsReceived(); - - var receivedMetrics = waitForReceivedMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, receivedMetrics.Count); - - var receivedMetric = receivedMetrics.First(); - Assert.AreEqual(Client.LocalClientId, receivedMetric.Connection.Id); - Assert.AreEqual((uint)NetworkLog.LogType.Warning, (uint)receivedMetric.LogLevel); - - var serializedLength = GetWriteSizeForLog(NetworkLog.LogType.Warning, message); - Assert.AreEqual(serializedLength, receivedMetric.BytesCount); - } - - protected override IEnumerator OnTearDown() - { - NetworkLog.NetworkManagerOverride = null; - return base.OnTearDown(); - } - } -} -#endif diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/ServerLogsMetricTests.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/ServerLogsMetricTests.cs.meta deleted file mode 100644 index 8eccb56ef7..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/ServerLogsMetricTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 5ba082aac78de5d488f621a0cbaf16a6 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/TransportBytesMetricsTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/TransportBytesMetricsTests.cs deleted file mode 100644 index 94e67e5630..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/TransportBytesMetricsTests.cs +++ /dev/null @@ -1,111 +0,0 @@ -#if MULTIPLAYER_TOOLS -using System; -using System.Collections; -using NUnit.Framework; -using Unity.Collections; -using Unity.Multiplayer.Tools.MetricTypes; -using Unity.Multiplayer.Tools.NetStats; -using Unity.Netcode.TestHelpers.Runtime.Metrics; -using UnityEngine.TestTools; - -namespace Unity.Netcode.RuntimeTests.Metrics -{ - internal class TransportBytesMetricsTests : SingleClientMetricTestBase - { - // Header is dynamically sized due to packing, will be 2 bytes for all test messages. - private const int k_MessageHeaderSize = 2; - private static readonly long k_MessageOverhead = 8 + FastBufferWriter.GetWriteSize() + k_MessageHeaderSize; - - [UnityTest] - public IEnumerator TrackTotalNumberOfBytesSent() - { - var messageName = new ForceNetworkSerializeByMemcpy(Guid.NewGuid()); - var writer = new FastBufferWriter(1300, Allocator.Temp); - var observer = new TotalBytesObserver(ClientMetrics.Dispatcher, NetworkMetricTypes.TotalBytesReceived); - try - { - writer.WriteValueSafe(messageName); - - Server.CustomMessagingManager.SendNamedMessage(messageName.Value.ToString(), Client.LocalClientId, writer); - } - finally - { - writer.Dispose(); - } - - var nbFrames = 0; - while (!observer.Found || nbFrames < 10) - { - yield return null; - nbFrames++; - } - - Assert.True(observer.Found); - Assert.AreEqual(((FastBufferWriter.GetWriteSize(messageName) + k_MessageOverhead) + 7) & ~7, observer.Value); - } - - [UnityTest] - public IEnumerator TrackTotalNumberOfBytesReceived() - { - var messageName = new ForceNetworkSerializeByMemcpy(Guid.NewGuid()); - var writer = new FastBufferWriter(1300, Allocator.Temp); - var observer = new TotalBytesObserver(ClientMetrics.Dispatcher, NetworkMetricTypes.TotalBytesReceived); - try - { - writer.WriteValueSafe(messageName); - - Server.CustomMessagingManager.SendNamedMessage(messageName.Value.ToString(), Client.LocalClientId, writer); - } - finally - { - writer.Dispose(); - } - - var nbFrames = 0; - while (!observer.Found || nbFrames < 10) - { - yield return null; - nbFrames++; - } - - Assert.True(observer.Found); - Assert.AreEqual(((FastBufferWriter.GetWriteSize(messageName) + k_MessageOverhead) + 7) & ~7, observer.Value); - } - - private class TotalBytesObserver : IMetricObserver - { - private readonly DirectionalMetricInfo m_MetricInfo; - - public TotalBytesObserver(IMetricDispatcher dispatcher, DirectionalMetricInfo metricInfo) - { - m_MetricInfo = metricInfo; - - dispatcher.RegisterObserver(this); - } - - public bool Found { get; private set; } - - public long Value { get; private set; } - - private int m_BytesFoundCounter; - private long m_TotalBytes; - - public void Observe(MetricCollection collection) - { - if (collection.TryGetCounter(m_MetricInfo.Id, out var counter) && counter.Value > 0) - { - // Don't assign another observed value once one is already observed - if (!Found) - { - Found = true; - Value = counter.Value; - m_TotalBytes += ((counter.Value + 7) & ~7); - m_BytesFoundCounter++; - UnityEngine.Debug.Log($"[{m_BytesFoundCounter}] Bytes Observed {counter.Value} | Total Bytes Observed: {m_TotalBytes}"); - } - } - } - } - } -} -#endif diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/TransportBytesMetricsTests.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/TransportBytesMetricsTests.cs.meta deleted file mode 100644 index 2cfb1f3a0b..0000000000 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics/TransportBytesMetricsTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a8be98b50d230114f853054c479341ee -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableBaseInitializesWhenPersisted.cs b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableBaseInitializesWhenPersisted.cs index 9ff1ae1a0d..0245602fcd 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableBaseInitializesWhenPersisted.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableBaseInitializesWhenPersisted.cs @@ -12,7 +12,7 @@ namespace Unity.Netcode.RuntimeTests [TestFixture(NetworkTopologyTypes.ClientServer, HostOrServer.Server)] [TestFixture(NetworkTopologyTypes.ClientServer, HostOrServer.Host)] [TestFixture(NetworkTopologyTypes.DistributedAuthority, HostOrServer.DAHost)] - public class NetworkVariableBaseInitializesWhenPersisted : NetcodeIntegrationTest + internal class NetworkVariableBaseInitializesWhenPersisted : NetcodeIntegrationTest { protected override int NumberOfClients => 1; diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableCollectionsTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableCollectionsTests.cs index 4cff83a3a5..388295c9e0 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableCollectionsTests.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableCollectionsTests.cs @@ -23,7 +23,7 @@ namespace Unity.Netcode.RuntimeTests /// [TestFixture(HostOrServer.Host)] [TestFixture(HostOrServer.Server)] - public class NetworkVariableCollectionsTests : NetcodeIntegrationTest + internal class NetworkVariableCollectionsTests : NetcodeIntegrationTest { protected override int NumberOfClients => 2; @@ -1218,7 +1218,7 @@ public IEnumerator TestHashSetBuiltInTypeCollections() [TestFixture(HostOrServer.Host, CollectionTypes.Dictionary)] [TestFixture(HostOrServer.Server, CollectionTypes.List)] [TestFixture(HostOrServer.Server, CollectionTypes.Dictionary)] - public class NetworkVariableCollectionsChangingTests : NetcodeIntegrationTest + internal class NetworkVariableCollectionsChangingTests : NetcodeIntegrationTest { protected override int NumberOfClients => 2; public enum CollectionTypes @@ -1411,7 +1411,7 @@ public IEnumerator CollectionAndOwnershipChangingTest() /// Helper class to test adding dictionary entries rapidly with frequent ownership changes. /// This includes a companion integer that is continually incremented and used as the key value for each entry. /// - public class DictionaryCollectionUpdateHelper : BaseCollectionUpdateHelper + internal class DictionaryCollectionUpdateHelper : BaseCollectionUpdateHelper { private NetworkVariable> m_DictionaryCollection = new NetworkVariable>(new Dictionary(), NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner); private NetworkVariable m_CurrentKeyValue = new NetworkVariable(0, NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner); @@ -1459,7 +1459,7 @@ protected override void AddItem() /// /// Helper class to test adding list entries rapidly with frequent ownership changes /// - public class ListCollectionUpdateHelper : BaseCollectionUpdateHelper + internal class ListCollectionUpdateHelper : BaseCollectionUpdateHelper { private NetworkVariable> m_ListCollection = new NetworkVariable>(new List(), NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner); @@ -1507,7 +1507,7 @@ protected override void AddItem() /// /// The base class to test rapidly adding items to a collection type /// - public class BaseCollectionUpdateHelper : NetworkBehaviour + internal class BaseCollectionUpdateHelper : NetworkBehaviour { public static bool VerboseMode; private const int k_OwnershipTickDelay = 1; @@ -1700,7 +1700,7 @@ protected void Log(string msg) #endregion #region HASHSET COMPONENT HELPERS - public class HashSetBaseTypeTestHelper : ListTestHelperBase, IHashSetTestHelperBase + internal class HashSetBaseTypeTestHelper : ListTestHelperBase, IHashSetTestHelperBase { public static Dictionary> Instances = new Dictionary>(); @@ -1949,7 +1949,7 @@ public override void OnNetworkDespawn() #endregion #region DICTIONARY COMPONENT HELPERS - public class NestedDictionaryTestHelper : ListTestHelperBase, IDictionaryTestHelperBase> + internal class NestedDictionaryTestHelper : ListTestHelperBase, IDictionaryTestHelperBase> { public static Dictionary> Instances = new Dictionary>(); @@ -2256,7 +2256,7 @@ public override void OnNetworkDespawn() } } - public class DictionaryTestHelper : ListTestHelperBase, IDictionaryTestHelperBase + internal class DictionaryTestHelper : ListTestHelperBase, IDictionaryTestHelperBase { public static Dictionary> Instances = new Dictionary>(); @@ -2542,7 +2542,7 @@ public override void OnNetworkDespawn() #endregion #region INETWORKSERIALIZABLE LIST TEST COMPONENT HELPERS - public class SerializableObject : INetworkSerializable, IEquatable + internal class SerializableObject : INetworkSerializable, IEquatable { public static SerializableObject GetRandomObject() { @@ -2598,7 +2598,7 @@ public bool Equals(SerializableObject other) } - public class ListTestHelperListSerializableObject : ListTestHelperBase, IListTestHelperBase> + internal class ListTestHelperListSerializableObject : ListTestHelperBase, IListTestHelperBase> { public static Dictionary> Instances = new Dictionary>(); @@ -2897,7 +2897,7 @@ public override void OnNetworkDespawn() } } - public class ListTestHelperSerializableObject : ListTestHelperBase, IListTestHelperBase + internal class ListTestHelperSerializableObject : ListTestHelperBase, IListTestHelperBase { public static Dictionary> Instances = new Dictionary>(); @@ -3162,7 +3162,7 @@ public override void OnNetworkDespawn() #endregion #region BUILT-IN LIST TEST COMPONENT HELPERS - public class ListTestHelperListInt : ListTestHelperBase, IListTestHelperBase> + internal class ListTestHelperListInt : ListTestHelperBase, IListTestHelperBase> { public static Dictionary> Instances = new Dictionary>(); @@ -3466,7 +3466,7 @@ public override void OnNetworkDespawn() } - public class ListTestHelperInt : ListTestHelperBase, IListTestHelperBase + internal class ListTestHelperInt : ListTestHelperBase, IListTestHelperBase { public static Dictionary> Instances = new Dictionary>(); @@ -3735,7 +3735,7 @@ public override void OnNetworkDespawn() #endregion #region BASE TEST COMPONENT HELPERS - public class ListTestHelperBase : NetworkBehaviour + internal class ListTestHelperBase : NetworkBehaviour { protected static bool IsDebugMode { get; private set; } @@ -3782,7 +3782,7 @@ public virtual bool CompareTrackedChanges(Targets target) } } - public interface IListTestHelperBase + internal interface IListTestHelperBase { public bool ValidateInstances(); @@ -3815,7 +3815,7 @@ public interface IListTestHelperBase public void ResetTrackedChanges(); } - public interface IDictionaryTestHelperBase + internal interface IDictionaryTestHelperBase { public bool ValidateInstances(); @@ -3844,7 +3844,7 @@ public interface IDictionaryTestHelperBase public void ResetTrackedChanges(); } - public interface IHashSetTestHelperBase + internal interface IHashSetTestHelperBase { public bool ValidateInstances(); diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTestsHelperTypes.cs b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTestsHelperTypes.cs index 698a47e49f..1a0fdd6bc3 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTestsHelperTypes.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTestsHelperTypes.cs @@ -129,49 +129,49 @@ internal struct TemplatedValueOnlyReferencedByNetworkVariableSubclass : INetw public T Value; } - public enum ByteEnum : byte + internal enum ByteEnum : byte { A, B, C = byte.MaxValue } - public enum SByteEnum : sbyte + internal enum SByteEnum : sbyte { A, B, C = sbyte.MaxValue } - public enum ShortEnum : short + internal enum ShortEnum : short { A, B, C = short.MaxValue } - public enum UShortEnum : ushort + internal enum UShortEnum : ushort { A, B, C = ushort.MaxValue } - public enum IntEnum : int + internal enum IntEnum : int { A, B, C = int.MaxValue } - public enum UIntEnum : uint + internal enum UIntEnum : uint { A, B, C = uint.MaxValue } - public enum LongEnum : long + internal enum LongEnum : long { A, B, C = long.MaxValue } - public enum ULongEnum : ulong + internal enum ULongEnum : ulong { A, B, diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers.meta b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers.meta index ce3ac002e3..0ac9d64297 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers.meta +++ b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers.meta @@ -1,3 +1,8 @@ -fileFormatVersion: 2 -guid: 1f398e1797944b5db4d3aa473629f46e -timeCreated: 1661800773 \ No newline at end of file +fileFormatVersion: 2 +guid: 373f4b845bf73a9499610c3fc8780a83 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Components.meta b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/Components.meta similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/Components.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/Components.meta diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Components/ObjectNameIdentifier.cs b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/Components/ObjectNameIdentifier.cs similarity index 84% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/Components/ObjectNameIdentifier.cs rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/Components/ObjectNameIdentifier.cs index b57c492d8f..17978b49ec 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Components/ObjectNameIdentifier.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/Components/ObjectNameIdentifier.cs @@ -1,6 +1,12 @@ using System; namespace Unity.Netcode.TestHelpers.Runtime { + /// + /// Used in conjunction with integratioin tests, this derived + /// class is used to provide additional identification information in the name of the spawned + /// objects in order to simplify finding a specific instance. + /// + /// public class ObjectNameIdentifier : NetworkBehaviour { private ulong m_CurrentOwner; @@ -18,12 +24,16 @@ public class ObjectNameIdentifier : NetworkBehaviour private NetworkObject m_NetworkObject; private string m_OriginalName; + /// public override void OnNetworkSpawn() { RegisterAndLabelNetworkObject(); } + /// + /// Invoke to register and label the spawned . + /// protected void RegisterAndLabelNetworkObject() { if (!m_IsRegistered) @@ -58,6 +68,9 @@ protected void RegisterAndLabelNetworkObject() } } + /// + /// Invoke to remove the object from registration. + /// protected void DeRegisterNetworkObject() { if (m_IsRegistered) @@ -67,23 +80,27 @@ protected void DeRegisterNetworkObject() } } + /// public override void OnLostOwnership() { DeRegisterNetworkObject(); RegisterAndLabelNetworkObject(); } + /// public override void OnGainedOwnership() { DeRegisterNetworkObject(); RegisterAndLabelNetworkObject(); } + /// public override void OnNetworkDespawn() { DeRegisterNetworkObject(); } + /// public override void OnDestroy() { if (m_NetworkObject != null) diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Components/ObjectNameIdentifier.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/Components/ObjectNameIdentifier.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/Components/ObjectNameIdentifier.cs.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/Components/ObjectNameIdentifier.cs.meta diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/ConditionalPredicate.cs b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/ConditionalPredicate.cs similarity index 60% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/ConditionalPredicate.cs rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/ConditionalPredicate.cs index 6745ae78a4..097674d21a 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/ConditionalPredicate.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/ConditionalPredicate.cs @@ -10,27 +10,43 @@ public class ConditionalPredicateBase : IConditionalPredicate { private bool m_TimedOut; + /// + /// Will be set to if timed out. + /// public bool TimedOut { get { return m_TimedOut; } } + /// + /// Override this method to incorporate your own conditional logic + /// + /// true for condition being met and false for the condition has yet to be met. protected virtual bool OnHasConditionBeenReached() { return true; } + /// public bool HasConditionBeenReached() { return OnHasConditionBeenReached(); } + /// + /// Override this to initialize anything for the conditioinal check. + /// protected virtual void OnStarted() { } + /// public void Started() { OnStarted(); } + /// + /// Override this to clean up anything used in the conditional check. + /// protected virtual void OnFinished() { } + /// public void Finished(bool timedOut) { m_TimedOut = timedOut; @@ -38,11 +54,15 @@ public void Finished(bool timedOut) } } + /// + /// A conditional predicate interface used with integration testing. + /// public interface IConditionalPredicate { /// /// Test the conditions of the test to be reached /// + /// or bool HasConditionBeenReached(); /// @@ -51,9 +71,10 @@ public interface IConditionalPredicate void Started(); /// - /// Wait for condition has finished: + /// Wait for condition has finished:
/// Condition(s) met or timed out ///
+ /// or void Finished(bool timedOut); } diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/ConditionalPredicate.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/ConditionalPredicate.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/ConditionalPredicate.cs.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/ConditionalPredicate.cs.meta diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/DebugNetworkHooks.cs b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/DebugNetworkHooks.cs similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/DebugNetworkHooks.cs rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/DebugNetworkHooks.cs diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/DebugNetworkHooks.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/DebugNetworkHooks.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/DebugNetworkHooks.cs.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/DebugNetworkHooks.cs.meta diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/IntegrationTestSceneHandler.cs b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/IntegrationTestSceneHandler.cs similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/IntegrationTestSceneHandler.cs rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/IntegrationTestSceneHandler.cs diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/IntegrationTestSceneHandler.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/IntegrationTestSceneHandler.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/IntegrationTestSceneHandler.cs.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/IntegrationTestSceneHandler.cs.meta diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/IntegrationTestWithApproximation.cs b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/IntegrationTestWithApproximation.cs new file mode 100644 index 0000000000..aa7cd1668d --- /dev/null +++ b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/IntegrationTestWithApproximation.cs @@ -0,0 +1,201 @@ +using System; +using System.Runtime.CompilerServices; +using NUnit.Framework; +using UnityEngine; +using Random = UnityEngine.Random; + + +namespace Unity.Netcode.TestHelpers.Runtime +{ + /// + /// An extended class that includes various helper mehtods + /// to handle aproximating various in order to avoid floating point drift + /// related errors. + /// + public abstract class IntegrationTestWithApproximation : NetcodeIntegrationTest + { + private const float k_AproximateDeltaVariance = 0.016f; + + /// + /// Returns a six decimal place string to represent a value. + /// + /// A reference to the value to convert to a string. + /// representing the passed in. + protected string GetVector3Values(ref Vector3 vector3) + { + return $"({vector3.x:F6},{vector3.y:F6},{vector3.z:F6})"; + } + + /// + /// Returns a six decimal place string to represent a value. + /// + /// The value to convert to a string. + /// representing the passed in. + protected string GetVector3Values(Vector3 vector3) + { + return GetVector3Values(ref vector3); + } + + /// + /// Override this to make changes to the precision level used. + /// + /// A value representing the minimum tolerence value required to be considered an approximation of a value comparison. + protected virtual float GetDeltaVarianceThreshold() + { + return k_AproximateDeltaVariance; + } + + /// + /// Returns the delta between two Euler angles. + /// + /// The first Euler value. + /// The second Euler value. + /// A delta between the two values. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + protected float EulerDelta(float a, float b) + { + return Mathf.DeltaAngle(a, b); + } + + /// + /// Returns the delta between two values that + /// represent Euler angles. + /// + /// The first Euler value. + /// The second Euler value. + /// A delta between the two values. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + protected Vector3 EulerDelta(Vector3 a, Vector3 b) + { + return new Vector3(Mathf.DeltaAngle(a.x, b.x), Mathf.DeltaAngle(a.y, b.y), Mathf.DeltaAngle(a.z, b.z)); + } + + /// + /// Determines an aproximated comparison between two Euler values. + /// + /// The first Euler value. + /// The second Euler value. + /// Returns if they are approximately the same and if they are not. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + protected bool ApproximatelyEuler(float a, float b) + { + return Mathf.Abs(EulerDelta(a, b)) <= GetDeltaVarianceThreshold(); + } + + /// + /// Determines an aproximated comparison between two values. + /// + /// The first value. + /// The second value. + /// Returns if they are approximately the same and if they are not. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + protected bool Approximately(float a, float b) + { + return Mathf.Abs(a - b) <= GetDeltaVarianceThreshold(); + } + + /// + /// Determines an aproximated comparison between two values. + /// + /// The first value. + /// The second value. + /// Returns if they are approximately the same and if they are not. + protected bool Approximately(Vector2 a, Vector2 b) + { + var deltaVariance = GetDeltaVarianceThreshold(); + return Math.Round(Mathf.Abs(a.x - b.x), 2) <= deltaVariance && + Math.Round(Mathf.Abs(a.y - b.y), 2) <= deltaVariance; + } + + /// + /// Determines an aproximated comparison between two values. + /// + /// The first value. + /// The second value. + /// Returns if they are approximately the same and if they are not. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + protected bool Approximately(Vector3 a, Vector3 b) + { + var deltaVariance = GetDeltaVarianceThreshold(); + return Math.Round(Mathf.Abs(a.x - b.x), 2) <= deltaVariance && + Math.Round(Mathf.Abs(a.y - b.y), 2) <= deltaVariance && + Math.Round(Mathf.Abs(a.z - b.z), 2) <= deltaVariance; + } + + /// + /// Determines an aproximated comparison between two values. + /// + /// The first value. + /// The second value. + /// Returns if they are approximately the same and if they are not. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + protected bool Approximately(Quaternion a, Quaternion b) + { + var deltaVariance = GetDeltaVarianceThreshold(); + return Mathf.Abs(a.x - b.x) <= deltaVariance && + Mathf.Abs(a.y - b.y) <= deltaVariance && + Mathf.Abs(a.z - b.z) <= deltaVariance && + Mathf.Abs(a.w - b.w) <= deltaVariance; + } + + /// + /// Determines an aproximated comparison between two expressed in Euler values. + /// + /// The first expressed in Euler values. + /// The second expressed in Euler values. + /// Returns if they are approximately the same and if they are not. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + protected bool ApproximatelyEuler(Vector3 a, Vector3 b) + { + return ApproximatelyEuler(a.x, b.x) && ApproximatelyEuler(a.y, b.y) && ApproximatelyEuler(a.z, b.z); + } + + /// + /// Returns a randomly generated based on the min and max range specified in the parameters. + /// + /// + /// Each axis value is a randomly generated value between min and max. + /// + /// The minimum value. + /// The maximum value. + /// The randomly generated result. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + protected Vector3 GetRandomVector3(float min, float max) + { + return new Vector3(Random.Range(min, max), Random.Range(min, max), Random.Range(min, max)); + } + + /// + /// Overloaded constructor accepting the and as parameters. + /// + /// + /// This is useful when using the with your integration test. + /// + /// The to use for the pass. + /// The to use for the pass. + public IntegrationTestWithApproximation(NetworkTopologyTypes networkTopologyType, HostOrServer hostOrServer) : base(networkTopologyType, hostOrServer) { } + + /// + /// Overloaded constructor accepting the as a parameter. + /// + /// + /// This is useful when using the with your integration test. + /// + /// The to use for the pass. + public IntegrationTestWithApproximation(NetworkTopologyTypes networkTopologyType) : base(networkTopologyType) { } + + /// + /// Overloaded constructor accepting the as a parameter. + /// + /// + /// This is useful when using the with your integration test. + /// + /// The to use for the pass. + public IntegrationTestWithApproximation(HostOrServer hostOrServer) : base(hostOrServer) { } + + /// + /// Default constructor with no parameters. + /// + public IntegrationTestWithApproximation() : base() { } + } +} diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/IntegrationTestWithApproximation.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/IntegrationTestWithApproximation.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/IntegrationTestWithApproximation.cs.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/IntegrationTestWithApproximation.cs.meta diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/MessageHooks.cs b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MessageHooks.cs similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/MessageHooks.cs rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MessageHooks.cs diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/MessageHooks.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MessageHooks.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/MessageHooks.cs.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MessageHooks.cs.meta diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/MessageHooksConditional.cs b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MessageHooksConditional.cs similarity index 67% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/MessageHooksConditional.cs rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MessageHooksConditional.cs index e52b53dffe..ba2fd1d1b2 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/MessageHooksConditional.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MessageHooksConditional.cs @@ -6,11 +6,20 @@ namespace Unity.Netcode.TestHelpers.Runtime { + /// + /// A Netcode for GameObjects message conditional class to determine if a specific message has been sent or received. + /// public class MessageHooksConditional : ConditionalPredicateBase { private List m_MessageHookEntries; - + /// + /// When , all messages have been received. + /// public bool AllMessagesReceived { get; internal set; } + + /// + /// Returns the number of messages received. + /// public int NumberOfMessagesReceived { get @@ -19,6 +28,10 @@ public int NumberOfMessagesReceived } } + /// + /// For debug logging purposes, this returns the still remaining as a string. + /// + /// A list of the remaining message hooks. public string GetHooksStillWaiting() { var retMessageTypes = string.Empty; @@ -32,7 +45,7 @@ public string GetHooksStillWaiting() return retMessageTypes; } - + /// protected override bool OnHasConditionBeenReached() { AllMessagesReceived = NumberOfMessagesReceived == m_MessageHookEntries.Count; @@ -48,11 +61,15 @@ protected override bool OnHasConditionBeenReached() return AllMessagesReceived; } + /// protected override void OnFinished() { base.OnFinished(); } + /// + /// Resets the instance. + /// public void Reset() { foreach (var entry in m_MessageHookEntries) @@ -61,27 +78,49 @@ public void Reset() } } + /// + /// Constructor that takes a list of class instances. + /// + /// The list of class instances that defines the messages to wait for. public MessageHooksConditional(List messageHookEntries) { m_MessageHookEntries = messageHookEntries; } } + /// + /// Enum used with and integration testing. + /// public enum ReceiptType { + /// + /// Denotes a message has been received. + /// Received, + /// + /// Denotes a message has been handled. + /// Handled } + /// + /// Class that defines the to use with . + /// public class MessageHookEntry { internal MessageHooks MessageHooks; + /// + /// The relative instance for the integration test. + /// protected NetworkManager m_NetworkManager; private MessageHooks.MessageReceiptCheck m_MessageReceiptCheck; private MessageHooks.MessageHandleCheck m_MessageHandleCheck; internal string MessageType; private ReceiptType m_ReceiptType; + /// + /// Initializes the . + /// public void Initialize() { MessageHooks = new MessageHooks(); @@ -138,6 +177,11 @@ internal void AssignMessageType(Type type) Initialize(); } + /// + /// Constructor that takes a and optional to check for. + /// + /// The instance specific to this instance. + /// The to check for. public MessageHookEntry(NetworkManager networkManager, ReceiptType type = ReceiptType.Handled) { m_NetworkManager = networkManager; diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/MessageHooksConditional.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MessageHooksConditional.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/MessageHooksConditional.cs.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MessageHooksConditional.cs.meta diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MockTimeProvider.cs b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MockTimeProvider.cs new file mode 100644 index 0000000000..070cb41dae --- /dev/null +++ b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MockTimeProvider.cs @@ -0,0 +1,76 @@ +namespace Unity.Netcode.TestHelpers.Runtime +{ + /// + /// A mock timer that implements the interface used with integration testing. + /// + public class MockTimeProvider : IRealTimeProvider + { + /// + /// Returns realtime since start up. + /// + public float RealTimeSinceStartup => (float)s_DoubleRealTime; + + /// + /// Returns the unscaled time. + /// + public float UnscaledTime => (float)s_DoubleRealTime; + + /// + /// Returns the unscaled delta time. + /// + public float UnscaledDeltaTime => (float)s_DoubleDelta; + + /// + /// Returns the delta time. + /// + public float DeltaTime => (float)s_DoubleDelta; + + // DANGO-EXP TODO: Figure out how we want to handle time travel with fixed delta time. + /// + /// Returns the fixed delta time. + /// + public float FixedDeltaTime => (float)s_DoubleDelta; + + /// + /// Static version of the . + /// + public static float StaticRealTimeSinceStartup => (float)s_DoubleRealTime; + + /// + /// Static version of the . + /// + public static float StaticUnscaledTime => (float)s_DoubleRealTime; + + /// + /// Static version of the . + /// + public static float StaticUnscaledDeltaTime => (float)s_DoubleDelta; + + /// + /// Static version of the . + /// + public static float StaticDeltaTime => (float)s_DoubleDelta; + + private static double s_DoubleRealTime = 0; + private static double s_DoubleDelta = 0; + + /// + /// Invoke to force this time provider to time travel to a specific point in time. + /// + /// Amount of time to travel. + public static void TimeTravel(double amountOfTimeTraveled) + { + s_DoubleDelta = amountOfTimeTraveled; + s_DoubleRealTime += amountOfTimeTraveled; + } + + /// + /// Resets the delta and real time values. + /// + public static void Reset() + { + s_DoubleDelta = 0; + s_DoubleRealTime = 0; + } + } +} diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/MockTimeProvider.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MockTimeProvider.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/MockTimeProvider.cs.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MockTimeProvider.cs.meta diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/MockTransport.cs b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MockTransport.cs similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/MockTransport.cs rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MockTransport.cs diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/MockTransport.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MockTransport.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/MockTransport.cs.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/MockTransport.cs.meta diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTest.cs b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetcodeIntegrationTest.cs similarity index 87% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTest.cs rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetcodeIntegrationTest.cs index ab4a164e82..ffe08412f8 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTest.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetcodeIntegrationTest.cs @@ -25,15 +25,40 @@ public abstract class NetcodeIntegrationTest /// determine how clients will load scenes ///
protected const float k_DefaultTimeoutPeriod = 8.0f; + + /// + /// Returns the default tick rate divided into one in order to get the tick frequency. + /// protected const float k_TickFrequency = 1.0f / k_DefaultTickRate; internal static bool IsRunning { get; private set; } + + /// + /// A generic time out helper used with wait conditions. + /// protected static TimeoutHelper s_GlobalTimeoutHelper = new TimeoutHelper(k_DefaultTimeoutPeriod); + + /// + /// A generic default calculated from the . + /// protected static WaitForSecondsRealtime s_DefaultWaitForTick = new WaitForSecondsRealtime(k_TickFrequency); + /// + /// Can be used to handle log assertions. + /// public NetcodeLogAssert NetcodeLogAssert; + + /// + /// Used with to describe whether scene management is enabled or disabled. + /// public enum SceneManagementState { + /// + /// Scene management is enabled. + /// SceneManagementEnabled, + /// + /// Scene management is disabled. + /// SceneManagementDisabled } @@ -51,6 +76,10 @@ public enum SceneManagementState /// protected static Dictionary> s_GlobalNetworkObjects = new Dictionary>(); + /// + /// Used by to register spawned instances. + /// + /// The being registered for a test in progress. public static void RegisterNetworkObject(NetworkObject networkObject) { if (!s_GlobalNetworkObjects.ContainsKey(networkObject.NetworkManager.LocalClientId)) @@ -76,6 +105,10 @@ public static void RegisterNetworkObject(NetworkObject networkObject) } } + /// + /// Used by to de-register a spawned instance. + /// + /// The being de-registered for a test in progress. public static void DeregisterNetworkObject(NetworkObject networkObject) { if (networkObject.IsSpawned && networkObject.NetworkManager != null) @@ -84,6 +117,12 @@ public static void DeregisterNetworkObject(NetworkObject networkObject) } } + /// + /// Overloaded version of .
+ /// Used by to de-register a spawned instance. + ///
+ /// The client instance identifier of the spawned instance. + /// The of the spawned instance. public static void DeregisterNetworkObject(ulong localClientId, ulong networkObjectId) { if (s_GlobalNetworkObjects.ContainsKey(localClientId) && s_GlobalNetworkObjects[localClientId].ContainsKey(networkObjectId)) @@ -118,6 +157,9 @@ private int GetTotalClients() ///
protected int TotalClients => GetTotalClients(); + /// + /// Defines the default tick rate to use. + /// protected const uint k_DefaultTickRate = 30; /// @@ -146,28 +188,63 @@ private int GetTotalClients() /// protected bool m_CreateServerFirst = true; + /// + /// Used to define how long instances persist between tests or if any should be created at all. + /// public enum NetworkManagerInstatiationMode { - PerTest, // This will create and destroy new NetworkManagers for each test within a child derived class - AllTests, // This will create one set of NetworkManagers used for all tests within a child derived class (destroyed once all tests are finished) - DoNotCreate // This will not create any NetworkManagers, it is up to the derived class to manage. + /// + /// This will create and destroy new NetworkManagers for each test within a child derived class + /// + PerTest, + /// + /// This will create one set of NetworkManagers used for all tests within a child derived class (destroyed once all tests are finished) + /// + AllTests, + /// + /// This will not create any NetworkManagers, it is up to the derived class to manage. + /// + DoNotCreate } + /// + /// Typically used with to define what kind of authority to use. + /// public enum HostOrServer { + /// + /// Denotes to use a Host. + /// Host, + /// + /// Denotes to use a Server. + /// Server, + /// + /// Denotes that distributed authority is being used. + /// DAHost } + /// + /// The default player prefab that is automatically generated and assigned to instances.
+ /// See also: The virtual method that is invoked after the player prefab has been created. + ///
protected GameObject m_PlayerPrefab; - /// The Server instance instantiated and tracked within the current test + /// + /// The Server instance instantiated and tracked within the current test + /// protected NetworkManager m_ServerNetworkManager; - /// All the client instances instantiated and tracked within the current test + /// + /// All the client instances instantiated and tracked within the current test + /// protected NetworkManager[] m_ClientNetworkManagers; - /// All the instances instantiated and tracked within the current test + + /// + /// All the instances instantiated and tracked within the current test + /// protected NetworkManager[] m_NetworkManagers; /// @@ -218,8 +295,19 @@ protected NetworkManager GetNonAuthorityNetworkManager() /// protected Dictionary> m_PlayerNetworkObjects = new Dictionary>(); + /// + /// Determines if a host will be used (default is ). + /// protected bool m_UseHost = true; + + /// + /// Returns if using a distributed authority network topology for the test. + /// protected bool m_DistributedAuthority => m_NetworkTopologyType == NetworkTopologyTypes.DistributedAuthority; + + /// + /// The network topology type being used by the test. + /// protected NetworkTopologyTypes m_NetworkTopologyType = NetworkTopologyTypes.ClientServer; /// @@ -239,7 +327,7 @@ protected NetworkManager GetNonAuthorityNetworkManager() /// This resets its properties during , so it will /// check the environment variable once per test set. /// - /// true/false + /// or private bool GetServiceEnvironmentVariable() { if (!m_UseCmbServiceEnv && m_UseCmbServiceEnvString == null) @@ -262,17 +350,25 @@ private bool GetServiceEnvironmentVariable() /// Indicates whether a hosted CMB service is available. /// /// Override to return false to ensure a set of tests never runs against the hosted service - /// true if a DAHost test should run against a hosted CMB service instance; otherwise false + /// if a DAHost test should run against a hosted CMB service instance; otherwise it returns . protected virtual bool UseCMBService() { return m_UseCmbService; } + /// + /// Override this virtual method to control what kind of to use. + /// + /// protected virtual NetworkTopologyTypes OnGetNetworkTopologyType() { return m_NetworkTopologyType; } + /// + /// Can be used to set the distributed authority properties for a test. + /// + /// The to configure. protected void SetDistributedAuthorityProperties(NetworkManager networkManager) { networkManager.NetworkConfig.NetworkTopology = m_NetworkTopologyType; @@ -280,10 +376,16 @@ protected void SetDistributedAuthorityProperties(NetworkManager networkManager) networkManager.NetworkConfig.UseCMBService = m_UseCmbService; } + /// + /// Defines the target frame rate to use during a test. + /// protected int m_TargetFrameRate = 60; private NetworkManagerInstatiationMode m_NetworkManagerInstatiationMode; + /// + /// Determines if will generate a console log message. + /// protected bool m_EnableVerboseDebug { get; set; } /// @@ -388,6 +490,7 @@ protected void VerboseDebug(string msg) /// to troubleshoot a hard to track bug within an /// integration test. /// + /// or protected virtual bool OnSetVerboseDebug() { return false; @@ -400,15 +503,22 @@ protected virtual bool OnSetVerboseDebug() /// Override this method to change the default mode: /// /// + /// protected virtual NetworkManagerInstatiationMode OnSetIntegrationTestMode() { return NetworkManagerInstatiationMode.PerTest; } + /// + /// Override this method to do any one time setup configurations. + /// protected virtual void OnOneTimeSetup() { } + /// + /// The decorated method that is invoked once per derived instance. + /// [OneTimeSetUp] public void OneTimeSetup() { @@ -465,6 +575,7 @@ private void InternalOnOneTimeSetup() /// s then override . /// and /// + /// protected virtual IEnumerator OnSetup() { yield return null; @@ -482,6 +593,10 @@ protected virtual void OnInlineSetup() { } + /// + /// The decorated method that is invoked once per instance or just once if none. + /// + /// [UnitySetUp] public IEnumerator SetUp() { @@ -710,7 +825,7 @@ protected virtual void OnNewClientStartedAndConnected(NetworkManager networkMana /// Use this for testing connection and disconnection scenarios ///
/// The NetworkManager instance of the client. - /// True if the test should wait for the client to connect; otherwise, false. + /// if the test should wait for the client to connect; otherwise, it returns . protected virtual bool ShouldWaitForNewClientToConnect(NetworkManager networkManager) { return true; @@ -720,7 +835,7 @@ protected virtual bool ShouldWaitForNewClientToConnect(NetworkManager networkMan /// This will create, start, and connect a new client while in the middle of an /// integration test. /// - /// An IEnumerator to be used in a coroutine for asynchronous execution. + /// An to be used in a coroutine for asynchronous execution. protected IEnumerator CreateAndStartNewClient() { var networkManager = NetcodeIntegrationTestHelpers.CreateNewClient(m_ClientNetworkManagers.Length, m_EnableTimeTravel, m_UseCmbService); @@ -739,7 +854,7 @@ protected IEnumerator CreateAndStartNewClient() /// integration test. /// /// The network manager to start and connect - /// An IEnumerator to be used in a coroutine for asynchronous execution. + /// An to be used in a coroutine for asynchronous execution. protected IEnumerator StartClient(NetworkManager networkManager) { NetcodeIntegrationTestHelpers.StartOneClient(networkManager); @@ -891,6 +1006,10 @@ protected void StopOneClientWithTimeTravel(NetworkManager networkManager, bool d Assert.True(WaitForConditionOrTimeOutWithTimeTravel(() => !networkManager.IsConnectedClient)); } + /// + /// When using time travel, you can use this method to simulate latency conditions. + /// + /// The amount of latency to be applied prior to invoking protected void SetTimeTravelSimulatedLatency(float latencySeconds) { ((MockTransport)GetAuthorityNetworkManager().NetworkConfig.NetworkTransport).SimulatedLatencySeconds = latencySeconds; @@ -900,6 +1019,10 @@ protected void SetTimeTravelSimulatedLatency(float latencySeconds) } } + /// + /// When using time travel, you can use this method to simulate packet loss conditions. + /// + /// The percentage of packets to be dropped while time traveling. protected void SetTimeTravelSimulatedDropRate(float dropRatePercent) { ((MockTransport)GetAuthorityNetworkManager().NetworkConfig.NetworkTransport).PacketDropRate = dropRatePercent; @@ -909,6 +1032,10 @@ protected void SetTimeTravelSimulatedDropRate(float dropRatePercent) } } + /// + /// When using time travel, you can use this method to simulate packet jitter conditions. + /// + /// The amount of packet jitter to be applied while time traveling. protected void SetTimeTravelSimulatedLatencyJitter(float jitterSeconds) { ((MockTransport)GetAuthorityNetworkManager().NetworkConfig.NetworkTransport).LatencyJitter = jitterSeconds; @@ -922,6 +1049,7 @@ protected void SetTimeTravelSimulatedLatencyJitter(float jitterSeconds) /// Override this method and return false in order to be able /// to manually control when the server and clients are started. /// + /// or protected virtual bool CanStartServerAndClients() { return true; @@ -931,6 +1059,7 @@ protected virtual bool CanStartServerAndClients() /// Invoked after the server and clients have started. /// Note: No connection verification has been done at this point /// + /// protected virtual IEnumerator OnStartedServerAndClients() { yield return null; @@ -948,6 +1077,7 @@ protected virtual void OnTimeTravelStartedServerAndClients() /// Invoked after the server and clients have started and verified /// their connections with each other. /// + /// protected virtual IEnumerator OnServerAndClientsConnected() { yield return null; @@ -999,6 +1129,9 @@ private void ClientNetworkManagerPostStart(NetworkManager networkManager) } } + /// + /// Invoked after the initial start sequence. + /// protected void ClientNetworkManagerPostStartInit() { // Creates a dictionary for all player instances client and server relative @@ -1027,8 +1160,15 @@ protected void ClientNetworkManagerPostStartInit() } } + /// + /// Determines if all related messages should be logged or not. + /// protected virtual bool LogAllMessages => false; + /// + /// A virtal method that, when overriden, provides control over whether to spawn a player or not. + /// + /// if players should be spawned and if they should not. protected virtual bool ShouldCheckForSpawnedPlayers() { return true; @@ -1041,6 +1181,7 @@ protected virtual bool ShouldCheckForSpawnedPlayers() /// DANGO-TODO: Renove this when the Rust server connection sequence is fixed and we don't have to pre-start /// the session owner. ///
+ /// private IEnumerator StartSessionOwner() { VerboseDebug("Starting session owner..."); @@ -1055,6 +1196,7 @@ private IEnumerator StartSessionOwner() /// This starts the server and clients as long as /// returns true. /// + /// protected IEnumerator StartServerAndClients() { if (CanStartServerAndClients()) @@ -1246,6 +1388,7 @@ protected void StartServerAndClientsWithTimeTravel() /// Override this method to control when clients /// can fake-load a scene. /// + /// or protected virtual bool CanClientsLoad() { return true; @@ -1255,6 +1398,7 @@ protected virtual bool CanClientsLoad() /// Override this method to control when clients /// can fake-unload a scene. /// + /// or protected virtual bool CanClientsUnload() { return true; @@ -1292,6 +1436,11 @@ private bool ClientSceneHandler_CanClientsLoad() return CanClientsLoad(); } + /// + /// Detemines if a scene can be cleaned and unloaded during the tear down phase (). + /// + /// The . + /// or protected bool OnCanSceneCleanUpUnload(Scene scene) { return true; @@ -1342,6 +1491,10 @@ protected void ShutdownAndCleanUp() DestroyNetworkManagers(); } + /// + /// Internally used that handles cleaning up during tear down. + /// + /// protected IEnumerator CoroutineShutdownAndCleanUp() { VerboseDebug($"Entering {nameof(ShutdownAndCleanUp)}"); @@ -1388,15 +1541,23 @@ protected IEnumerator CoroutineShutdownAndCleanUp() /// Note: For mode /// this is called before ShutdownAndCleanUp. /// + /// protected virtual IEnumerator OnTearDown() { yield return null; } + /// + /// The inline version of tear down that is used if is . + /// protected virtual void OnInlineTearDown() { } + /// + /// The decorated method that is invoked during an integration test's tear down. + /// + /// [UnityTearDown] public IEnumerator TearDown() { @@ -1459,6 +1620,9 @@ protected virtual void OnOneTimeTearDown() { } + /// + /// The decorated method that is invoked once upon all tests finishing. + /// [OneTimeTearDown] public void OneTimeTearDown() { @@ -1494,6 +1658,7 @@ public void OneTimeTearDown() /// /// /// the network object in question to be destroyed + /// or protected virtual bool CanDestroyNetworkObject(NetworkObject networkObject) { return true; @@ -1555,6 +1720,9 @@ protected void EnableMessageLogging() /// Note: For more complex tests, and the overloaded /// version of this method /// + /// the conditional function to determine if the condition has been reached. + /// the used to handle timing out the wait condition. + /// public static IEnumerator WaitForConditionOrTimeOut(Func checkForCondition, TimeoutHelper timeOutHelper = null) { if (checkForCondition == null) @@ -1591,6 +1759,9 @@ public static IEnumerator WaitForConditionOrTimeOut(Func checkForCondition /// Waits for the function condition to return true or it will time out. Uses time travel to simulate this /// for the given number of frames, simulating delta times at the application frame rate. /// + /// the conditional function to determine if the condition has been reached. + /// the maximum times to check for the condition (default is 60). + /// or public bool WaitForConditionOrTimeOutWithTimeTravel(Func checkForCondition, int maxTries = 60) { if (checkForCondition == null) @@ -1628,6 +1799,9 @@ public bool WaitForConditionOrTimeOutWithTimeTravel(Func checkForCondition /// This version accepts an IConditionalPredicate implementation to provide /// more flexibility for checking complex conditional cases. /// + /// An implementation used to determine if the condition(s) has/have been met. + /// the used to handle timing out the wait condition. + /// public static IEnumerator WaitForConditionOrTimeOut(IConditionalPredicate conditionalPredicate, TimeoutHelper timeOutHelper = null) { if (conditionalPredicate == null) @@ -1651,6 +1825,9 @@ public static IEnumerator WaitForConditionOrTimeOut(IConditionalPredicate condit /// more flexibility for checking complex conditional cases. Uses time travel to simulate this /// for the given number of frames, simulating delta times at the application frame rate. /// + /// An implementation used to determine if the condition(s) has/have been met. + /// the maximum times to check for the condition (default is 60). + /// or public bool WaitForConditionOrTimeOutWithTimeTravel(IConditionalPredicate conditionalPredicate, int maxTries = 60) { if (conditionalPredicate == null) @@ -1692,6 +1869,7 @@ protected IEnumerator WaitForConditionOrTimeOut(Func checkF /// have connected or it will time out. /// /// An array of clients to be checked + /// protected IEnumerator WaitForClientsConnectedOrTimeOut(NetworkManager[] clientsToCheck) { yield return WaitForConditionOrTimeOut(() => CheckClientsConnected(clientsToCheck)); @@ -1700,6 +1878,7 @@ protected IEnumerator WaitForClientsConnectedOrTimeOut(NetworkManager[] clientsT /// /// Validation for clients connected that includes additional information for easier troubleshooting purposes. /// + /// or private bool CheckClientsConnected(NetworkManager[] clientsToCheck) { m_InternalErrorLog.Clear(); @@ -1733,6 +1912,7 @@ private bool CheckClientsConnected(NetworkManager[] clientsToCheck) /// for the given number of frames, simulating delta times at the application frame rate. /// /// An array of clients to be checked + /// or protected bool WaitForClientsConnectedOrTimeOutWithTimeTravel(NetworkManager[] clientsToCheck) { return WaitForConditionOrTimeOutWithTimeTravel(() => CheckClientsConnected(clientsToCheck)); @@ -1742,6 +1922,7 @@ protected bool WaitForClientsConnectedOrTimeOutWithTimeTravel(NetworkManager[] c /// Overloaded method that just passes in all clients to /// /// + /// protected IEnumerator WaitForClientsConnectedOrTimeOut() { yield return WaitForClientsConnectedOrTimeOut(m_ClientNetworkManagers); @@ -1752,6 +1933,7 @@ protected IEnumerator WaitForClientsConnectedOrTimeOut() /// Uses time travel to simulate this /// for the given number of frames, simulating delta times at the application frame rate. /// + /// or protected bool WaitForClientsConnectedOrTimeOutWithTimeTravel() { return WaitForClientsConnectedOrTimeOutWithTimeTravel(m_ClientNetworkManagers); @@ -1841,7 +2023,7 @@ internal void WaitForMessagesReceivedWithTimeTravel(List messagesInOrder, /// NetworkManagers' NetworkConfig.NetworkPrefab lists. /// /// the basic name to be used for each instance - /// NetworkObject of the GameObject assigned to the new NetworkPrefab entry + /// The assigned to the new NetworkPrefab entry protected GameObject CreateNetworkObjectPrefab(string baseName) { var prefabCreateAssertError = $"You can only invoke this method during {nameof(OnServerAndClientsCreated)} " + @@ -1859,6 +2041,10 @@ protected GameObject CreateNetworkObjectPrefab(string baseName) /// /// Overloaded method /// + /// the prefab to spawn + /// the owner of the instance + /// default is false + /// The of the newly spawned . protected GameObject SpawnObject(GameObject prefabGameObject, NetworkManager owner, bool destroyWithScene = false) { var prefabNetworkObject = prefabGameObject.GetComponent(); @@ -1869,6 +2055,10 @@ protected GameObject SpawnObject(GameObject prefabGameObject, NetworkManager own /// /// Overloaded method /// + /// the prefab to spawn + /// the owner of the instance + /// default is false + /// The of the newly spawned player's . protected GameObject SpawnPlayerObject(GameObject prefabGameObject, NetworkManager owner, bool destroyWithScene = false) { var prefabNetworkObject = prefabGameObject.GetComponent(); @@ -1879,9 +2069,10 @@ protected GameObject SpawnPlayerObject(GameObject prefabGameObject, NetworkManag /// /// Spawn a NetworkObject prefab instance /// - /// the prefab NetworkObject to spawn + /// the prefab to spawn /// the owner of the instance /// default is false + /// when , the object will be spawned as the owned player. /// GameObject instance spawned private GameObject SpawnObject(NetworkObject prefabNetworkObject, NetworkManager owner, bool destroyWithScene = false, bool isPlayerObject = false) { @@ -1938,8 +2129,13 @@ private GameObject SpawnObject(NetworkObject prefabNetworkObject, NetworkManager } /// - /// Overloaded method + /// Overloaded method . /// + /// the prefab to spawn + /// the owner of the instance + /// number of instances to create and spawn + /// default is false + /// A of s spawned. protected List SpawnObjects(GameObject prefabGameObject, NetworkManager owner, int count, bool destroyWithScene = false) { var prefabNetworkObject = prefabGameObject.GetComponent(); @@ -1951,10 +2147,11 @@ protected List SpawnObjects(GameObject prefabGameObject, NetworkMana /// Will spawn (x) number of prefab NetworkObjects /// /// - /// the prefab NetworkObject to spawn + /// the prefab to spawn /// the owner of the instance /// number of instances to create and spawn /// default is false + /// A of s spawned. private List SpawnObjects(NetworkObject prefabNetworkObject, NetworkManager owner, int count, bool destroyWithScene = false) { var gameObjectsSpawned = new List(); @@ -1975,11 +2172,20 @@ public NetcodeIntegrationTest() InitializeTestConfiguration(topologyType, null); } + /// + /// Overloaded constructor taking as a parameter. + /// + /// public NetcodeIntegrationTest(NetworkTopologyTypes networkTopologyType) { InitializeTestConfiguration(networkTopologyType, null); } + /// + /// Overloaded constructor taking and as parameters. + /// + /// + /// public NetcodeIntegrationTest(NetworkTopologyTypes networkTopologyType, HostOrServer hostOrServer) { InitializeTestConfiguration(networkTopologyType, hostOrServer); @@ -2038,6 +2244,11 @@ private void InitializeTestConfiguration(NetworkTopologyTypes networkTopologyTyp /// Just a helper function to avoid having to write the entire assert just to check if you /// timed out. /// + /// + /// If no is provided, then the will be used. + /// + /// The error message to log if a time out has occurred. + /// Optional instance used during a conditional wait. protected void AssertOnTimeout(string timeOutErrorMessage, TimeoutHelper assignedTimeoutHelper = null) { var timeoutHelper = assignedTimeoutHelper ?? s_GlobalTimeoutHelper; @@ -2117,6 +2328,9 @@ private IEnumerator WaitForTickAndFrames(NetworkManager networkManager, int tick /// /// Yields until specified amount of network ticks and the expected number of frames has been passed. /// + /// The relative waiting for a specific tick. + /// How many ticks to wait for. + /// protected IEnumerator WaitForTicks(NetworkManager networkManager, int count) { var targetTick = networkManager.NetworkTickSystem.LocalTime.Tick + count; @@ -2150,11 +2364,19 @@ protected static void TimeTravel(double amountOfTimeInSeconds, int numFramesToSi } } + /// + /// A virtual method that can be overriden to adjust the tick rate used when starting instances. + /// + /// The tick rate to use. protected virtual uint GetTickRate() { return k_DefaultTickRate; } + /// + /// A virtual method that can be overriden to adjust the frame rate used when starting instances. + /// + /// The frame rate to use. protected virtual int GetFrameRate() { return Application.targetFrameRate == 0 ? 60 : Application.targetFrameRate; diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTest.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetcodeIntegrationTest.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTest.cs.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetcodeIntegrationTest.cs.meta diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTestHelpers.cs b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetcodeIntegrationTestHelpers.cs similarity index 92% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTestHelpers.cs rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetcodeIntegrationTestHelpers.cs index 331a345d22..b33f47cd01 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTestHelpers.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetcodeIntegrationTestHelpers.cs @@ -16,7 +16,13 @@ namespace Unity.Netcode.TestHelpers.Runtime /// public static class NetcodeIntegrationTestHelpers { + /// + /// Defines the minimum number of frames to execute before completes. + /// public const int DefaultMinFrames = 1; + /// + /// Defines the default timeout for . + /// public const float DefaultTimeout = 4f; private static List s_NetworkManagerInstances = new List(); private static Dictionary s_Hooks = new Dictionary(); @@ -25,6 +31,11 @@ public static class NetcodeIntegrationTestHelpers private static int s_ClientCount; private static int s_OriginalTargetFrameRate = -1; + /// + /// Delegate to handle checking messages + /// + /// The message to check provided as an . + /// or public delegate bool MessageHandleCheck(object receivedMessage); internal class MessageHandleCheckWithResult @@ -122,6 +133,9 @@ public void OnAfterHandleMessage(ref T message, ref NetworkContext context) w internal const string FirstPartOfTestRunnerSceneName = "InitTestScene"; + /// + /// A list of all instances created for a test. + /// public static List NetworkManagerInstances => s_NetworkManagerInstances; internal static List ClientSceneHandlers = new List(); @@ -161,6 +175,8 @@ public static void CleanUpHandlers() /// If deriving from or using then you /// typically won't need to call this. /// + /// The registering handlers. + /// When , the will register as the scene manager handler. public static void RegisterHandlers(NetworkManager networkManager, bool serverSideSceneManager = false) { SceneManagerValidationAndTestRunnerInitialization(networkManager); @@ -175,7 +191,7 @@ public static void RegisterHandlers(NetworkManager networkManager, bool serverSi /// /// Gets the CMB_SERVICE environemnt variable or returns "false" if it does not exist /// - /// string + /// internal static string GetCMBServiceEnvironentVariable() { #if USE_CMB_SERVICE @@ -328,7 +344,6 @@ internal static NetworkManager CreateNewClient(int identifier, bool mockTranspor return networkManager; } - /// /// Used to add a client to the already existing list of clients /// @@ -336,7 +351,7 @@ internal static NetworkManager CreateNewClient(int identifier, bool mockTranspor /// Output array containing the created NetworkManager instances /// When true, uses mock transport for testing, otherwise uses real transport. Default value is false /// If true, each client will be created with transport configured to connect to a locally hosted da service - /// Returns true if the clients were successfully created and configured, otherwise false + /// Returns if the clients were successfully created and configured, otherwise . public static bool CreateNewClients(int clientCount, out NetworkManager[] clients, bool useMockTransport = false, bool useCmbService = false) { clients = new NetworkManager[clientCount]; @@ -439,6 +454,7 @@ public static void Destroy() /// We want to exclude the TestRunner scene on the host-server side so it won't try to tell clients to /// synchronize to this scene when they connect /// + /// or private static bool VerifySceneIsValidForClientsToLoad(int sceneIndex, string sceneName, LoadSceneMode loadSceneMode) { // exclude test runner scene @@ -515,6 +531,9 @@ private static void SceneManagerValidationAndTestRunnerInitialization(NetworkMan } } + /// + /// Delegate callback for notifications prior to a client starting. + /// public delegate void BeforeClientStartCallback(); internal static bool Start(bool host, bool startServer, NetworkManager server, NetworkManager[] clients) @@ -529,7 +548,8 @@ internal static bool Start(bool host, bool startServer, NetworkManager server, N /// The Server NetworkManager /// The Clients NetworkManager /// called immediately after server is started and before client(s) are started - /// True if all instances started successfully, false otherwise + /// true to start it false to not start it. + /// if all instances started successfully, otherwise public static bool Start(bool host, NetworkManager server, NetworkManager[] clients, BeforeClientStartCallback callback = null, bool startServer = true) { if (s_IsStarted) @@ -591,26 +611,40 @@ public static bool Start(bool host, NetworkManager server, NetworkManager[] clie /// /// Used to return a value of type T from a wait condition /// + /// The type to wrap. public class ResultWrapper { + /// + /// The result wrapped. + /// public T Result; } private static uint s_AutoIncrementGlobalObjectIdHashCounter = 111111; + /// + /// Returns the next GlobalObjectIdHash value to use when spawning s during a test. + /// + /// The GlobsalObjectIdHash value as an . public static uint GetNextGlobalIdHashValue() { return ++s_AutoIncrementGlobalObjectIdHashCounter; } - + /// + /// When a netcode test is in progress. + /// public static bool IsNetcodeIntegrationTestRunning { get; internal set; } + + /// + /// Can be invoked to register prior to starting a test. + /// + /// or public static void RegisterNetcodeIntegrationTest(bool registered) { IsNetcodeIntegrationTestRunning = registered; } - /// /// Normally we would only allow player prefabs to be set to a prefab. Not runtime created objects. /// In order to prevent having a Resource folder full of a TON of prefabs that we have to maintain, @@ -655,7 +689,7 @@ public static void MakeNetworkObjectTestPrefab(NetworkObject networkObject, uint /// namr of the object /// owner of the object /// when true, the instance is automatically migrated into the DDOL - /// + /// internal static GameObject CreateNetworkObject(string baseName, NetworkManager owner, bool moveToDDOL = false) { var gameObject = new GameObject @@ -707,7 +741,13 @@ public static GameObject CreateNetworkObjectPrefab(string baseName, NetworkManag return gameObject; } - // We use GameObject instead of SceneObject to be able to keep hierarchy + /// + /// Deprecated an not used. + /// + /// + /// + /// An array of s + [Obsolete("This method is no longer valid or used.", false)] public static void MarkAsSceneObjectRoot(GameObject networkObjectRoot, NetworkManager server, NetworkManager[] clients) { networkObjectRoot.name += " - Server"; @@ -739,6 +779,7 @@ public static void MarkAsSceneObjectRoot(GameObject networkObjectRoot, NetworkMa /// The client /// The result. If null, it will automatically assert /// Maximum time in seconds to wait for connection. Defaults to DefaultTimeout + /// public static IEnumerator WaitForClientConnected(NetworkManager client, ResultWrapper result = null, float timeout = DefaultTimeout) { yield return WaitForClientsConnected(new NetworkManager[] { client }, result, timeout); @@ -750,6 +791,7 @@ public static IEnumerator WaitForClientConnected(NetworkManager client, ResultWr /// The clients to be connected /// The result. If null, it will automatically assert /// Maximum time in seconds to wait for connection. Defaults to DefaultTimeout + /// public static IEnumerator WaitForClientsConnected(NetworkManager[] clients, ResultWrapper result = null, float timeout = DefaultTimeout) { // Make sure none are the host client @@ -805,6 +847,7 @@ public static IEnumerator WaitForClientsConnected(NetworkManager[] clients, Resu /// The server /// The result. If null, it will automatically assert /// Maximum time in seconds to wait for connection. Defaults to DefaultTimeout + /// public static IEnumerator WaitForClientConnectedToServer(NetworkManager server, ResultWrapper result = null, float timeout = DefaultTimeout) { yield return WaitForClientsConnectedToServer(server, server.IsHost ? s_ClientCount + 1 : s_ClientCount, result, timeout); @@ -814,8 +857,10 @@ public static IEnumerator WaitForClientConnectedToServer(NetworkManager server, /// Waits on the server side for 1 client to be connected /// /// The server + /// The number of clients. /// The result. If null, it will automatically assert /// Maximum time in seconds to wait for connection. Defaults to DefaultTimeout + /// public static IEnumerator WaitForClientsConnectedToServer(NetworkManager server, int clientCount = 1, ResultWrapper result = null, float timeout = DefaultTimeout) { if (!server.IsServer) @@ -851,6 +896,7 @@ public static IEnumerator WaitForClientsConnectedToServer(NetworkManager server, /// The result /// Whether or not to fail if no object is found and result is null /// Maximum time in seconds to wait for connection. Defaults to DefaultTimeout + /// public static IEnumerator GetNetworkObjectByRepresentation(ulong networkObjectId, NetworkManager representation, ResultWrapper result, bool failIfNull = true, float timeout = DefaultTimeout) { if (result == null) @@ -882,6 +928,7 @@ public static IEnumerator GetNetworkObjectByRepresentation(ulong networkObjectId /// The result /// Whether or not to fail if no object is found and result is null /// Maximum time in seconds to wait for connection. Defaults to DefaultTimeout + /// public static IEnumerator GetNetworkObjectByRepresentation(Func predicate, NetworkManager representation, ResultWrapper result, bool failIfNull = true, float timeout = DefaultTimeout) { if (result == null) @@ -951,6 +998,7 @@ public static void GetNetworkObjectByRepresentationWithTimeTravel(FuncThe result. If null, it will fail if the predicate is not met /// Maximum time in seconds to wait for connection. Defaults to DefaultTimeout /// The min frames to wait for + /// public static IEnumerator WaitForCondition(Func predicate, ResultWrapper result = null, float timeout = DefaultTimeout, int minFrames = DefaultMinFrames) { if (predicate == null) @@ -991,6 +1039,7 @@ public static IEnumerator WaitForCondition(Func predicate, ResultWrapper /// The result. If null, it will fail if the predicate is not met /// The max time in seconds to wait for + /// internal static IEnumerator WaitForMessageOfTypeReceived(NetworkManager toBeReceivedBy, ResultWrapper result = null, float timeout = DefaultTimeout) where T : INetworkMessage { var hooks = s_Hooks[toBeReceivedBy]; @@ -1019,6 +1068,7 @@ internal static IEnumerator WaitForMessageOfTypeReceived(NetworkManager toBeR /// /// The result. If null, it will fail if the predicate is not met /// The max time in seconds to wait for + /// internal static IEnumerator WaitForMessageOfTypeHandled(NetworkManager toBeReceivedBy, ResultWrapper result = null, float timeout = DefaultTimeout) where T : INetworkMessage { var hooks = s_Hooks[toBeReceivedBy]; @@ -1043,6 +1093,7 @@ internal static IEnumerator WaitForMessageOfTypeHandled(NetworkManager toBeRe /// Called for each received message to check if it's the right one /// The result. If null, it will fail if the predicate is not met /// The max time in seconds to wait for + /// internal static IEnumerator WaitForMessageMeetingRequirementHandled(NetworkManager toBeReceivedBy, MessageHandleCheck requirement, ResultWrapper result = null, float timeout = DefaultTimeout) { var hooks = s_Hooks[toBeReceivedBy]; @@ -1075,11 +1126,22 @@ private static IEnumerator ExecuteWaitForHook(MessageHandleCheckWithResult check } #if UNITY_EDITOR + /// + /// This method is no longer used. + /// + /// + [Obsolete("This method is deprecated and no longer used", false)] public static void SetRefreshAllPrefabsCallback(Action scenesProcessed) { NetworkObjectRefreshTool.AllScenesProcessed = scenesProcessed; } + /// + /// This method is no longer used. + /// + /// + /// + [Obsolete("This method is deprecated and no longer used", false)] public static void RefreshAllPrefabInstances(NetworkObject networkObject, Action scenesProcessed) { NetworkObjectRefreshTool.AllScenesProcessed = scenesProcessed; diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTestHelpers.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetcodeIntegrationTestHelpers.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTestHelpers.cs.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetcodeIntegrationTestHelpers.cs.meta diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeLogAssert.cs b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetcodeLogAssert.cs similarity index 66% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeLogAssert.cs rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetcodeLogAssert.cs index 4f4830c828..72f9753ee1 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeLogAssert.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetcodeLogAssert.cs @@ -7,6 +7,9 @@ namespace Unity.Netcode.RuntimeTests { + /// + /// Class used to handle asserting if certain log messages were not logged. + /// public class NetcodeLogAssert : IDisposable { private struct LogData @@ -22,6 +25,12 @@ private struct LogData private List AllLogs { get; } private bool m_ResetIgnoreFailingMessagesOnTearDown; + + /// + /// Constructor + /// + /// or + /// or public NetcodeLogAssert(bool ignorFailingMessages = false, bool resetOnTearDown = true) { LogAssert.ignoreFailingMessages = ignorFailingMessages; @@ -40,6 +49,12 @@ private void Deactivate() Application.logMessageReceivedThreaded -= AddLog; } + /// + /// Invoke to add a log during a test. + /// + /// The message to log. + /// The stack trace of where the issue occurred. + /// The . public void AddLog(string message, string stacktrace, LogType type) { lock (m_Lock) @@ -55,6 +70,9 @@ public void AddLog(string message, string stacktrace, LogType type) } } + /// + /// Tear down method + /// [UnityTearDown] public void OnTearDown() { @@ -65,6 +83,9 @@ public void OnTearDown() } } + /// + /// Dispose method + /// public void Dispose() { Dispose(true); @@ -88,6 +109,11 @@ private void Dispose(bool disposing) } } + /// + /// Assert if a log message was logged with the expectation it would not be. + /// + /// to check for. + /// containing the message to search for. public void LogWasNotReceived(LogType type, string message) { lock (m_Lock) @@ -102,6 +128,11 @@ public void LogWasNotReceived(LogType type, string message) } } + /// + /// Assert if a log message was logged with the expectation it would not be. (RegEx version) + /// + /// to check for. + /// containing the message pattern to search for. public void LogWasNotReceived(LogType type, Regex messageRegex) { lock (m_Lock) @@ -116,6 +147,11 @@ public void LogWasNotReceived(LogType type, Regex messageRegex) } } + /// + /// Assert if a log message was not logged with the expectation that it would be. + /// + /// to check for. + /// containing the message to search for. public void LogWasReceived(LogType type, string message) { lock (m_Lock) @@ -137,6 +173,11 @@ public void LogWasReceived(LogType type, string message) } } + /// + /// Assert if a log message was not logged with the expectation that it would be. (RegEx version) + /// + /// to check for. + /// containing the message pattern to search for. public void LogWasReceived(LogType type, Regex messageRegex) { lock (m_Lock) @@ -158,6 +199,12 @@ public void LogWasReceived(LogType type, Regex messageRegex) } } + /// + /// Determines if a log message was logged or not. + /// + /// to check for. + /// containing the message to search for. + /// or public bool HasLogBeenReceived(LogType type, string message) { var found = false; @@ -175,6 +222,9 @@ public bool HasLogBeenReceived(LogType type, string message) return found; } + /// + /// Clears out the log history that is searched. + /// public void Reset() { lock (m_Lock) diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeLogAssert.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetcodeLogAssert.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeLogAssert.cs.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetcodeLogAssert.cs.meta diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkManagerHelper.cs b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetworkManagerHelper.cs similarity index 85% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkManagerHelper.cs rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetworkManagerHelper.cs index 03d1d807b9..7a1a4e5afa 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkManagerHelper.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetworkManagerHelper.cs @@ -19,11 +19,29 @@ namespace Unity.Netcode.TestHelpers.Runtime /// public static class NetworkManagerHelper { + /// + /// The component instantiated. + /// public static NetworkManager NetworkManagerObject { get; internal set; } + + /// + /// The of the . + /// public static GameObject NetworkManagerGameObject { get; internal set; } + /// + /// All instances instantiated under the assigned . + /// public static Dictionary InstantiatedGameObjects = new Dictionary(); + + /// + /// All instances instantiated under the assigned . + /// public static Dictionary InstantiatedNetworkObjects = new Dictionary(); + + /// + /// The operation mode configured. + /// public static NetworkManagerOperatingMode CurrentNetworkManagerMode; /// @@ -31,9 +49,21 @@ public static class NetworkManagerHelper /// public enum NetworkManagerOperatingMode { + /// + /// None + /// None, + /// + /// Host mode + /// Host, + /// + /// Server mode + /// Server, + /// + /// Client mode + /// Client, } @@ -44,6 +74,7 @@ public enum NetworkManagerOperatingMode /// send messages to yourself (i.e. Host-Client to Host-Server and vice versa). /// As such, the default setting is to start in Host mode. /// + /// The newly started /// parameter to specify which mode you want to start the NetworkManager /// parameter to specify custom NetworkConfig settings /// true if it was instantiated or is already instantiate otherwise false means it failed to instantiate @@ -93,7 +124,7 @@ public static bool StartNetworkManager(out NetworkManager networkManager, Networ /// Add a GameObject with a NetworkObject component /// /// the name of the object - /// A unique identifier (GUID) for the newly created GameObject + /// A unique identifier, , for the newly created GameObject public static Guid AddGameNetworkObject(string nameOfGameObject) { var gameObjectId = Guid.NewGuid(); @@ -196,7 +227,10 @@ private static void StopNetworkManagerMode() CurrentNetworkManagerMode = NetworkManagerOperatingMode.None; } - // This is called, even if we assert and exit early from a test + /// + /// Invoked even if we assert and exit early from a test, this shuts down the + /// and does some additional clean up. + /// public static void ShutdownNetworkManager() { // clean up any game objects created with custom unit testing components @@ -219,6 +253,14 @@ public static void ShutdownNetworkManager() NetworkManagerObject = null; } + /// + /// Helper method to determine if two buffers match. + /// + /// Index offset to start from relative to both buffers. + /// The number of bytes to compare. + /// The buffer to use for comparison. + /// The original buffer being compared. + /// or public static bool BuffersMatch(int indexOffset, long targetSize, byte[] sourceArray, byte[] originalArray) { long largeInt64Blocks = targetSize >> 3; // Divide by 8 diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkManagerHelper.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetworkManagerHelper.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkManagerHelper.cs.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetworkManagerHelper.cs.meta diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkVariableHelper.cs b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetworkVariableHelper.cs similarity index 85% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkVariableHelper.cs rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetworkVariableHelper.cs index cf357ea3b8..bdfd7ab7fd 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkVariableHelper.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetworkVariableHelper.cs @@ -18,7 +18,17 @@ namespace Unity.Netcode.TestHelpers.Runtime public class NetworkVariableHelper : NetworkVariableBaseHelper { private readonly NetworkVariable m_NetworkVariable; + /// + /// Delegate defining . + /// + /// The previous value. + /// The next or current value. public delegate void OnMyValueChangedDelegateHandler(T previous, T next); + + /// + /// Event invoked when a 's value is changed. + /// See also: . + /// public event OnMyValueChangedDelegateHandler OnValueChanged; /// @@ -62,6 +72,10 @@ private void OnVariableChanged(T previous, T next) OnValueChanged?.Invoke(previous, next); } + /// + /// Constructor taking a as a parameter. + /// + /// The parameter. public NetworkVariableHelper(NetworkVariableBase networkVariable) : base(networkVariable) { m_NetworkVariable = networkVariable as NetworkVariable; @@ -129,6 +143,10 @@ protected void ValueChanged() } } + /// + /// Constructor taking as parameter. + /// + /// The parameter. public NetworkVariableBaseHelper(NetworkVariableBase networkVariable) { if (s_Instances == null) diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkVariableHelper.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetworkVariableHelper.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkVariableHelper.cs.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/NetworkVariableHelper.cs.meta diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/TimeoutHelper.cs b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/TimeoutHelper.cs similarity index 66% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/TimeoutHelper.cs rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/TimeoutHelper.cs index a101873e6c..72cda23d12 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/TimeoutHelper.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/TimeoutHelper.cs @@ -8,18 +8,31 @@ namespace Unity.Netcode.TestHelpers.Runtime /// public class TimeoutHelper { + /// + /// The default time out value. + /// protected const float k_DefaultTimeOutWaitPeriod = 2.0f; - private float m_MaximumTimeBeforeTimeOut; private float m_TimeOutPeriod; + /// + /// If a timed conditional check has started and if it has yet to start. + /// protected bool m_IsStarted { get; private set; } + + /// + /// Will be if a timeout occurred or if a timeout did not occur. + /// public bool TimedOut { get; internal set; } private float m_TimeStarted; private float m_TimeStopped; + /// + /// Gets the time that has passed since started. + /// + /// as the time that has passed. public float GetTimeElapsed() { if (m_IsStarted) @@ -32,10 +45,16 @@ public float GetTimeElapsed() } } + /// + /// Virtual method to override in order to setup a derived class when started. + /// protected virtual void OnStart() { } + /// + /// Invoke to start. + /// public void Start() { m_TimeStopped = 0.0f; @@ -46,10 +65,16 @@ public void Start() OnStart(); } + /// + /// Virtual method to override in order to clean up or other related logic when stopped. + /// protected virtual void OnStop() { } + /// + /// Invoke to stop. + /// public void Stop() { if (m_TimeStopped == 0.0f) @@ -61,16 +86,31 @@ public void Stop() OnStop(); } + /// + /// Virtual method returns or if timed out. + /// + /// + /// Overriding this provides additional conditions to determine if it has timed out. + /// + /// or protected virtual bool OnHasTimedOut() { return m_IsStarted ? m_MaximumTimeBeforeTimeOut < Time.realtimeSinceStartup : TimedOut; } + /// + /// Invoke to determine if it has timed out. + /// + /// or public bool HasTimedOut() { return OnHasTimedOut(); } + /// + /// Constructor that provides an optional parameter to define the time out period. + /// + /// Optional to define the time out period. It defaults to . public TimeoutHelper(float timeOutPeriod = k_DefaultTimeOutWaitPeriod) { m_TimeOutPeriod = timeOutPeriod; @@ -91,6 +131,10 @@ public class TimeoutFrameCountHelper : TimeoutHelper private int m_EndFrameCount; private bool m_ReachedFrameCount; + /// + /// Returns the number of frames that have occurred. + /// + /// Number of frames as an . public int GetFrameCount() { if (m_IsStarted) @@ -103,6 +147,7 @@ public int GetFrameCount() } } + /// protected override void OnStop() { if (m_EndFrameCount == 0) @@ -112,6 +157,7 @@ protected override void OnStop() base.OnStop(); } + /// protected override bool OnHasTimedOut() { var currentFrameCountDelta = Time.frameCount - m_StartFrameCount; @@ -124,6 +170,7 @@ protected override bool OnHasTimedOut() return m_ReachedFrameCount && base.OnHasTimedOut(); } + /// protected override void OnStart() { m_EndFrameCount = 0; @@ -131,6 +178,11 @@ protected override void OnStart() base.OnStart(); } + /// + /// Constructor + /// + /// Optional timeout period. + /// Optional tick rate. public TimeoutFrameCountHelper(float timeOutPeriod = k_DefaultTimeOutWaitPeriod, uint tickRate = k_DefaultTickRate) : base(timeOutPeriod) { // Calculate the expected number of frame updates that should occur during the tick count wait period diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/TimeoutHelper.cs.meta b/com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/TimeoutHelper.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/TimeoutHelper.cs.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/TestHelpers/TimeoutHelper.cs.meta diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/com.unity.netcode.runtimetests.asmdef b/com.unity.netcode.gameobjects/Tests/Runtime/Unity.Netcode.Runtime.Tests.asmdef similarity index 95% rename from com.unity.netcode.gameobjects/Tests/Runtime/com.unity.netcode.runtimetests.asmdef rename to com.unity.netcode.gameobjects/Tests/Runtime/Unity.Netcode.Runtime.Tests.asmdef index 7153a15480..8a7507f158 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/com.unity.netcode.runtimetests.asmdef +++ b/com.unity.netcode.gameobjects/Tests/Runtime/Unity.Netcode.Runtime.Tests.asmdef @@ -1,9 +1,8 @@ { - "name": "Unity.Netcode.RuntimeTests", + "name": "Unity.Netcode.Runtime.Tests", "rootNamespace": "Unity.Netcode.RuntimeTests", "references": [ "Unity.Netcode.Runtime", - "Unity.Netcode.Components", "Unity.Collections", "Unity.Multiplayer.MetricTypes", "Unity.Multiplayer.NetStats", diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/com.unity.netcode.runtimetests.asmdef.meta b/com.unity.netcode.gameobjects/Tests/Runtime/Unity.Netcode.Runtime.Tests.asmdef.meta similarity index 100% rename from com.unity.netcode.gameobjects/Tests/Runtime/com.unity.netcode.runtimetests.asmdef.meta rename to com.unity.netcode.gameobjects/Tests/Runtime/Unity.Netcode.Runtime.Tests.asmdef.meta diff --git a/pvpExceptions.json b/pvpExceptions.json index 4e721b02e8..83e996338b 100644 --- a/pvpExceptions.json +++ b/pvpExceptions.json @@ -1,586 +1,14 @@ { - "exempts": { - "PVP-41-1": { - "errors": [ - "CHANGELOG.md: line 9: Unreleased section is not allowed for public release" - ] - }, - "PVP-151-1": { - "errors": [ - "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: undocumented", - "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnNetworkSpawn(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void RegisterAndLabelNetworkObject(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void DeRegisterNetworkObject(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnLostOwnership(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnGainedOwnership(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnNetworkDespawn(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnDestroy(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: TimedOut: undocumented", - "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: bool OnHasConditionBeenReached(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: bool HasConditionBeenReached(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: void OnStarted(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: void Started(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: void OnFinished(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: void Finished(bool): undocumented", - "Unity.Netcode.TestHelpers.Runtime.IConditionalPredicate: undocumented", - "Unity.Netcode.TestHelpers.Runtime.IConditionalPredicate: bool HasConditionBeenReached(): missing ", - "Unity.Netcode.TestHelpers.Runtime.IConditionalPredicate: void Finished(bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: undocumented", - "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: string GetVector3Values(ref Vector3): undocumented", - "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: string GetVector3Values(Vector3): undocumented", - "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: float GetDeltaVarianceThreshold(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: float EulerDelta(float, float): undocumented", - "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: Vector3 EulerDelta(Vector3, Vector3): undocumented", - "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool ApproximatelyEuler(float, float): undocumented", - "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool Approximately(float, float): undocumented", - "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool Approximately(Vector2, Vector2): undocumented", - "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool Approximately(Vector3, Vector3): undocumented", - "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool Approximately(Quaternion, Quaternion): undocumented", - "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool ApproximatelyEuler(Vector3, Vector3): undocumented", - "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: Vector3 GetRandomVector3(float, float): undocumented", - "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: .ctor(NetworkTopologyTypes, HostOrServer): undocumented", - "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: .ctor(NetworkTopologyTypes): undocumented", - "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: .ctor(HostOrServer): undocumented", - "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: .ctor(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: undocumented", - "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: AllMessagesReceived: undocumented", - "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: NumberOfMessagesReceived: undocumented", - "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: string GetHooksStillWaiting(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: bool OnHasConditionBeenReached(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: void OnFinished(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: void Reset(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: .ctor(List): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ReceiptType: undocumented", - "Unity.Netcode.TestHelpers.Runtime.ReceiptType: Received: undocumented", - "Unity.Netcode.TestHelpers.Runtime.ReceiptType: Handled: undocumented", - "Unity.Netcode.TestHelpers.Runtime.MessageHookEntry: undocumented", - "Unity.Netcode.TestHelpers.Runtime.MessageHookEntry: m_NetworkManager: undocumented", - "Unity.Netcode.TestHelpers.Runtime.MessageHookEntry: void Initialize(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.MessageHookEntry: .ctor(NetworkManager, ReceiptType): undocumented", - "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: undocumented", - "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: OnServerRpcAction: undocumented", - "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: OnClientRpcAction: undocumented", - "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: void MyServerRpc(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: void MyClientRpc(ClientRpcParams): undocumented", - "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: undocumented", - "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: RealTimeSinceStartup: undocumented", - "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: UnscaledTime: undocumented", - "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: UnscaledDeltaTime: undocumented", - "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: DeltaTime: undocumented", - "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: FixedDeltaTime: undocumented", - "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: StaticRealTimeSinceStartup: undocumented", - "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: StaticUnscaledTime: undocumented", - "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: StaticUnscaledDeltaTime: undocumented", - "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: StaticDeltaTime: undocumented", - "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: void TimeTravel(double): undocumented", - "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: void Reset(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: k_TickFrequency: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: s_GlobalTimeoutHelper: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: s_DefaultWaitForTick: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: NetcodeLogAssert: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void RegisterNetworkObject(NetworkObject): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void DeregisterNetworkObject(NetworkObject): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void DeregisterNetworkObject(ulong, ulong): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: k_DefaultTickRate: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_PlayerPrefab: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_UseHost: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_DistributedAuthority: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_NetworkTopologyType: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: NetworkTopologyTypes OnGetNetworkTopologyType(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void SetDistributedAuthorityProperties(NetworkManager): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_TargetFrameRate: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_EnableVerboseDebug: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool OnSetVerboseDebug(): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: NetworkManagerInstatiationMode OnSetIntegrationTestMode(): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OnOneTimeSetup(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OneTimeSetup(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator OnSetup(): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator SetUp(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void SetTimeTravelSimulatedLatency(float): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void SetTimeTravelSimulatedDropRate(float): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void SetTimeTravelSimulatedLatencyJitter(float): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool CanStartServerAndClients(): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator OnStartedServerAndClients(): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator OnServerAndClientsConnected(): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void ClientNetworkManagerPostStartInit(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: LogAllMessages: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool ShouldCheckForSpawnedPlayers(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator StartServerAndClients(): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool CanClientsLoad(): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool CanClientsUnload(): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool OnCanSceneCleanUpUnload(Scene): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator CoroutineShutdownAndCleanUp(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator OnTearDown(): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OnInlineTearDown(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator TearDown(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OneTimeTearDown(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool CanDestroyNetworkObject(NetworkObject): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(Func, TimeoutHelper): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(Func, TimeoutHelper): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(Func, TimeoutHelper): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(Func, int): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(Func, int): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(Func, int): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(IConditionalPredicate, TimeoutHelper): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(IConditionalPredicate, TimeoutHelper): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(IConditionalPredicate, TimeoutHelper): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(IConditionalPredicate, int): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(IConditionalPredicate, int): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(IConditionalPredicate, int): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForClientsConnectedOrTimeOut(NetworkManager[]): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForClientsConnectedOrTimeOutWithTimeTravel(NetworkManager[]): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForClientsConnectedOrTimeOut(): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForClientsConnectedOrTimeOutWithTimeTravel(): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnObject(GameObject, NetworkManager, bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnObject(GameObject, NetworkManager, bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnObject(GameObject, NetworkManager, bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnObject(GameObject, NetworkManager, bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnPlayerObject(GameObject, NetworkManager, bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnPlayerObject(GameObject, NetworkManager, bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnPlayerObject(GameObject, NetworkManager, bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnPlayerObject(GameObject, NetworkManager, bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: List SpawnObjects(GameObject, NetworkManager, int, bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: List SpawnObjects(GameObject, NetworkManager, int, bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: List SpawnObjects(GameObject, NetworkManager, int, bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: List SpawnObjects(GameObject, NetworkManager, int, bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: List SpawnObjects(GameObject, NetworkManager, int, bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: .ctor(NetworkTopologyTypes): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: .ctor(NetworkTopologyTypes, HostOrServer): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void AssertOnTimeout(string, TimeoutHelper): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void AssertOnTimeout(string, TimeoutHelper): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForTicks(NetworkManager, int): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForTicks(NetworkManager, int): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForTicks(NetworkManager, int): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: uint GetTickRate(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: int GetFrameRate(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.SceneManagementState: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.SceneManagementState: SceneManagementEnabled: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.SceneManagementState: SceneManagementDisabled: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.NetworkManagerInstatiationMode: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.NetworkManagerInstatiationMode: PerTest: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.NetworkManagerInstatiationMode: AllTests: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.NetworkManagerInstatiationMode: DoNotCreate: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.HostOrServer: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.HostOrServer: Host: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.HostOrServer: Server: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.HostOrServer: DAHost: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: DefaultMinFrames: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: DefaultTimeout: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: NetworkManagerInstances: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void RegisterHandlers(NetworkManager, bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void RegisterHandlers(NetworkManager, bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: bool Start(bool, NetworkManager, NetworkManager[], BeforeClientStartCallback, bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: uint GetNextGlobalIdHashValue(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IsNetcodeIntegrationTestRunning: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void RegisterNetcodeIntegrationTest(bool): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void MarkAsSceneObjectRoot(GameObject, NetworkManager, NetworkManager[]): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientConnected(NetworkManager, ResultWrapper, float): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnected(NetworkManager[], ResultWrapper, float): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientConnectedToServer(NetworkManager, ResultWrapper, float): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnectedToServer(NetworkManager, int, ResultWrapper, float): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnectedToServer(NetworkManager, int, ResultWrapper, float): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator GetNetworkObjectByRepresentation(ulong, NetworkManager, ResultWrapper, bool, float): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator GetNetworkObjectByRepresentation(Func, NetworkManager, ResultWrapper, bool, float): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForCondition(Func, ResultWrapper, float, int): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: uint GetGlobalObjectIdHash(NetworkObject): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers.MessageHandleCheck: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers.BeforeClientStartCallback: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers.ResultWrapper: missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers.ResultWrapper: Result: undocumented", - "Unity.Netcode.RuntimeTests.NetcodeLogAssert: undocumented", - "Unity.Netcode.RuntimeTests.NetcodeLogAssert: .ctor(bool, bool): undocumented", - "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void AddLog(string, string, LogType): undocumented", - "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void OnTearDown(): undocumented", - "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void Dispose(): undocumented", - "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void LogWasNotReceived(LogType, string): undocumented", - "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void LogWasNotReceived(LogType, Regex): undocumented", - "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void LogWasReceived(LogType, string): undocumented", - "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void LogWasReceived(LogType, Regex): undocumented", - "Unity.Netcode.RuntimeTests.NetcodeLogAssert: bool HasLogBeenReceived(LogType, string): undocumented", - "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void Reset(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: NetworkManagerObject: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: NetworkManagerGameObject: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: InstantiatedGameObjects: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: InstantiatedNetworkObjects: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: CurrentNetworkManagerMode: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: bool StartNetworkManager(out NetworkManager, NetworkManagerOperatingMode, NetworkConfig): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: void ShutdownNetworkManager(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: bool BuffersMatch(int, long, byte[], byte[]): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper.NetworkManagerOperatingMode: None: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper.NetworkManagerOperatingMode: Host: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper.NetworkManagerOperatingMode: Server: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper.NetworkManagerOperatingMode: Client: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkVariableHelper: OnValueChanged: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkVariableHelper: .ctor(NetworkVariableBase): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkVariableHelper.OnMyValueChangedDelegateHandler: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkVariableBaseHelper: .ctor(NetworkVariableBase): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: k_DefaultTimeOutWaitPeriod: undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: m_IsStarted: undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: TimedOut: undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: float GetTimeElapsed(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: void OnStart(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: void Start(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: void OnStop(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: void Stop(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: bool OnHasTimedOut(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: bool HasTimedOut(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: .ctor(float): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: int GetFrameCount(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: void OnStop(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: bool OnHasTimedOut(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: void OnStart(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: .ctor(float, uint): undocumented", - "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: undocumented", - "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: NumberOfClients: undocumented", - "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: .ctor(HostOrServer, bool): undocumented", - "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: void OnServerAndClientsCreated(): undocumented", - "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: void OnNewClientCreated(NetworkManager): undocumented", - "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: IEnumerator HiddenObjectPromotedSessionOwnerNewClientSynchronizes(): missing ", - "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: NumberOfClients: undocumented", - "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: .ctor(HostOrServer): undocumented", - "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: IEnumerator OnSetup(): undocumented", - "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: void OnCreatePlayerPrefab(): undocumented", - "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: IEnumerator ProxyDoesNotInvokeOnSender(): undocumented", - "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting.RpcProxyText: undocumented", - "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting.RpcProxyText: ReceivedRpc: undocumented", - "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting.RpcProxyText: void SendToEveryOneButMe(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted: undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted: NumberOfClients: undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted: .ctor(NetworkTopologyTypes, HostOrServer): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted: void OnOneTimeSetup(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted: void OnServerAndClientsCreated(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted: IEnumerator PrefabSessionIstantiationPass(int): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted: IEnumerator OnTearDown(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted: void OnOneTimeTearDown(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.TestBehaviour: TestNetworkVariable: undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.TestBehaviour: LastUpdateDelta: undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.TestBehaviour: SpawnedCount: undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.TestBehaviour: void OnNetworkSpawn(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.TestBehaviour: void OnNetworkPostSpawn(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.TestBehaviour: void OnDestroy(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.TestBehaviour: void OnNetworkDespawn(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: PrefabInstances: undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: void OneTimeSetup(int, GameObject): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: NetworkObject GetInstanceToSpawn(NetworkManager): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: bool ValidatePersistedInstances(NetworkManager, int): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: .ctor(GameObject): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: void Initialize(NetworkManager): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: bool ValidateInstanceSpawnCount(int): XML is not well-formed: Expected an end tag for element 'summary'", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: void DeregisterHandler(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: NetworkObject GetInstance(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: NetworkObject Instantiate(ulong, Vector3, Quaternion): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: void Destroy(NetworkObject): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: NumberOfClients: undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: .ctor(HostOrServer): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: bool OnSetVerboseDebug(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: IEnumerator OnSetup(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: void OnCreatePlayerPrefab(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: IEnumerator TestListBuiltInTypeCollections(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: IEnumerator TestListSerializableObjectCollections(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: IEnumerator TestDictionaryCollections(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: IEnumerator TestDictionaryNestedCollections(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: IEnumerator TestHashSetBuiltInTypeCollections(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsChangingTests: undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsChangingTests: NumberOfClients: undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsChangingTests: .ctor(HostOrServer, CollectionTypes): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsChangingTests: void OnServerAndClientsCreated(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsChangingTests: IEnumerator CollectionAndOwnershipChangingTest(): undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsChangingTests.CollectionTypes: undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsChangingTests.CollectionTypes: Dictionary: undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsChangingTests.CollectionTypes: List: undocumented", - "Unity.Netcode.RuntimeTests.DictionaryCollectionUpdateHelper: bool OnValidateAgainst(BaseCollectionUpdateHelper): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryCollectionUpdateHelper: void OnClear(): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryCollectionUpdateHelper: void AddItem(): undocumented", - "Unity.Netcode.RuntimeTests.ListCollectionUpdateHelper: bool OnValidateAgainst(BaseCollectionUpdateHelper): undocumented", - "Unity.Netcode.RuntimeTests.ListCollectionUpdateHelper: void OnClear(): undocumented", - "Unity.Netcode.RuntimeTests.ListCollectionUpdateHelper: void AddItem(): undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: VerboseMode: undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: HelperState: undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: void SetState(HelperStates): undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: bool OnValidateAgainst(BaseCollectionUpdateHelper): undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: bool ValidateAgainst(BaseCollectionUpdateHelper): undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: void OnNetworkSpawn(): undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: void OnNetworkDespawn(): undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: void OnClear(): undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: void Clear(): undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: void AddItem(): undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: void OnOwnershipChanged(ulong, ulong): undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: void Log(string): undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper.HelperStates: undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper.HelperStates: Stop: undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper.HelperStates: Start: undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper.HelperStates: Pause: undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper.HelperStates: ClearToChangeOwner: undocumented", - "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper.HelperStates: ChangingOwner: undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: Instances: undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void ResetState(): undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: ListCollectionServer: undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: ListCollectionOwner: undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: NetworkVariableChanges: undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: bool ValidateInstances(): undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: bool CompareTrackedChanges(Targets): undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: HashSet GetHashSetValues(int): undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: NetworkVariable> GetNetVar(Targets): undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: HashSet OnSetServerValues(): undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: HashSet OnSetOwnerValues(): undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void Add(int, Targets): undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void AddRange(HashSet, Targets): undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void Remove(int, Targets): undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void FullSet(HashSet, Targets): undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void Clear(Targets): undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void TrackChanges(Targets, HashSet, HashSet): undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void OnServerListValuesChanged(HashSet, HashSet): undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void OnOwnerListValuesChanged(HashSet, HashSet): undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void ResetTrackedChanges(): undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void OnNetworkPostSpawn(): undocumented", - "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void OnNetworkDespawn(): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: Instances: undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void ResetState(): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: ListCollectionServer: undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: ListCollectionOwner: undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: NetworkVariableChanges: undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: bool ValidateInstances(): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: bool CompareTrackedChanges(Targets): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: Dictionary GetDictionaryValues(int): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: Dictionary> GetNestedDictionaryValues(int): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: NetworkVariable>> GetNetVar(Targets): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: Dictionary> OnSetServerValues(): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: Dictionary> OnSetOwnerValues(): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: bool UpdateValue((int, Dictionary), Targets, bool): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void Add((int, Dictionary), Targets): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void Remove(int, Targets): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void FullSet(Dictionary>, Targets): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void Clear(Targets): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void TrackChanges(Targets, Dictionary>, Dictionary>): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void OnServerListValuesChanged(Dictionary>, Dictionary>): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void OnOwnerListValuesChanged(Dictionary>, Dictionary>): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void ResetTrackedChanges(): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void OnNetworkPostSpawn(): undocumented", - "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void OnNetworkDespawn(): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: Instances: undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void ResetState(): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: ListCollectionServer: undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: ListCollectionOwner: undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: NetworkVariableChanges: undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: bool ValidateInstances(): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: bool CompareTrackedChanges(Targets): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: Dictionary GetDictionaryValues(int): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: NetworkVariable> GetNetVar(Targets): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: Dictionary OnSetServerValues(): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: Dictionary OnSetOwnerValues(): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: bool UpdateValue((int, SerializableObject), Targets, bool): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void Add((int, SerializableObject), Targets): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void Remove(int, Targets): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void FullSet(Dictionary, Targets): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void Clear(Targets): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void TrackChanges(Targets, Dictionary, Dictionary): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void OnServerListValuesChanged(Dictionary, Dictionary): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void OnOwnerListValuesChanged(Dictionary, Dictionary): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void ResetTrackedChanges(): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void OnNetworkPostSpawn(): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void InitValues(): undocumented", - "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void OnNetworkDespawn(): undocumented", - "Unity.Netcode.RuntimeTests.SerializableObject: undocumented", - "Unity.Netcode.RuntimeTests.SerializableObject: SerializableObject GetRandomObject(): undocumented", - "Unity.Netcode.RuntimeTests.SerializableObject: List GetListOfRandomObjects(int): undocumented", - "Unity.Netcode.RuntimeTests.SerializableObject: List> GetListOfListOfRandomObjects(int, int): undocumented", - "Unity.Netcode.RuntimeTests.SerializableObject: IntValue: undocumented", - "Unity.Netcode.RuntimeTests.SerializableObject: LongValue: undocumented", - "Unity.Netcode.RuntimeTests.SerializableObject: FloatValue: undocumented", - "Unity.Netcode.RuntimeTests.SerializableObject: string ToString(): undocumented", - "Unity.Netcode.RuntimeTests.SerializableObject: void NetworkSerialize(BufferSerializer): undocumented", - "Unity.Netcode.RuntimeTests.SerializableObject: bool Equals(SerializableObject): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: Instances: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void ResetState(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: ListCollectionServer: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: ListCollectionOwner: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: NetworkVariableChanges: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: bool ValidateInstances(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: bool CompareTrackedChanges(Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: NetworkVariable>> GetNetVar(Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: List> OnSetServerValues(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: List> OnSetOwnerValues(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void UpdateValue(List, Targets, bool): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void Add(List, Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void AddRange(List>, Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void Insert(List, int, Targets, bool): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void Remove(List, Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void FullSet(List>, Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void Clear(Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void TrackChanges(Targets, List>, List>): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void OnServerListValuesChanged(List>, List>): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void OnOwnerListValuesChanged(List>, List>): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void ResetTrackedChanges(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void OnNetworkPostSpawn(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void OnNetworkDespawn(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: Instances: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void ResetState(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: ListCollectionServer: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: ListCollectionOwner: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: NetworkVariableChanges: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: bool ValidateInstances(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: bool CompareTrackedChanges(Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: NetworkVariable> GetNetVar(Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: List OnSetServerValues(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: List OnSetOwnerValues(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void UpdateValue(SerializableObject, Targets, bool): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void Add(SerializableObject, Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void AddRange(List, Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void Insert(SerializableObject, int, Targets, bool): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void Remove(SerializableObject, Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void FullSet(List, Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void Clear(Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void TrackChanges(Targets, List, List): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void OnServerListValuesChanged(List, List): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void OnOwnerListValuesChanged(List, List): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void ResetTrackedChanges(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void OnNetworkPostSpawn(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void OnNetworkDespawn(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: Instances: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void ResetState(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: ListCollectionServer: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: ListCollectionOwner: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: NetworkVariableChanges: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: bool ValidateInstances(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: bool CompareTrackedChanges(Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: NetworkVariable>> GetNetVar(Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: List> OnSetServerValues(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: List> OnSetOwnerValues(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void UpdateValue(List, Targets, bool): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void Add(List, Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void AddRange(List>, Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void Insert(List, int, Targets, bool): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void Remove(List, Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void FullSet(List>, Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void Clear(Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void TrackChanges(Targets, List>, List>): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void OnServerListValuesChanged(List>, List>): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void OnOwnerListValuesChanged(List>, List>): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void ResetTrackedChanges(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void OnNetworkPostSpawn(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void OnNetworkDespawn(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: Instances: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: void ResetState(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: ListCollectionServer: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: ListCollectionOwner: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: NetworkVariableChanges: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: bool ValidateInstances(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: bool CompareTrackedChanges(Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: NetworkVariable> GetNetVar(Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: List OnSetServerValues(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: List OnSetOwnerValues(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: void UpdateValue(int, Targets, bool): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: void Add(int, Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: void AddRange(List, Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: void Insert(int, int, Targets, bool): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: void Remove(int, Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: void FullSet(List, Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: void Clear(Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: void TrackChanges(Targets, List, List): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: void OnServerListValuesChanged(List, List): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: void OnOwnerListValuesChanged(List, List): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: void ResetTrackedChanges(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: void OnNetworkPostSpawn(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperInt: void OnNetworkDespawn(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperBase: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperBase: IsDebugMode: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperBase: string GetLog(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperBase: void LogMessage(string): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperBase: void LogStart(): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperBase: void SetDebugMode(bool): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperBase: bool CompareTrackedChanges(Targets): undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperBase.Targets: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperBase.Targets: Server: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperBase.Targets: Owner: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperBase.DeltaTypes: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperBase.DeltaTypes: Added: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperBase.DeltaTypes: Removed: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperBase.DeltaTypes: Changed: undocumented", - "Unity.Netcode.RuntimeTests.ListTestHelperBase.DeltaTypes: UnChanged: undocumented", - "Unity.Netcode.RuntimeTests.IListTestHelperBase: undocumented", - "Unity.Netcode.RuntimeTests.IListTestHelperBase: bool ValidateInstances(): undocumented", - "Unity.Netcode.RuntimeTests.IListTestHelperBase: NetworkVariable> GetNetVar(Targets): undocumented", - "Unity.Netcode.RuntimeTests.IListTestHelperBase: List OnSetServerValues(): undocumented", - "Unity.Netcode.RuntimeTests.IListTestHelperBase: List OnSetOwnerValues(): undocumented", - "Unity.Netcode.RuntimeTests.IListTestHelperBase: void UpdateValue(T, Targets, bool): undocumented", - "Unity.Netcode.RuntimeTests.IListTestHelperBase: void Add(T, Targets): undocumented", - "Unity.Netcode.RuntimeTests.IListTestHelperBase: void AddRange(List, Targets): undocumented", - "Unity.Netcode.RuntimeTests.IListTestHelperBase: void Insert(T, int, Targets, bool): undocumented", - "Unity.Netcode.RuntimeTests.IListTestHelperBase: void Remove(T, Targets): undocumented", - "Unity.Netcode.RuntimeTests.IListTestHelperBase: void FullSet(List, Targets): undocumented", - "Unity.Netcode.RuntimeTests.IListTestHelperBase: void Clear(Targets): undocumented", - "Unity.Netcode.RuntimeTests.IListTestHelperBase: void TrackChanges(Targets, List, List): undocumented", - "Unity.Netcode.RuntimeTests.IListTestHelperBase: void OnServerListValuesChanged(List, List): undocumented", - "Unity.Netcode.RuntimeTests.IListTestHelperBase: void OnOwnerListValuesChanged(List, List): undocumented", - "Unity.Netcode.RuntimeTests.IListTestHelperBase: void ResetTrackedChanges(): undocumented", - "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: undocumented", - "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: bool ValidateInstances(): undocumented", - "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: NetworkVariable> GetNetVar(Targets): undocumented", - "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: Dictionary OnSetServerValues(): undocumented", - "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: Dictionary OnSetOwnerValues(): undocumented", - "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: bool UpdateValue((TKey, TValue), Targets, bool): undocumented", - "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: void Add((TKey, TValue), Targets): undocumented", - "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: void Remove(TKey, Targets): undocumented", - "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: void FullSet(Dictionary, Targets): undocumented", - "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: void Clear(Targets): undocumented", - "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: void TrackChanges(Targets, Dictionary, Dictionary): undocumented", - "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: void OnServerListValuesChanged(Dictionary, Dictionary): undocumented", - "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: void OnOwnerListValuesChanged(Dictionary, Dictionary): undocumented", - "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: void ResetTrackedChanges(): undocumented", - "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: undocumented", - "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: bool ValidateInstances(): undocumented", - "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: NetworkVariable> GetNetVar(Targets): undocumented", - "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: HashSet OnSetServerValues(): undocumented", - "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: HashSet OnSetOwnerValues(): undocumented", - "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: void Add(T, Targets): undocumented", - "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: void Remove(T, Targets): undocumented", - "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: void Clear(Targets): undocumented", - "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: void TrackChanges(Targets, HashSet, HashSet): undocumented", - "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: void OnServerListValuesChanged(HashSet, HashSet): undocumented", - "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: void OnOwnerListValuesChanged(HashSet, HashSet): undocumented", - "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: void ResetTrackedChanges(): undocumented", - "Unity.Netcode.RuntimeTests.ByteEnum: undocumented", - "Unity.Netcode.RuntimeTests.ByteEnum: A: undocumented", - "Unity.Netcode.RuntimeTests.ByteEnum: B: undocumented", - "Unity.Netcode.RuntimeTests.ByteEnum: C: undocumented", - "Unity.Netcode.RuntimeTests.SByteEnum: undocumented", - "Unity.Netcode.RuntimeTests.SByteEnum: A: undocumented", - "Unity.Netcode.RuntimeTests.SByteEnum: B: undocumented", - "Unity.Netcode.RuntimeTests.SByteEnum: C: undocumented", - "Unity.Netcode.RuntimeTests.ShortEnum: undocumented", - "Unity.Netcode.RuntimeTests.ShortEnum: A: undocumented", - "Unity.Netcode.RuntimeTests.ShortEnum: B: undocumented", - "Unity.Netcode.RuntimeTests.ShortEnum: C: undocumented", - "Unity.Netcode.RuntimeTests.UShortEnum: undocumented", - "Unity.Netcode.RuntimeTests.UShortEnum: A: undocumented", - "Unity.Netcode.RuntimeTests.UShortEnum: B: undocumented", - "Unity.Netcode.RuntimeTests.UShortEnum: C: undocumented", - "Unity.Netcode.RuntimeTests.IntEnum: undocumented", - "Unity.Netcode.RuntimeTests.IntEnum: A: undocumented", - "Unity.Netcode.RuntimeTests.IntEnum: B: undocumented", - "Unity.Netcode.RuntimeTests.IntEnum: C: undocumented", - "Unity.Netcode.RuntimeTests.UIntEnum: undocumented", - "Unity.Netcode.RuntimeTests.UIntEnum: A: undocumented", - "Unity.Netcode.RuntimeTests.UIntEnum: B: undocumented", - "Unity.Netcode.RuntimeTests.UIntEnum: C: undocumented", - "Unity.Netcode.RuntimeTests.LongEnum: undocumented", - "Unity.Netcode.RuntimeTests.LongEnum: A: undocumented", - "Unity.Netcode.RuntimeTests.LongEnum: B: undocumented", - "Unity.Netcode.RuntimeTests.LongEnum: C: undocumented", - "Unity.Netcode.RuntimeTests.ULongEnum: undocumented", - "Unity.Netcode.RuntimeTests.ULongEnum: A: undocumented", - "Unity.Netcode.RuntimeTests.ULongEnum: B: undocumented", - "Unity.Netcode.RuntimeTests.ULongEnum: C: undocumented", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: bool ValidateInstanceSpawnCount(int): missing ", - "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: bool ValidateInstanceSpawnCount(int): missing " - ] - } + "exempts": { + "PVP-41-1": { + "errors": [ + "CHANGELOG.md: line 9: Unreleased section is not allowed for public release" + ] + }, + "PVP-132-2": { + "errors": [ + "Editor/CodeGen/Unity.Netcode.Editor.CodeGen.asmdef: name of editor assembly should end with '.Editor'" + ] } + } } diff --git a/testproject-tools-integration/.gitignore b/testproject-tools-integration/.gitignore deleted file mode 100644 index 07da59365a..0000000000 --- a/testproject-tools-integration/.gitignore +++ /dev/null @@ -1,71 +0,0 @@ -# This .gitignore file should be placed at the root of your Unity project directory -# -# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore -# -/[Ll]ibrary/ -/[Tt]emp/ -/[Oo]bj/ -/[Bb]uild/ -/[Bb]uilds/ -/[Ll]ogs/ -/[Uu]ser[Ss]ettings/ - -# MemoryCaptures can get excessive in size. -# They also could contain extremely sensitive data -/[Mm]emoryCaptures/ - -# Asset meta data should only be ignored when the corresponding asset is also ignored -!/[Aa]ssets/**/*.meta - -# Uncomment this line if you wish to ignore the asset store tools plugin -# /[Aa]ssets/AssetStoreTools* - -# Autogenerated Jetbrains Rider plugin -/[Aa]ssets/Plugins/Editor/JetBrains* - -# Visual Studio cache directory -.vs/ - -# Gradle cache directory -.gradle/ - -# Autogenerated VS/MD/Consulo solution and project files -ExportedObj/ -.consulo/ -*.csproj -*.unityproj -*.sln -*.suo -*.tmp -*.user -*.userprefs -*.pidb -*.booproj -*.svd -*.pdb -*.mdb -*.opendb -*.VC.db - -# Unity3D generated meta files -*.pidb.meta -*.pdb.meta -*.mdb.meta - -# Unity3D generated file on crash reports -sysinfo.txt - -# Builds -*.apk -*.aab -*.unitypackage - -# Crashlytics generated file -crashlytics-build.properties - -# Packed Addressables -/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* - -# Temporary auto-generated Android Assets -/[Aa]ssets/[Ss]treamingAssets/aa.meta -/[Aa]ssets/[Ss]treamingAssets/aa/* \ No newline at end of file diff --git a/testproject-tools-integration/Assets/DefaultNetworkPrefabs.asset b/testproject-tools-integration/Assets/DefaultNetworkPrefabs.asset deleted file mode 100644 index 35e2f3bed4..0000000000 --- a/testproject-tools-integration/Assets/DefaultNetworkPrefabs.asset +++ /dev/null @@ -1,26 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e651dbb3fbac04af2b8f5abf007ddc23, type: 3} - m_Name: DefaultNetworkPrefabs - m_EditorClassIdentifier: - IsDefault: 1 - List: - - Override: 0 - Prefab: {fileID: 3765101504508104375, guid: 6181759f062a5194486afc8f7fe76f41, type: 3} - SourcePrefabToOverride: {fileID: 0} - SourceHashToOverride: 0 - OverridingTargetPrefab: {fileID: 0} - - Override: 0 - Prefab: {fileID: 3439633038736912633, guid: 398aad09d8b2a47eba664a076763cdcc, type: 3} - SourcePrefabToOverride: {fileID: 0} - SourceHashToOverride: 0 - OverridingTargetPrefab: {fileID: 0} diff --git a/testproject-tools-integration/Assets/DummyAsset.txt b/testproject-tools-integration/Assets/DummyAsset.txt deleted file mode 100644 index 0d45492c3d..0000000000 --- a/testproject-tools-integration/Assets/DummyAsset.txt +++ /dev/null @@ -1 +0,0 @@ -This dummy asset exists to make sure that the Assets folder is included in CI packaging. \ No newline at end of file diff --git a/testproject-tools-integration/Assets/DummyAsset.txt.meta b/testproject-tools-integration/Assets/DummyAsset.txt.meta deleted file mode 100644 index a95ed6c8db..0000000000 --- a/testproject-tools-integration/Assets/DummyAsset.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 18a934c6ad3248d4ea1cd48ca091c20c -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/testproject-tools-integration/Assets/Prefabs.meta b/testproject-tools-integration/Assets/Prefabs.meta deleted file mode 100644 index 1c459c3014..0000000000 --- a/testproject-tools-integration/Assets/Prefabs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ce7ac4856d251124cba7faaf0e74f1ab -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/testproject-tools-integration/Assets/Prefabs/Sphere.prefab b/testproject-tools-integration/Assets/Prefabs/Sphere.prefab deleted file mode 100644 index 04d88652f4..0000000000 --- a/testproject-tools-integration/Assets/Prefabs/Sphere.prefab +++ /dev/null @@ -1,116 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &3765101504508104375 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3765101504508104378} - - component: {fileID: 3765101504508104379} - - component: {fileID: 3765101504508104372} - - component: {fileID: 3765101504508104373} - - component: {fileID: 3765101504508104374} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3765101504508104378 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3765101504508104375} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3765101504508104379 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3765101504508104375} - m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3765101504508104372 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3765101504508104375} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!135 &3765101504508104373 -SphereCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3765101504508104375} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.5 - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &3765101504508104374 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3765101504508104375} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} - m_Name: - m_EditorClassIdentifier: - GlobalObjectIdHash: 951099334 - AlwaysReplicateAsRoot: 0 - DontDestroyWithOwner: 0 - AutoObjectParentSync: 1 diff --git a/testproject-tools-integration/Assets/Prefabs/Sphere.prefab.meta b/testproject-tools-integration/Assets/Prefabs/Sphere.prefab.meta deleted file mode 100644 index f676fa7876..0000000000 --- a/testproject-tools-integration/Assets/Prefabs/Sphere.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 6181759f062a5194486afc8f7fe76f41 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/testproject-tools-integration/Assets/Scenes.meta b/testproject-tools-integration/Assets/Scenes.meta deleted file mode 100644 index 64d9da2ae0..0000000000 --- a/testproject-tools-integration/Assets/Scenes.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ff226f018695fdd4ea409c7292475be9 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/testproject-tools-integration/Assets/Scenes/EmptyScene.unity b/testproject-tools-integration/Assets/Scenes/EmptyScene.unity deleted file mode 100644 index c3f96370f0..0000000000 --- a/testproject-tools-integration/Assets/Scenes/EmptyScene.unity +++ /dev/null @@ -1,303 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -OcclusionCullingSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 - m_SceneGUID: 00000000000000000000000000000000 - m_OcclusionCullingData: {fileID: 0} ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 9 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} - m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} - m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 0 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} - m_UseRadianceAmbientProbe: 0 ---- !u!157 &3 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 12 - m_GIWorkflowMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 12 - m_Resolution: 2 - m_BakeResolution: 40 - m_AtlasSize: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAmbientOcclusion: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 1 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 256 - m_ReflectionCompression: 2 - m_MixedBakeMode: 2 - m_BakeBackend: 1 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 512 - m_PVRBounces: 2 - m_PVREnvironmentSampleCount: 256 - m_PVREnvironmentReferencePointCount: 2048 - m_PVRFilteringMode: 1 - m_PVRDenoiserTypeDirect: 1 - m_PVRDenoiserTypeIndirect: 1 - m_PVRDenoiserTypeAO: 1 - m_PVRFilterTypeDirect: 0 - m_PVRFilterTypeIndirect: 0 - m_PVRFilterTypeAO: 0 - m_PVREnvironmentMIS: 1 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousPositionSigmaDirect: 0.5 - m_PVRFilteringAtrousPositionSigmaIndirect: 2 - m_PVRFilteringAtrousPositionSigmaAO: 1 - m_ExportTrainingData: 0 - m_TrainingDataDestination: TrainingData - m_LightProbeSampleCountMultiplier: 4 - m_LightingDataAsset: {fileID: 0} - m_LightingSettings: {fileID: 0} ---- !u!196 &4 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666667 - manualTileSize: 0 - tileSize: 256 - accuratePlacement: 0 - maxJobWorkers: 0 - preserveTilesOutsideBounds: 0 - debug: - m_Flags: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &478114223 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 478114226} - - component: {fileID: 478114225} - - component: {fileID: 478114224} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &478114224 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 478114223} - m_Enabled: 1 ---- !u!20 &478114225 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 478114223} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &478114226 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 478114223} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1499037024 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1499037026} - - component: {fileID: 1499037025} - m_Layer: 0 - m_Name: Directional Light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!108 &1499037025 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1499037024} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 1 - m_Shape: 0 - m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} - m_Intensity: 1 - m_Range: 10 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: -1 - m_CustomResolution: -1 - m_Strength: 1 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingLayerMask: 1 - m_Lightmapping: 4 - m_LightShadowCasterMode: 0 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_ColorTemperature: 6570 - m_UseColorTemperature: 0 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_UseViewFrustumForShadowCasterCull: 1 - m_ShadowRadius: 0 - m_ShadowAngle: 0 ---- !u!4 &1499037026 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1499037024} - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} - m_LocalPosition: {x: 0, y: 3, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} diff --git a/testproject-tools-integration/Assets/Scenes/EmptyScene.unity.meta b/testproject-tools-integration/Assets/Scenes/EmptyScene.unity.meta deleted file mode 100644 index 3749fb38d0..0000000000 --- a/testproject-tools-integration/Assets/Scenes/EmptyScene.unity.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: a2545a872c007404fbb6b0393ab74974 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/testproject-tools-integration/Assets/Scenes/SimpleScene.unity b/testproject-tools-integration/Assets/Scenes/SimpleScene.unity deleted file mode 100644 index 5515bd6aaf..0000000000 --- a/testproject-tools-integration/Assets/Scenes/SimpleScene.unity +++ /dev/null @@ -1,462 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -OcclusionCullingSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 - m_SceneGUID: 00000000000000000000000000000000 - m_OcclusionCullingData: {fileID: 0} ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 9 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} - m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} - m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 0 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} - m_UseRadianceAmbientProbe: 0 ---- !u!157 &3 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 12 - m_GIWorkflowMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 12 - m_Resolution: 2 - m_BakeResolution: 40 - m_AtlasSize: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAmbientOcclusion: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 1 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 256 - m_ReflectionCompression: 2 - m_MixedBakeMode: 2 - m_BakeBackend: 1 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 512 - m_PVRBounces: 2 - m_PVREnvironmentSampleCount: 256 - m_PVREnvironmentReferencePointCount: 2048 - m_PVRFilteringMode: 1 - m_PVRDenoiserTypeDirect: 1 - m_PVRDenoiserTypeIndirect: 1 - m_PVRDenoiserTypeAO: 1 - m_PVRFilterTypeDirect: 0 - m_PVRFilterTypeIndirect: 0 - m_PVRFilterTypeAO: 0 - m_PVREnvironmentMIS: 1 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousPositionSigmaDirect: 0.5 - m_PVRFilteringAtrousPositionSigmaIndirect: 2 - m_PVRFilteringAtrousPositionSigmaAO: 1 - m_ExportTrainingData: 0 - m_TrainingDataDestination: TrainingData - m_LightProbeSampleCountMultiplier: 4 - m_LightingDataAsset: {fileID: 0} - m_LightingSettings: {fileID: 0} ---- !u!196 &4 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666667 - manualTileSize: 0 - tileSize: 256 - accuratePlacement: 0 - maxJobWorkers: 0 - preserveTilesOutsideBounds: 0 - debug: - m_Flags: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &51012357 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 51012361} - - component: {fileID: 51012360} - - component: {fileID: 51012359} - - component: {fileID: 51012358} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!64 &51012358 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 51012357} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 4 - m_Convex: 0 - m_CookingOptions: 30 - m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &51012359 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 51012357} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &51012360 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 51012357} - m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &51012361 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 51012357} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &829917805 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 829917807} - - component: {fileID: 829917806} - m_Layer: 0 - m_Name: Directional Light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!108 &829917806 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 829917805} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 1 - m_Shape: 0 - m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} - m_Intensity: 1 - m_Range: 10 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: -1 - m_CustomResolution: -1 - m_Strength: 1 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingLayerMask: 1 - m_Lightmapping: 4 - m_LightShadowCasterMode: 0 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_ColorTemperature: 6570 - m_UseColorTemperature: 0 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_UseViewFrustumForShadowCasterCull: 1 - m_ShadowRadius: 0 - m_ShadowAngle: 0 ---- !u!4 &829917807 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 829917805} - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} - m_LocalPosition: {x: 0, y: 3, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} ---- !u!1 &1089492984 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1089492987} - - component: {fileID: 1089492986} - - component: {fileID: 1089492985} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &1089492985 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1089492984} - m_Enabled: 1 ---- !u!20 &1089492986 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1089492984} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &1089492987 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1089492984} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &3765101505569481459 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3765101504508104374, guid: 6181759f062a5194486afc8f7fe76f41, type: 3} - propertyPath: GlobalObjectIdHash - value: 1350192397 - objectReference: {fileID: 0} - - target: {fileID: 3765101504508104375, guid: 6181759f062a5194486afc8f7fe76f41, type: 3} - propertyPath: m_Name - value: Sphere - objectReference: {fileID: 0} - - target: {fileID: 3765101504508104378, guid: 6181759f062a5194486afc8f7fe76f41, type: 3} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 3765101504508104378, guid: 6181759f062a5194486afc8f7fe76f41, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3765101504508104378, guid: 6181759f062a5194486afc8f7fe76f41, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3765101504508104378, guid: 6181759f062a5194486afc8f7fe76f41, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3765101504508104378, guid: 6181759f062a5194486afc8f7fe76f41, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3765101504508104378, guid: 6181759f062a5194486afc8f7fe76f41, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3765101504508104378, guid: 6181759f062a5194486afc8f7fe76f41, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3765101504508104378, guid: 6181759f062a5194486afc8f7fe76f41, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3765101504508104378, guid: 6181759f062a5194486afc8f7fe76f41, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3765101504508104378, guid: 6181759f062a5194486afc8f7fe76f41, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3765101504508104378, guid: 6181759f062a5194486afc8f7fe76f41, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 6181759f062a5194486afc8f7fe76f41, type: 3} diff --git a/testproject-tools-integration/Assets/Scenes/SimpleScene.unity.meta b/testproject-tools-integration/Assets/Scenes/SimpleScene.unity.meta deleted file mode 100644 index 2d452c314a..0000000000 --- a/testproject-tools-integration/Assets/Scenes/SimpleScene.unity.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 1682ecc64d762504287d5a5002ba7c12 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/testproject-tools-integration/Assets/Tests.meta b/testproject-tools-integration/Assets/Tests.meta deleted file mode 100644 index e2e82c9df6..0000000000 --- a/testproject-tools-integration/Assets/Tests.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 73b2fa8643764c04dab32883823c59e9 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/testproject-tools-integration/Assets/Tests/Runtime.meta b/testproject-tools-integration/Assets/Tests/Runtime.meta deleted file mode 100644 index 09d3d9f693..0000000000 --- a/testproject-tools-integration/Assets/Tests/Runtime.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c6826f5447d670a4591fb855ae4a94e6 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/testproject-tools-integration/Assets/Tests/Runtime/SceneEventTests.cs b/testproject-tools-integration/Assets/Tests/Runtime/SceneEventTests.cs deleted file mode 100644 index eccaf57490..0000000000 --- a/testproject-tools-integration/Assets/Tests/Runtime/SceneEventTests.cs +++ /dev/null @@ -1,751 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using NUnit.Framework; -using Unity.Multiplayer.Tools.MetricTypes; -using Unity.Netcode; -using Unity.Netcode.TestHelpers.Runtime; -using Unity.Netcode.TestHelpers.Runtime.Metrics; -using UnityEngine.SceneManagement; -using UnityEngine.TestTools; -using SceneEventType = Unity.Netcode.SceneEventType; - -namespace TestProject.ToolsIntegration.RuntimeTests -{ - internal class SceneEventTests : SingleClientMetricTestBase - { - // scenes referenced in this test must also be in the build settings of the project. - private const string k_SimpleSceneName = "SimpleScene"; - - private NetworkSceneManager m_ClientNetworkSceneManager; - private NetworkSceneManager m_ServerNetworkSceneManager; - private Scene m_LoadedScene; - - protected override IEnumerator OnSetup() - { - SceneManager.sceneLoaded += SceneManager_sceneLoaded; - m_CreateServerFirst = false; - return base.OnSetup(); - } - - private List m_AllScenesLoaded = new List(); - - private void SceneManager_sceneLoaded(Scene arg0, LoadSceneMode arg1) - { - m_AllScenesLoaded.Add(arg0); - } - - protected override void OnServerAndClientsCreated() - { - // invoke the base first so the Server and client are set - base.OnServerAndClientsCreated(); - - Server.NetworkConfig.EnableSceneManagement = true; - Client.NetworkConfig.EnableSceneManagement = true; - } - - protected override IEnumerator OnServerAndClientsConnected() - { - m_ClientNetworkSceneManager = Client.SceneManager; - m_ServerNetworkSceneManager = Server.SceneManager; - m_ServerNetworkSceneManager.OnSceneEvent += RegisterLoadedSceneCallback; - - yield return base.OnServerAndClientsConnected(); - } - - protected override IEnumerator OnTearDown() - { - if (!m_AllScenesLoaded.Contains(m_LoadedScene)) - { - m_AllScenesLoaded.Add(m_LoadedScene); - } - - foreach (var sceneLoaded in m_AllScenesLoaded) - { - if (sceneLoaded.IsValid()) - { - yield return UnloadTestScene(sceneLoaded); - } - } - - yield return base.OnTearDown(); - } - - [UnityTest] - public IEnumerator TestS2CLoadSent() - { - var serverSceneLoaded = false; - var clientSceneLoaded = false; - // Register a callback so we know when the scene has loaded server side, as this is when - // the message is sent to the client. AsyncOperation is the ScceneManager.LoadSceneAsync operation. - m_ClientNetworkSceneManager.OnSceneEvent += sceneEvent => - { - if (sceneEvent.SceneEventType.Equals(SceneEventType.Load) && sceneEvent.ClientId == Client.LocalClientId) - { - serverSceneLoaded = true; - } - }; - - m_ServerNetworkSceneManager.OnSceneEvent += sceneEvent => - { - if (sceneEvent.SceneEventType.Equals(SceneEventType.LoadComplete) && sceneEvent.ClientId == Client.LocalClientId) - { - clientSceneLoaded = true; - } - }; - - var waitForSentMetric = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.SceneEventSent); - - // Load a scene to trigger the messages - StartServerLoadScene(); - - // Wait for the server to load the scene locally first. - yield return WaitForCondition(() => serverSceneLoaded); - Assert.IsTrue(serverSceneLoaded); - - yield return WaitForCondition(() => clientSceneLoaded); - Assert.IsTrue(clientSceneLoaded); - - // Now start the wait for the metric to be emitted when the message is sent. - yield return waitForSentMetric.WaitForMetricsReceived(); - - var sentMetrics = waitForSentMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, sentMetrics.Count); - - var sentMetric = sentMetrics.First(); - Assert.AreEqual(SceneEventType.Load.ToString(), sentMetric.SceneEventType); - Assert.AreEqual(Client.LocalClientId, sentMetric.Connection.Id); - Assert.AreEqual(k_SimpleSceneName, sentMetric.SceneName); - } - - [UnityTest] - public IEnumerator TestS2CLoadReceived() - { - var serverSceneLoaded = false; - var clientSceneLoaded = false; - // Register a callback so we know when the scene has loaded server side, as this is when - // the message is sent to the client. AsyncOperation is the ScceneManager.LoadSceneAsync operation. - m_ClientNetworkSceneManager.OnSceneEvent += sceneEvent => - { - if (sceneEvent.SceneEventType.Equals(SceneEventType.Load) && sceneEvent.ClientId == Client.LocalClientId) - { - serverSceneLoaded = true; - } - }; - - m_ServerNetworkSceneManager.OnSceneEvent += sceneEvent => - { - if (sceneEvent.SceneEventType.Equals(SceneEventType.LoadComplete) && sceneEvent.ClientId == Client.LocalClientId) - { - clientSceneLoaded = true; - } - }; - - var waitForReceivedMetric = new WaitForEventMetricValues(ClientMetrics.Dispatcher, NetworkMetricTypes.SceneEventReceived); - - // Load a scene to trigger the messages - StartServerLoadScene(); - - // Wait for the server to load the scene locally first. - yield return WaitForCondition(() => serverSceneLoaded); - Assert.IsTrue(serverSceneLoaded); - - yield return WaitForCondition(() => clientSceneLoaded); - Assert.IsTrue(clientSceneLoaded); - - // Now start the wait for the metric to be emitted when the message is received. - yield return waitForReceivedMetric.WaitForMetricsReceived(); - - var receivedMetrics = waitForReceivedMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, receivedMetrics.Count); - - var receivedMetric = receivedMetrics.First(); - Assert.AreEqual(SceneEventType.Load.ToString(), receivedMetric.SceneEventType); - Assert.AreEqual(Server.LocalClientId, receivedMetric.Connection.Id); - Assert.AreEqual(k_SimpleSceneName, receivedMetric.SceneName); - } - - [UnityTest] - public IEnumerator TestClientLoadCompleteSent() - { - // Register a callback so we can notify the test when the client has finished loading the scene locally - // as this is when the message is sent - var waitForClientLoadComplete = new WaitForSceneEvent( - m_ClientNetworkSceneManager, - SceneEventType.LoadComplete); - - var waitForSentMetric = new WaitForEventMetricValues(ClientMetrics.Dispatcher, NetworkMetricTypes.SceneEventSent); - - // Load a scene to trigger the messages - StartServerLoadScene(); - - - // Wait for the client to complete loading the scene locally - yield return waitForClientLoadComplete.Wait(); - Assert.IsTrue(waitForClientLoadComplete.Done); - - // Now start the wait for the metric to be emitted when the message is sent. - yield return waitForSentMetric.WaitForMetricsReceived(); - - var sentMetrics = waitForSentMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, sentMetrics.Count); - - var sentMetric = sentMetrics.First(); - Assert.AreEqual(SceneEventType.LoadComplete.ToString(), sentMetric.SceneEventType); - Assert.AreEqual(Server.LocalClientId, sentMetric.Connection.Id); - Assert.AreEqual(k_SimpleSceneName, sentMetric.SceneName); - } - - [UnityTest] - public IEnumerator TestC2SLoadCompleteReceived() - { - // Register a callback so we can notify the test when the client has finished loading the scene locally - // as this is when the message is sent - var waitForClientLoadComplete = new WaitForSceneEvent( - m_ClientNetworkSceneManager, - SceneEventType.LoadComplete); - - var waitForReceivedMetric = new WaitForEventMetricValues(ServerMetrics.Dispatcher, NetworkMetricTypes.SceneEventReceived); - - // Load a scene to trigger the messages - StartServerLoadScene(); - - - // Wait for the client to complete loading the scene locally - yield return waitForClientLoadComplete.Wait(); - Assert.IsTrue(waitForClientLoadComplete.Done); - - // Now start the wait for the metric to be emitted when the message is received - yield return waitForReceivedMetric.WaitForMetricsReceived(); - - var receivedMetrics = waitForReceivedMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, receivedMetrics.Count); - - var receivedMetric = receivedMetrics.First(); - Assert.AreEqual(SceneEventType.LoadComplete.ToString(), receivedMetric.SceneEventType); - Assert.AreEqual(Client.LocalClientId, receivedMetric.Connection.Id); - Assert.AreEqual(k_SimpleSceneName, receivedMetric.SceneName); - } - - [UnityTest] - public IEnumerator TestS2CLoadCompleteSent() - { - // Register a callback so we can notify the test when the server has finished loading the scene locally - // as this is when the message is sent - var waitForServerLoadComplete = new WaitForSceneEvent( - m_ServerNetworkSceneManager, - SceneEventType.LoadEventCompleted); - - var waitForSentMetric = new WaitForEventMetricValues( - ServerMetrics.Dispatcher, - NetworkMetricTypes.SceneEventSent, - metric => metric.SceneEventType.Equals(SceneEventType.LoadEventCompleted.ToString())); - - // Load a scene to trigger the messages - StartServerLoadScene(); - - // Wait for the server to complete loading the scene locally - yield return waitForServerLoadComplete.Wait(); - Assert.IsTrue(waitForServerLoadComplete.Done); - - // Now start the wait for the metric to be emitted when the message is sent - yield return waitForSentMetric.WaitForMetricsReceived(); - - var sentMetrics = waitForSentMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(Server.ConnectedClients.Count, sentMetrics.Count); - - var filteredSentMetrics = sentMetrics - .Where(metric => metric.SceneEventType == SceneEventType.LoadEventCompleted.ToString()) - .Where(metric => metric.SceneName == k_SimpleSceneName); - CollectionAssert.AreEquivalent(filteredSentMetrics.Select(x => x.Connection.Id), Server.ConnectedClients.Select(x => x.Key)); - } - - [UnityTest] - public IEnumerator TestS2CLoadCompleteReceived() - { - // Register a callback so we can notify the test when the server has finished loading the scene locally - // as this is when the message is sent - var waitForServerLoadComplete = new WaitForSceneEvent( - m_ServerNetworkSceneManager, - SceneEventType.LoadEventCompleted); - - var waitForReceivedMetric = new WaitForEventMetricValues( - ClientMetrics.Dispatcher, - NetworkMetricTypes.SceneEventReceived, - metric => metric.SceneEventType.Equals(SceneEventType.LoadEventCompleted.ToString())); - - // Load a scene to trigger the messages - StartServerLoadScene(); - - // Wait for the server to complete loading the scene locally - yield return waitForServerLoadComplete.Wait(); - Assert.IsTrue(waitForServerLoadComplete.Done); - - // Now start the wait for the metric to be emitted when the message is received - yield return waitForReceivedMetric.WaitForMetricsReceived(); - - var receivedMetrics = waitForReceivedMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, receivedMetrics.Count); - var receivedMetric = receivedMetrics.First(); - - Assert.AreEqual(SceneEventType.LoadEventCompleted.ToString(), receivedMetric.SceneEventType); - Assert.AreEqual(Server.LocalClientId, receivedMetric.Connection.Id); - Assert.AreEqual(k_SimpleSceneName, receivedMetric.SceneName); - } - - [UnityTest] - public IEnumerator TestS2CUnloadSent() - { - // Load a scene so that we can unload it - yield return LoadTestScene(k_SimpleSceneName, true); - - var serverSceneUnloaded = false; - // Register a callback so we can notify the test when the scene has finished unloading server side - // as this is when the message is sent - m_ServerNetworkSceneManager.OnSceneEvent += sceneEvent => - { - if (sceneEvent.SceneEventType.Equals(SceneEventType.UnloadComplete) && sceneEvent.ClientId == Server.LocalClientId) - { - serverSceneUnloaded = true; - } - }; - - var waitForSentMetric = new WaitForEventMetricValues( - ServerMetrics.Dispatcher, - NetworkMetricTypes.SceneEventSent, - metric => metric.SceneEventType.Equals(SceneEventType.Unload.ToString())); - - yield return s_DefaultWaitForTick; - // Unload the scene to trigger the messages - StartServerUnloadScene(); - - // Wait for the scene to unload locally - yield return WaitForCondition(() => serverSceneUnloaded); - Assert.IsTrue(serverSceneUnloaded); - - // Now wait for the metric to be emitted when the message is sent - yield return waitForSentMetric.WaitForMetricsReceived(); - - var sentMetrics = waitForSentMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, sentMetrics.Count); - - var sentMetric = sentMetrics.First(); - Assert.AreEqual(SceneEventType.Unload.ToString(), sentMetric.SceneEventType); - Assert.AreEqual(Client.LocalClientId, sentMetric.Connection.Id); - Assert.AreEqual(k_SimpleSceneName, sentMetric.SceneName); - } - - [UnityTest] - public IEnumerator TestS2CUnloadReceived() - { - // Load a scene so that we can unload it. - yield return LoadTestScene(k_SimpleSceneName); - - var serverSceneUnloaded = false; - - // Register a callback so we can notify the test when the scene has started to unload server side - // as this is when the message is sent - m_ServerNetworkSceneManager.OnSceneEvent += sceneEvent => - { - if (sceneEvent.SceneEventType.Equals(SceneEventType.Unload) && sceneEvent.ClientId == Server.LocalClientId) - { - serverSceneUnloaded = true; - } - }; - - var waitForReceivedMetric = new WaitForEventMetricValues( - ClientMetrics.Dispatcher, - NetworkMetricTypes.SceneEventReceived, - metric => metric.SceneEventType.Equals(SceneEventType.Unload.ToString())); - - // Unload the scene to trigger the messages - StartServerUnloadScene(); - - // Wait for the scene to unload locally - yield return WaitForCondition(() => serverSceneUnloaded); - Assert.IsTrue(serverSceneUnloaded); - - // Now wait for the metric to be emitted when the message is received - yield return waitForReceivedMetric.WaitForMetricsReceived(); - - var receivedMetrics = waitForReceivedMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, receivedMetrics.Count); - - var receivedMetric = receivedMetrics.First(); - Assert.AreEqual(SceneEventType.Unload.ToString(), receivedMetric.SceneEventType); - Assert.AreEqual(Server.LocalClientId, receivedMetric.Connection.Id); - Assert.AreEqual(k_SimpleSceneName, receivedMetric.SceneName); - } - - - - [UnityTest] - public IEnumerator TestC2SUnloadCompleteSent() - { - // Load a scene so that we can unload it - yield return LoadTestScene(k_SimpleSceneName, true); - - // Register a callback so we can notify the test when the scene has finished unloading client side - // as this is when the message is sent. - var waitForClientUnloadComplete = new WaitForSceneEvent( - m_ClientNetworkSceneManager, - SceneEventType.UnloadComplete); - - var waitForSentMetric = new WaitForEventMetricValues( - ClientMetrics.Dispatcher, - NetworkMetricTypes.SceneEventSent, - metric => metric.SceneEventType.Equals(SceneEventType.UnloadComplete.ToString())); - - // Unload a scene to trigger the messages - StartServerUnloadScene(); - - // Wait for the scene to complete unloading locally - yield return waitForClientUnloadComplete.Wait(); - Assert.IsTrue(waitForClientUnloadComplete.Done); - - // Now wait for the metric to be emitted when the message is sent - yield return waitForSentMetric.WaitForMetricsReceived(); - - var sentMetrics = waitForSentMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, sentMetrics.Count); - - var sentMetric = sentMetrics.First(); - Assert.AreEqual(SceneEventType.UnloadComplete.ToString(), sentMetric.SceneEventType); - Assert.AreEqual(Server.LocalClientId, sentMetric.Connection.Id); - Assert.AreEqual(k_SimpleSceneName, sentMetric.SceneName); - } - - [UnityTest] - public IEnumerator TestC2SUnloadCompleteReceived() - { - // Load a scene so that we can unload it - yield return LoadTestScene(k_SimpleSceneName, true); - - // Register a callback we can notify the test when the scene has finished unloading client side - // as this is when the message is sent - var waitForClientUnloadComplete = new WaitForSceneEvent( - m_ClientNetworkSceneManager, - SceneEventType.UnloadComplete); - - var waitForReceivedMetric = new WaitForEventMetricValues( - ServerMetrics.Dispatcher, - NetworkMetricTypes.SceneEventReceived, - metric => metric.SceneEventType.Equals(SceneEventType.UnloadComplete.ToString())); - - // Unload a scene to trigger the messages - StartServerUnloadScene(); - - //Wait for the scene to complete unloading locally - yield return waitForClientUnloadComplete.Wait(); - Assert.IsTrue(waitForClientUnloadComplete.Done); - - // Now wait for the metric to be emitted when the message is received - yield return waitForReceivedMetric.WaitForMetricsReceived(); - - var receivedMetrics = waitForReceivedMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, receivedMetrics.Count); - - var receivedMetric = receivedMetrics.First(); - Assert.AreEqual(SceneEventType.UnloadComplete.ToString(), receivedMetric.SceneEventType); - Assert.AreEqual(Client.LocalClientId, receivedMetric.Connection.Id); - Assert.AreEqual(k_SimpleSceneName, receivedMetric.SceneName); - } - - [UnityTest] - public IEnumerator TestS2CUnloadCompleteSent() - { - // Load a scene so that we can unload it - yield return LoadTestScene(k_SimpleSceneName); - - // Register a callback so we can notify the test when the scene has finished unloading server side - // as this is when the message is sent - var waitForServerUnloadComplete = new WaitForSceneEvent( - m_ServerNetworkSceneManager, - SceneEventType.UnloadEventCompleted); - - var waitForSentMetric = new WaitForEventMetricValues( - ServerMetrics.Dispatcher, - NetworkMetricTypes.SceneEventSent, - metric => metric.SceneEventType.Equals(SceneEventType.UnloadEventCompleted.ToString())); - - // Unload a scene to trigger the messages - StartServerUnloadScene(); - - // Wait for the scene to complete unloading locally - yield return waitForServerUnloadComplete.Wait(); - Assert.IsTrue(waitForServerUnloadComplete.Done); - - // Now wait for the metric to be emitted when the message is sent - yield return waitForSentMetric.WaitForMetricsReceived(); - - var sentMetrics = waitForSentMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(Server.ConnectedClients.Count, sentMetrics.Count); - - // This message is sent from the server to all connected clients including itself if it is a host, - // so iterate over the connected client list on the server to ensure that we have a 1-1 match of connected - // clients to sent metrics. - var filteredSentMetrics = sentMetrics - .Where(metric => metric.SceneEventType == SceneEventType.UnloadEventCompleted.ToString()) - .Where(metric => metric.SceneName == k_SimpleSceneName); - CollectionAssert.AreEquivalent(filteredSentMetrics.Select(x => x.Connection.Id), Server.ConnectedClients.Select(x => x.Key)); - } - - [UnityTest] - public IEnumerator TestS2CUnloadCompleteReceived() - { - // Load a scene so that we can unload it - yield return LoadTestScene(k_SimpleSceneName); - - // Register a callback so we can notify the test when the scene has finished unloading server side - // as this is when the message is sent - var waitForServerUnloadComplete = new WaitForSceneEvent( - m_ServerNetworkSceneManager, - SceneEventType.UnloadEventCompleted); - - var waitForReceivedMetric = new WaitForEventMetricValues( - ClientMetrics.Dispatcher, - NetworkMetricTypes.SceneEventReceived, - metric => metric.SceneEventType.Equals(SceneEventType.UnloadEventCompleted.ToString())); - - // Unload the scene to trigger the messages - StartServerUnloadScene(); - - // Wait for the scene to unload locally - yield return waitForServerUnloadComplete.Wait(); - Assert.IsTrue(waitForServerUnloadComplete.Done); - - // Now wait for the metric to be emitted when the message is received - yield return waitForReceivedMetric.WaitForMetricsReceived(); - - var receivedMetrics = waitForReceivedMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, receivedMetrics.Count); - var receivedMetric = receivedMetrics.First(); - - Assert.AreEqual(SceneEventType.UnloadEventCompleted.ToString(), receivedMetric.SceneEventType); - Assert.AreEqual(Server.LocalClientId, receivedMetric.Connection.Id); - Assert.AreEqual(k_SimpleSceneName, receivedMetric.SceneName); - } - - [UnityTest] - public IEnumerator TestS2CSyncSent() - { - // Register a callback so we can notify the test when the client and server have completed their sync - var waitForServerSyncComplete = new WaitForSceneEvent( - m_ServerNetworkSceneManager, - SceneEventType.SynchronizeComplete); - - var waitForSentMetric = new WaitForEventMetricValues( - ServerMetrics.Dispatcher, - NetworkMetricTypes.SceneEventSent, - metric => metric.SceneEventType.Equals(SceneEventType.Synchronize.ToString())); - - // To trigger a sync, we need to connect a new client to an already started server, so create a client - var newClient = CreateAndStartClient(); - - // Wait for the metric to be emitted when the server sends the sync message back to the client - yield return waitForSentMetric.WaitForMetricsReceived(); - - var sentMetrics = waitForSentMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, sentMetrics.Count); - - // Although the metric should have been emitted, wait for the sync to complete - // as the client/server IDs have not been fully initialized until this is done. - yield return waitForServerSyncComplete.Wait(); - Assert.IsTrue(waitForServerSyncComplete.Done); - - var sentMetric = sentMetrics.First(); - - Assert.AreEqual(SceneEventType.Synchronize.ToString(), sentMetric.SceneEventType); - Assert.AreEqual(newClient.LocalClientId, sentMetric.Connection.Id); - - NetcodeIntegrationTestHelpers.StopOneClient(newClient); - } - - [UnityTest] - public IEnumerator TestS2CSyncReceived() - { - // To trigger a sync, we need to connect a new client to an already started server, so create a client - var newClient = CreateAndStartClient(); - - // Now the client is started we can grab the NetworkMetrics field from it - var newClientMetrics = newClient.NetworkMetrics as NetworkMetrics; - - var waitForReceivedMetric = new WaitForEventMetricValues( - newClientMetrics.Dispatcher, - NetworkMetricTypes.SceneEventReceived, - metric => metric.SceneEventType.Equals(SceneEventType.Synchronize.ToString())); - - // Wait for the metric to be emitted when the message is received on the client from the server - yield return waitForReceivedMetric.WaitForMetricsReceived(); - - var receivedMetrics = waitForReceivedMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, receivedMetrics.Count); - var receivedMetric = receivedMetrics.First(); - - Assert.AreEqual(SceneEventType.Synchronize.ToString(), receivedMetric.SceneEventType); - Assert.AreEqual(Server.LocalClientId, receivedMetric.Connection.Id); - - NetcodeIntegrationTestHelpers.StopOneClient(newClient); - } - - [UnityTest] - public IEnumerator TestC2SSyncCompleteSent() - { - // To trigger a sync, we need to connect a new client to an already started server, so create a client - var newClient = CreateAndStartClient(); - - // Now the client is started we can grab the NetworkMetrics field from it - var newClientMetrics = newClient.NetworkMetrics as NetworkMetrics; - - var waitForSentMetric = new WaitForEventMetricValues( - newClientMetrics.Dispatcher, - NetworkMetricTypes.SceneEventSent, - metric => metric.SceneEventType.Equals(SceneEventType.SynchronizeComplete.ToString())); - - // Wait for the metric to be emitted when the client has completed the sync locally and sends the message - // to the server - yield return waitForSentMetric.WaitForMetricsReceived(); - - var sentMetrics = waitForSentMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, sentMetrics.Count); - var sentMetric = sentMetrics.First(); - - Assert.AreEqual(SceneEventType.SynchronizeComplete.ToString(), sentMetric.SceneEventType); - Assert.AreEqual(Server.LocalClientId, sentMetric.Connection.Id); - - NetcodeIntegrationTestHelpers.StopOneClient(newClient); - } - - [UnityTest] - public IEnumerator TestC2SSyncCompleteReceived() - { - var waitForReceivedMetric = new WaitForEventMetricValues( - ServerMetrics.Dispatcher, - NetworkMetricTypes.SceneEventReceived, - metric => metric.SceneEventType.Equals(SceneEventType.SynchronizeComplete.ToString())); - - // To trigger a sync, we need to connect a new client to an already started server, so create a client - var newClient = CreateAndStartClient(); - - // Wait for the metric to be emitted when the client has completed the sync locally and the message is - // received on the server - yield return waitForReceivedMetric.WaitForMetricsReceived(); - - var receivedMetrics = waitForReceivedMetric.AssertMetricValuesHaveBeenFound(); - Assert.AreEqual(1, receivedMetrics.Count); - - var receivedMetric = receivedMetrics.First(); - - Assert.AreEqual(SceneEventType.SynchronizeComplete.ToString(), receivedMetric.SceneEventType); - Assert.AreEqual(newClient.LocalClientId, receivedMetric.Connection.Id); - - NetcodeIntegrationTestHelpers.StopOneClient(newClient); - } - - // Create a new client to connect to an already started server to trigger a server sync. - private NetworkManager CreateAndStartClient() - { - NetcodeIntegrationTestHelpers.CreateNewClients(1, out var newClients); - var newClient = newClients[0]; - - // Set up the client so it has the same NetworkConfig as the server - newClient.NetworkConfig.EnableSceneManagement = true; - newClient.NetworkConfig.PlayerPrefab = m_PlayerPrefab; - - // Start the client to trigger the sync - newClient.StartClient(); - - return newClient; - } - - private void StartServerLoadScene() - { - var loadSceneResult = m_ServerNetworkSceneManager.LoadScene(k_SimpleSceneName, LoadSceneMode.Additive); - Assert.AreEqual(SceneEventProgressStatus.Started, loadSceneResult); - } - - private void StartServerUnloadScene() - { - if (m_LoadedScene.IsValid() && m_LoadedScene.isLoaded) - { - var unloadSceneResult = m_ServerNetworkSceneManager.UnloadScene(m_LoadedScene); - Assert.AreEqual(SceneEventProgressStatus.Started, unloadSceneResult); - } - } - - // Loads a scene, then waits for the client to notify the server - // that it has finished loading the scene, as this is the last thing that happens. - private IEnumerator LoadTestScene(string sceneName, bool waitForClient = false) - { - var sceneLoadComplete = false; - m_ClientNetworkSceneManager.OnSceneEvent += sceneEvent => - { - var clientIdToWaitFor = waitForClient == true ? m_ClientNetworkManagers[0].LocalClientId : m_ServerNetworkManager.LocalClientId; - if (sceneEvent.SceneEventType == SceneEventType.LoadComplete) - { - sceneLoadComplete = true; - } - }; - - var loadSceneResult = m_ServerNetworkSceneManager.LoadScene(sceneName, LoadSceneMode.Additive); - Assert.AreEqual(SceneEventProgressStatus.Started, loadSceneResult); - - yield return WaitForCondition(() => sceneLoadComplete); - - Assert.IsTrue(sceneLoadComplete); - } - - // Unloads a loaded scene. If the scene is not loaded, this is a no-op - private IEnumerator UnloadTestScene(Scene scene) - { - if (scene.isLoaded) - { - // This is called after everything is done and destroyed. - // Just use the normal scene manager to unload the scene. - var asyncResults = SceneManager.UnloadSceneAsync(scene); - yield return WaitForCondition(() => asyncResults.isDone); - - } - } - - private static IEnumerator WaitForCondition(Func condition) - { - yield return WaitForConditionOrTimeOut(condition); - } - - // Registers a callback for the client's NetworkSceneManager which will synchronize the scene handles from - // the server to the client. This only needs to be done in multi-instance unit tests as the client and the - // server share a (Unity) SceneManager. - private void RegisterLoadedSceneCallback(SceneEvent sceneEvent) - { - if (!sceneEvent.SceneEventType.Equals(SceneEventType.Load) || sceneEvent.ClientId != m_ServerNetworkManager.LocalClientId) - { - return; - } - - m_LoadedScene = SceneManager.GetSceneByName(sceneEvent.SceneName); - } - - private class WaitForSceneEvent - { - public WaitForSceneEvent(NetworkSceneManager sceneManager, SceneEventType sceneEventType) - { - sceneManager.OnSceneEvent += sceneEvent => - { - if (sceneEvent.SceneEventType == sceneEventType) - { - Done = true; - } - }; - } - - public bool Done { get; private set; } - - public IEnumerator Wait() - { - yield return WaitForCondition(() => Done); - } - } - } -} diff --git a/testproject-tools-integration/Assets/Tests/Runtime/SceneEventTests.cs.meta b/testproject-tools-integration/Assets/Tests/Runtime/SceneEventTests.cs.meta deleted file mode 100644 index fc0aaa1169..0000000000 --- a/testproject-tools-integration/Assets/Tests/Runtime/SceneEventTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 9ec83c68fbe2bf54896596ac2ca71f26 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/testproject-tools-integration/Assets/Tests/Runtime/testproject.toolsintegration.runtimetests.asmdef b/testproject-tools-integration/Assets/Tests/Runtime/testproject.toolsintegration.runtimetests.asmdef deleted file mode 100644 index c076a6d6a3..0000000000 --- a/testproject-tools-integration/Assets/Tests/Runtime/testproject.toolsintegration.runtimetests.asmdef +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "TestProject.ToolsIntegration.RuntimeTests", - "rootNamespace": "TestProject.ToolsIntegration.RuntimeTests", - "references": [ - "Unity.Netcode.Runtime", - "Unity.Multiplayer.MetricTypes", - "Unity.Multiplayer.NetStats", - "Unity.Multiplayer.Tools.MetricTypes", - "Unity.Multiplayer.Tools.NetStats", - "Unity.Collections", - "Unity.Netcode.TestHelpers.Runtime" - ], - "optionalUnityReferences": [ - "TestAssemblies" - ], - "versionDefines": [ - { - "name": "com.unity.multiplayer.tools", - "expression": "", - "define": "MULTIPLAYER_TOOLS" - }, - { - "name": "Unity", - "expression": "(0,2022.2.0a5)", - "define": "UNITY_UNET_PRESENT" - }, - { - "name": "com.unity.multiplayer.tools", - "expression": "1.0.0-pre.4", - "define": "MULTIPLAYER_TOOLS_1_0_0_PRE_4" - } - ] -} \ No newline at end of file diff --git a/testproject-tools-integration/Assets/Tests/Runtime/testproject.toolsintegration.runtimetests.asmdef.meta b/testproject-tools-integration/Assets/Tests/Runtime/testproject.toolsintegration.runtimetests.asmdef.meta deleted file mode 100644 index daef7e0b6a..0000000000 --- a/testproject-tools-integration/Assets/Tests/Runtime/testproject.toolsintegration.runtimetests.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: e99721187226b3c4da365db28d179f8b -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/testproject-tools-integration/Packages/manifest.json b/testproject-tools-integration/Packages/manifest.json deleted file mode 100644 index a3f60bc15a..0000000000 --- a/testproject-tools-integration/Packages/manifest.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "dependencies": { - "com.unity.ai.navigation": "2.0.5", - "com.unity.ide.rider": "3.0.34", - "com.unity.ide.visualstudio": "2.0.22", - "com.unity.multiplayer.center": "1.0.0", - "com.unity.multiplayer.tools": "2.2.3", - "com.unity.netcode.gameobjects": "file:../../com.unity.netcode.gameobjects", - "com.unity.test-framework": "1.4.6", - "com.unity.test-framework.performance": "3.0.3", - "com.unity.modules.accessibility": "1.0.0", - "com.unity.modules.ai": "1.0.0", - "com.unity.modules.androidjni": "1.0.0", - "com.unity.modules.animation": "1.0.0", - "com.unity.modules.assetbundle": "1.0.0", - "com.unity.modules.audio": "1.0.0", - "com.unity.modules.cloth": "1.0.0", - "com.unity.modules.director": "1.0.0", - "com.unity.modules.imageconversion": "1.0.0", - "com.unity.modules.imgui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.particlesystem": "1.0.0", - "com.unity.modules.physics": "1.0.0", - "com.unity.modules.physics2d": "1.0.0", - "com.unity.modules.screencapture": "1.0.0", - "com.unity.modules.terrain": "1.0.0", - "com.unity.modules.terrainphysics": "1.0.0", - "com.unity.modules.tilemap": "1.0.0", - "com.unity.modules.ui": "1.0.0", - "com.unity.modules.uielements": "1.0.0", - "com.unity.modules.umbra": "1.0.0", - "com.unity.modules.unityanalytics": "1.0.0", - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.modules.unitywebrequestassetbundle": "1.0.0", - "com.unity.modules.unitywebrequestaudio": "1.0.0", - "com.unity.modules.unitywebrequesttexture": "1.0.0", - "com.unity.modules.unitywebrequestwww": "1.0.0", - "com.unity.modules.vehicles": "1.0.0", - "com.unity.modules.video": "1.0.0", - "com.unity.modules.vr": "1.0.0", - "com.unity.modules.wind": "1.0.0", - "com.unity.modules.xr": "1.0.0" - }, - "testables": [ - "com.unity.netcode.gameobjects" - ] -} diff --git a/testproject-tools-integration/Packages/packages-lock.json b/testproject-tools-integration/Packages/packages-lock.json deleted file mode 100644 index 76d63d3876..0000000000 --- a/testproject-tools-integration/Packages/packages-lock.json +++ /dev/null @@ -1,408 +0,0 @@ -{ - "dependencies": { - "com.unity.ai.navigation": { - "version": "2.0.5", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.modules.ai": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.burst": { - "version": "1.8.18", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.mathematics": "1.2.1", - "com.unity.modules.jsonserialize": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.collections": { - "version": "2.5.1", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.burst": "1.8.17", - "com.unity.test-framework": "1.4.5", - "com.unity.nuget.mono-cecil": "1.11.4", - "com.unity.test-framework.performance": "3.0.3" - }, - "url": "https://packages.unity.com" - }, - "com.unity.ext.nunit": { - "version": "2.0.5", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.ide.rider": { - "version": "3.0.34", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.ext.nunit": "1.0.6" - }, - "url": "https://packages.unity.com" - }, - "com.unity.ide.visualstudio": { - "version": "2.0.22", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.test-framework": "1.1.9" - }, - "url": "https://packages.unity.com" - }, - "com.unity.mathematics": { - "version": "1.3.2", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.multiplayer.center": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.uielements": "1.0.0" - } - }, - "com.unity.multiplayer.tools": { - "version": "2.2.3", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.burst": "1.8.18", - "com.unity.collections": "2.5.1", - "com.unity.mathematics": "1.3.2", - "com.unity.profiling.core": "1.0.2", - "com.unity.nuget.mono-cecil": "1.11.4", - "com.unity.modules.uielements": "1.0.0", - "com.unity.nuget.newtonsoft-json": "3.2.1" - }, - "url": "https://packages.unity.com" - }, - "com.unity.netcode.gameobjects": { - "version": "file:../../com.unity.netcode.gameobjects", - "depth": 0, - "source": "local", - "dependencies": { - "com.unity.nuget.mono-cecil": "1.11.4", - "com.unity.transport": "2.4.0" - } - }, - "com.unity.nuget.mono-cecil": { - "version": "1.11.4", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.nuget.newtonsoft-json": { - "version": "3.2.1", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.profiling.core": { - "version": "1.0.2", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.test-framework": { - "version": "1.4.6", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.ext.nunit": "2.0.3", - "com.unity.modules.imgui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.test-framework.performance": { - "version": "3.0.3", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.test-framework": "1.1.31", - "com.unity.modules.jsonserialize": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.transport": { - "version": "2.4.0", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.burst": "1.8.12", - "com.unity.collections": "2.2.1", - "com.unity.mathematics": "1.3.1" - }, - "url": "https://packages.unity.com" - }, - "com.unity.modules.accessibility": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.ai": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.androidjni": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.animation": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.assetbundle": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.audio": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.cloth": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.physics": "1.0.0" - } - }, - "com.unity.modules.director": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.audio": "1.0.0", - "com.unity.modules.animation": "1.0.0" - } - }, - "com.unity.modules.hierarchycore": { - "version": "1.0.0", - "depth": 1, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.imageconversion": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.imgui": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.jsonserialize": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.particlesystem": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.physics": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.physics2d": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.screencapture": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.imageconversion": "1.0.0" - } - }, - "com.unity.modules.subsystems": { - "version": "1.0.0", - "depth": 1, - "source": "builtin", - "dependencies": { - "com.unity.modules.jsonserialize": "1.0.0" - } - }, - "com.unity.modules.terrain": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.terrainphysics": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.physics": "1.0.0", - "com.unity.modules.terrain": "1.0.0" - } - }, - "com.unity.modules.tilemap": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.physics2d": "1.0.0" - } - }, - "com.unity.modules.ui": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.uielements": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.ui": "1.0.0", - "com.unity.modules.imgui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.hierarchycore": "1.0.0" - } - }, - "com.unity.modules.umbra": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.unityanalytics": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0" - } - }, - "com.unity.modules.unitywebrequest": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.unitywebrequestassetbundle": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.assetbundle": "1.0.0", - "com.unity.modules.unitywebrequest": "1.0.0" - } - }, - "com.unity.modules.unitywebrequestaudio": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.modules.audio": "1.0.0" - } - }, - "com.unity.modules.unitywebrequesttexture": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.modules.imageconversion": "1.0.0" - } - }, - "com.unity.modules.unitywebrequestwww": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.modules.unitywebrequestassetbundle": "1.0.0", - "com.unity.modules.unitywebrequestaudio": "1.0.0", - "com.unity.modules.audio": "1.0.0", - "com.unity.modules.assetbundle": "1.0.0", - "com.unity.modules.imageconversion": "1.0.0" - } - }, - "com.unity.modules.vehicles": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.physics": "1.0.0" - } - }, - "com.unity.modules.video": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.audio": "1.0.0", - "com.unity.modules.ui": "1.0.0", - "com.unity.modules.unitywebrequest": "1.0.0" - } - }, - "com.unity.modules.vr": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.physics": "1.0.0", - "com.unity.modules.xr": "1.0.0" - } - }, - "com.unity.modules.wind": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, - "com.unity.modules.xr": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.physics": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.subsystems": "1.0.0" - } - } - } -} diff --git a/testproject-tools-integration/ProjectSettings/AudioManager.asset b/testproject-tools-integration/ProjectSettings/AudioManager.asset deleted file mode 100644 index df1e8090a2..0000000000 --- a/testproject-tools-integration/ProjectSettings/AudioManager.asset +++ /dev/null @@ -1,20 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!11 &1 -AudioManager: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Volume: 1 - Rolloff Scale: 1 - Doppler Factor: 1 - Default Speaker Mode: 2 - m_SampleRate: 0 - m_DSPBufferSize: 1024 - m_VirtualVoiceCount: 512 - m_RealVoiceCount: 32 - m_EnableOutputSuspension: 1 - m_SpatializerPlugin: - m_AmbisonicDecoderPlugin: - m_DisableAudio: 0 - m_VirtualizeEffects: 1 - m_RequestedDSPBufferSize: 0 diff --git a/testproject-tools-integration/ProjectSettings/ClusterInputManager.asset b/testproject-tools-integration/ProjectSettings/ClusterInputManager.asset deleted file mode 100644 index e7886b266a..0000000000 --- a/testproject-tools-integration/ProjectSettings/ClusterInputManager.asset +++ /dev/null @@ -1,6 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!236 &1 -ClusterInputManager: - m_ObjectHideFlags: 0 - m_Inputs: [] diff --git a/testproject-tools-integration/ProjectSettings/DynamicsManager.asset b/testproject-tools-integration/ProjectSettings/DynamicsManager.asset deleted file mode 100644 index abb382fcbb..0000000000 --- a/testproject-tools-integration/ProjectSettings/DynamicsManager.asset +++ /dev/null @@ -1,38 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!55 &1 -PhysicsManager: - m_ObjectHideFlags: 0 - serializedVersion: 13 - m_Gravity: {x: 0, y: -9.81, z: 0} - m_DefaultMaterial: {fileID: 0} - m_BounceThreshold: 2 - m_DefaultMaxDepenetrationVelocity: 10 - m_SleepThreshold: 0.005 - m_DefaultContactOffset: 0.01 - m_DefaultSolverIterations: 6 - m_DefaultSolverVelocityIterations: 1 - m_QueriesHitBackfaces: 0 - m_QueriesHitTriggers: 1 - m_EnableAdaptiveForce: 0 - m_ClothInterCollisionDistance: 0.1 - m_ClothInterCollisionStiffness: 0.2 - m_ContactsGeneration: 1 - m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff - m_AutoSimulation: 1 - m_AutoSyncTransforms: 0 - m_ReuseCollisionCallbacks: 0 - m_ClothInterCollisionSettingsToggle: 0 - m_ClothGravity: {x: 0, y: -9.81, z: 0} - m_ContactPairsMode: 0 - m_BroadphaseType: 0 - m_WorldBounds: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 250, y: 250, z: 250} - m_WorldSubdivisions: 8 - m_FrictionType: 0 - m_EnableEnhancedDeterminism: 0 - m_EnableUnifiedHeightmaps: 1 - m_ImprovedPatchFriction: 0 - m_SolverType: 0 - m_DefaultMaxAngularSpeed: 50 diff --git a/testproject-tools-integration/ProjectSettings/EditorBuildSettings.asset b/testproject-tools-integration/ProjectSettings/EditorBuildSettings.asset deleted file mode 100644 index 6e286b5e52..0000000000 --- a/testproject-tools-integration/ProjectSettings/EditorBuildSettings.asset +++ /dev/null @@ -1,14 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1045 &1 -EditorBuildSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Scenes: - - enabled: 1 - path: Assets/Scenes/SimpleScene.unity - guid: 1682ecc64d762504287d5a5002ba7c12 - - enabled: 1 - path: Assets/Scenes/EmptyScene.unity - guid: a2545a872c007404fbb6b0393ab74974 - m_configObjects: {} diff --git a/testproject-tools-integration/ProjectSettings/EditorSettings.asset b/testproject-tools-integration/ProjectSettings/EditorSettings.asset deleted file mode 100644 index db8991dd13..0000000000 --- a/testproject-tools-integration/ProjectSettings/EditorSettings.asset +++ /dev/null @@ -1,42 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!159 &1 -EditorSettings: - m_ObjectHideFlags: 0 - serializedVersion: 11 - m_SerializationMode: 2 - m_LineEndingsForNewScripts: 2 - m_DefaultBehaviorMode: 0 - m_PrefabRegularEnvironment: {fileID: 0} - m_PrefabUIEnvironment: {fileID: 0} - m_SpritePackerMode: 0 - m_SpritePackerPaddingPower: 1 - m_Bc7TextureCompressor: 0 - m_EtcTextureCompressorBehavior: 1 - m_EtcTextureFastCompressor: 1 - m_EtcTextureNormalCompressor: 2 - m_EtcTextureBestCompressor: 4 - m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp;java;cpp;c;mm;m;h - m_ProjectGenerationRootNamespace: - m_EnableTextureStreamingInEditMode: 1 - m_EnableTextureStreamingInPlayMode: 1 - m_AsyncShaderCompilation: 1 - m_CachingShaderPreprocessor: 1 - m_PrefabModeAllowAutoSave: 1 - m_EnterPlayModeOptionsEnabled: 0 - m_EnterPlayModeOptions: 3 - m_GameObjectNamingDigits: 1 - m_GameObjectNamingScheme: 0 - m_AssetNamingUsesSpace: 1 - m_UseLegacyProbeSampleCount: 0 - m_SerializeInlineMappingsOnOneLine: 1 - m_DisableCookiesInLightmapper: 0 - m_AssetPipelineMode: 1 - m_RefreshImportMode: 0 - m_CacheServerMode: 0 - m_CacheServerEndpoint: - m_CacheServerNamespacePrefix: default - m_CacheServerEnableDownload: 1 - m_CacheServerEnableUpload: 1 - m_CacheServerEnableAuth: 0 - m_CacheServerEnableTls: 0 diff --git a/testproject-tools-integration/ProjectSettings/GraphicsSettings.asset b/testproject-tools-integration/ProjectSettings/GraphicsSettings.asset deleted file mode 100644 index 6652e428d2..0000000000 --- a/testproject-tools-integration/ProjectSettings/GraphicsSettings.asset +++ /dev/null @@ -1,66 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!30 &1 -GraphicsSettings: - m_ObjectHideFlags: 0 - serializedVersion: 14 - m_Deferred: - m_Mode: 1 - m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} - m_DeferredReflections: - m_Mode: 1 - m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} - m_ScreenSpaceShadows: - m_Mode: 1 - m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} - m_LegacyDeferred: - m_Mode: 1 - m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} - m_DepthNormals: - m_Mode: 1 - m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} - m_MotionVectors: - m_Mode: 1 - m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} - m_LightHalo: - m_Mode: 1 - m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} - m_LensFlare: - m_Mode: 1 - m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} - m_VideoShadersIncludeMode: 2 - m_AlwaysIncludedShaders: - - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0} - m_PreloadedShaders: [] - m_PreloadShadersBatchTimeLimit: -1 - m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} - m_CustomRenderPipeline: {fileID: 0} - m_TransparencySortMode: 0 - m_TransparencySortAxis: {x: 0, y: 0, z: 1} - m_DefaultRenderingPath: 1 - m_DefaultMobileRenderingPath: 1 - m_TierSettings: [] - m_LightmapStripping: 0 - m_FogStripping: 0 - m_InstancingStripping: 0 - m_LightmapKeepPlain: 1 - m_LightmapKeepDirCombined: 1 - m_LightmapKeepDynamicPlain: 1 - m_LightmapKeepDynamicDirCombined: 1 - m_LightmapKeepShadowMask: 1 - m_LightmapKeepSubtractive: 1 - m_FogKeepLinear: 1 - m_FogKeepExp: 1 - m_FogKeepExp2: 1 - m_AlbedoSwatchInfos: [] - m_LightsUseLinearIntensity: 0 - m_LightsUseColorTemperature: 0 - m_DefaultRenderingLayerMask: 1 - m_LogWhenShaderIsCompiled: 0 - m_SRPDefaultSettings: {} diff --git a/testproject-tools-integration/ProjectSettings/InputManager.asset b/testproject-tools-integration/ProjectSettings/InputManager.asset deleted file mode 100644 index b00cb7976e..0000000000 --- a/testproject-tools-integration/ProjectSettings/InputManager.asset +++ /dev/null @@ -1,296 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!13 &1 -InputManager: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Axes: - - serializedVersion: 3 - m_Name: Horizontal - descriptiveName: - descriptiveNegativeName: - negativeButton: left - positiveButton: right - altNegativeButton: a - altPositiveButton: d - gravity: 3 - dead: 0.001 - sensitivity: 3 - snap: 1 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Vertical - descriptiveName: - descriptiveNegativeName: - negativeButton: down - positiveButton: up - altNegativeButton: s - altPositiveButton: w - gravity: 3 - dead: 0.001 - sensitivity: 3 - snap: 1 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire1 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: left ctrl - altNegativeButton: - altPositiveButton: mouse 0 - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire2 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: left alt - altNegativeButton: - altPositiveButton: mouse 1 - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire3 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: left shift - altNegativeButton: - altPositiveButton: mouse 2 - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Jump - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: space - altNegativeButton: - altPositiveButton: - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Mouse X - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: - altNegativeButton: - altPositiveButton: - gravity: 0 - dead: 0 - sensitivity: 0.1 - snap: 0 - invert: 0 - type: 1 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Mouse Y - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: - altNegativeButton: - altPositiveButton: - gravity: 0 - dead: 0 - sensitivity: 0.1 - snap: 0 - invert: 0 - type: 1 - axis: 1 - joyNum: 0 - - serializedVersion: 3 - m_Name: Mouse ScrollWheel - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: - altNegativeButton: - altPositiveButton: - gravity: 0 - dead: 0 - sensitivity: 0.1 - snap: 0 - invert: 0 - type: 1 - axis: 2 - joyNum: 0 - - serializedVersion: 3 - m_Name: Horizontal - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: - altNegativeButton: - altPositiveButton: - gravity: 0 - dead: 0.19 - sensitivity: 1 - snap: 0 - invert: 0 - type: 2 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Vertical - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: - altNegativeButton: - altPositiveButton: - gravity: 0 - dead: 0.19 - sensitivity: 1 - snap: 0 - invert: 1 - type: 2 - axis: 1 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire1 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: joystick button 0 - altNegativeButton: - altPositiveButton: - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire2 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: joystick button 1 - altNegativeButton: - altPositiveButton: - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire3 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: joystick button 2 - altNegativeButton: - altPositiveButton: - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Jump - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: joystick button 3 - altNegativeButton: - altPositiveButton: - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Submit - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: return - altNegativeButton: - altPositiveButton: joystick button 0 - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Submit - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: enter - altNegativeButton: - altPositiveButton: space - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Cancel - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: escape - altNegativeButton: - altPositiveButton: joystick button 1 - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - m_UsePhysicalKeys: 0 diff --git a/testproject-tools-integration/ProjectSettings/MemorySettings.asset b/testproject-tools-integration/ProjectSettings/MemorySettings.asset deleted file mode 100644 index 5b5facecac..0000000000 --- a/testproject-tools-integration/ProjectSettings/MemorySettings.asset +++ /dev/null @@ -1,35 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!387306366 &1 -MemorySettings: - m_ObjectHideFlags: 0 - m_EditorMemorySettings: - m_MainAllocatorBlockSize: -1 - m_ThreadAllocatorBlockSize: -1 - m_MainGfxBlockSize: -1 - m_ThreadGfxBlockSize: -1 - m_CacheBlockSize: -1 - m_TypetreeBlockSize: -1 - m_ProfilerBlockSize: -1 - m_ProfilerEditorBlockSize: -1 - m_BucketAllocatorGranularity: -1 - m_BucketAllocatorBucketsCount: -1 - m_BucketAllocatorBlockSize: -1 - m_BucketAllocatorBlockCount: -1 - m_ProfilerBucketAllocatorGranularity: -1 - m_ProfilerBucketAllocatorBucketsCount: -1 - m_ProfilerBucketAllocatorBlockSize: -1 - m_ProfilerBucketAllocatorBlockCount: -1 - m_TempAllocatorSizeMain: -1 - m_JobTempAllocatorBlockSize: -1 - m_BackgroundJobTempAllocatorBlockSize: -1 - m_JobTempAllocatorReducedBlockSize: -1 - m_TempAllocatorSizeGIBakingWorker: -1 - m_TempAllocatorSizeNavMeshWorker: -1 - m_TempAllocatorSizeAudioWorker: -1 - m_TempAllocatorSizeCloudWorker: -1 - m_TempAllocatorSizeGfx: -1 - m_TempAllocatorSizeJobWorker: -1 - m_TempAllocatorSizeBackgroundWorker: -1 - m_TempAllocatorSizePreloadManager: -1 - m_PlatformMemorySettings: {} diff --git a/testproject-tools-integration/ProjectSettings/NavMeshAreas.asset b/testproject-tools-integration/ProjectSettings/NavMeshAreas.asset deleted file mode 100644 index ad2654e02e..0000000000 --- a/testproject-tools-integration/ProjectSettings/NavMeshAreas.asset +++ /dev/null @@ -1,93 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!126 &1 -NavMeshProjectSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - areas: - - name: Walkable - cost: 1 - - name: Not Walkable - cost: 1 - - name: Jump - cost: 2 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - - name: - cost: 1 - m_LastAgentTypeID: -887442657 - m_Settings: - - serializedVersion: 2 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.75 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666667 - manualTileSize: 0 - tileSize: 256 - accuratePlacement: 0 - maxJobWorkers: 0 - preserveTilesOutsideBounds: 0 - debug: - m_Flags: 0 - m_SettingNames: - - Humanoid diff --git a/testproject-tools-integration/ProjectSettings/PackageManagerSettings.asset b/testproject-tools-integration/ProjectSettings/PackageManagerSettings.asset deleted file mode 100644 index cb821dde53..0000000000 --- a/testproject-tools-integration/ProjectSettings/PackageManagerSettings.asset +++ /dev/null @@ -1,35 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &1 -MonoBehaviour: - m_ObjectHideFlags: 61 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_EnablePreReleasePackages: 0 - m_EnablePackageDependencies: 0 - m_AdvancedSettingsExpanded: 1 - m_ScopedRegistriesSettingsExpanded: 1 - m_SeeAllPackageVersions: 0 - oneTimeWarningShown: 0 - m_Registries: - - m_Id: main - m_Name: - m_Url: https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-candidates - m_Scopes: [] - m_IsDefault: 1 - m_Capabilities: 0 - m_UserSelectedRegistryName: - m_UserAddingNewScopedRegistry: 0 - m_RegistryInfoDraft: - m_Modified: 0 - m_ErrorMessage: - m_UserModificationsInstanceId: -880 - m_OriginalInstanceId: -882 - m_LoadAssets: 0 diff --git a/testproject-tools-integration/ProjectSettings/Physics2DSettings.asset b/testproject-tools-integration/ProjectSettings/Physics2DSettings.asset deleted file mode 100644 index 34e8328332..0000000000 --- a/testproject-tools-integration/ProjectSettings/Physics2DSettings.asset +++ /dev/null @@ -1,56 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!19 &1 -Physics2DSettings: - m_ObjectHideFlags: 0 - serializedVersion: 5 - m_Gravity: {x: 0, y: -9.81} - m_DefaultMaterial: {fileID: 0} - m_VelocityIterations: 8 - m_PositionIterations: 3 - m_VelocityThreshold: 1 - m_MaxLinearCorrection: 0.2 - m_MaxAngularCorrection: 8 - m_MaxTranslationSpeed: 100 - m_MaxRotationSpeed: 360 - m_BaumgarteScale: 0.2 - m_BaumgarteTimeOfImpactScale: 0.75 - m_TimeToSleep: 0.5 - m_LinearSleepTolerance: 0.01 - m_AngularSleepTolerance: 2 - m_DefaultContactOffset: 0.01 - m_JobOptions: - serializedVersion: 2 - useMultithreading: 0 - useConsistencySorting: 0 - m_InterpolationPosesPerJob: 100 - m_NewContactsPerJob: 30 - m_CollideContactsPerJob: 100 - m_ClearFlagsPerJob: 200 - m_ClearBodyForcesPerJob: 200 - m_SyncDiscreteFixturesPerJob: 50 - m_SyncContinuousFixturesPerJob: 50 - m_FindNearestContactsPerJob: 100 - m_UpdateTriggerContactsPerJob: 100 - m_IslandSolverCostThreshold: 100 - m_IslandSolverBodyCostScale: 1 - m_IslandSolverContactCostScale: 10 - m_IslandSolverJointCostScale: 10 - m_IslandSolverBodiesPerJob: 50 - m_IslandSolverContactsPerJob: 50 - m_SimulationMode: 0 - m_QueriesHitTriggers: 1 - m_QueriesStartInColliders: 1 - m_CallbacksOnDisable: 1 - m_ReuseCollisionCallbacks: 0 - m_AutoSyncTransforms: 0 - m_AlwaysShowColliders: 0 - m_ShowColliderSleep: 1 - m_ShowColliderContacts: 0 - m_ShowColliderAABB: 0 - m_ContactArrowScale: 0.2 - m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} - m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} - m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} - m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} - m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/testproject-tools-integration/ProjectSettings/PresetManager.asset b/testproject-tools-integration/ProjectSettings/PresetManager.asset deleted file mode 100644 index 67a94daefe..0000000000 --- a/testproject-tools-integration/ProjectSettings/PresetManager.asset +++ /dev/null @@ -1,7 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1386491679 &1 -PresetManager: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_DefaultPresets: {} diff --git a/testproject-tools-integration/ProjectSettings/ProjectSettings.asset b/testproject-tools-integration/ProjectSettings/ProjectSettings.asset deleted file mode 100644 index 106944f0cc..0000000000 --- a/testproject-tools-integration/ProjectSettings/ProjectSettings.asset +++ /dev/null @@ -1,629 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!129 &1 -PlayerSettings: - m_ObjectHideFlags: 0 - serializedVersion: 23 - productGUID: 285f1beddbcafee49afc8151a497821f - AndroidProfiler: 0 - AndroidFilterTouchesWhenObscured: 0 - AndroidEnableSustainedPerformanceMode: 0 - defaultScreenOrientation: 4 - targetDevice: 2 - useOnDemandResources: 0 - accelerometerFrequency: 60 - companyName: DefaultCompany - productName: testproject-tools-integration - defaultCursor: {fileID: 0} - cursorHotspot: {x: 0, y: 0} - m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} - m_ShowUnitySplashScreen: 1 - m_ShowUnitySplashLogo: 1 - m_SplashScreenOverlayOpacity: 1 - m_SplashScreenAnimation: 1 - m_SplashScreenLogoStyle: 1 - m_SplashScreenDrawMode: 0 - m_SplashScreenBackgroundAnimationZoom: 1 - m_SplashScreenLogoAnimationZoom: 1 - m_SplashScreenBackgroundLandscapeAspect: 1 - m_SplashScreenBackgroundPortraitAspect: 1 - m_SplashScreenBackgroundLandscapeUvs: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - m_SplashScreenBackgroundPortraitUvs: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - m_SplashScreenLogos: [] - m_VirtualRealitySplashScreen: {fileID: 0} - m_HolographicTrackingLossScreen: {fileID: 0} - defaultScreenWidth: 1920 - defaultScreenHeight: 1080 - defaultScreenWidthWeb: 960 - defaultScreenHeightWeb: 600 - m_StereoRenderingPath: 0 - m_ActiveColorSpace: 0 - m_MTRendering: 1 - mipStripping: 0 - numberOfMipsStripped: 0 - m_StackTraceTypes: 010000000100000001000000010000000100000001000000 - iosShowActivityIndicatorOnLoading: -1 - androidShowActivityIndicatorOnLoading: -1 - iosUseCustomAppBackgroundBehavior: 0 - iosAllowHTTPDownload: 1 - allowedAutorotateToPortrait: 1 - allowedAutorotateToPortraitUpsideDown: 1 - allowedAutorotateToLandscapeRight: 1 - allowedAutorotateToLandscapeLeft: 1 - useOSAutorotation: 1 - use32BitDisplayBuffer: 1 - preserveFramebufferAlpha: 0 - disableDepthAndStencilBuffers: 0 - androidStartInFullscreen: 1 - androidRenderOutsideSafeArea: 1 - androidUseSwappy: 1 - androidBlitType: 0 - androidResizableWindow: 0 - androidDefaultWindowWidth: 1920 - androidDefaultWindowHeight: 1080 - androidMinimumWindowWidth: 400 - androidMinimumWindowHeight: 300 - androidFullscreenMode: 1 - defaultIsNativeResolution: 1 - macRetinaSupport: 1 - runInBackground: 1 - captureSingleScreen: 0 - muteOtherAudioSources: 0 - Prepare IOS For Recording: 0 - Force IOS Speakers When Recording: 0 - deferSystemGesturesMode: 0 - hideHomeButton: 0 - submitAnalytics: 1 - usePlayerLog: 1 - bakeCollisionMeshes: 0 - forceSingleInstance: 0 - useFlipModelSwapchain: 1 - resizableWindow: 0 - useMacAppStoreValidation: 0 - macAppStoreCategory: public.app-category.games - gpuSkinning: 0 - xboxPIXTextureCapture: 0 - xboxEnableAvatar: 0 - xboxEnableKinect: 0 - xboxEnableKinectAutoTracking: 0 - xboxEnableFitness: 0 - visibleInBackground: 1 - allowFullscreenSwitch: 1 - fullscreenMode: 1 - xboxSpeechDB: 0 - xboxEnableHeadOrientation: 0 - xboxEnableGuest: 0 - xboxEnablePIXSampling: 0 - metalFramebufferOnly: 0 - xboxOneResolution: 0 - xboxOneSResolution: 0 - xboxOneXResolution: 3 - xboxOneMonoLoggingLevel: 0 - xboxOneLoggingLevel: 1 - xboxOneDisableEsram: 0 - xboxOneEnableTypeOptimization: 0 - xboxOnePresentImmediateThreshold: 0 - switchQueueCommandMemory: 1048576 - switchQueueControlMemory: 16384 - switchQueueComputeMemory: 262144 - switchNVNShaderPoolsGranularity: 33554432 - switchNVNDefaultPoolsGranularity: 16777216 - switchNVNOtherPoolsGranularity: 16777216 - switchNVNMaxPublicTextureIDCount: 0 - switchNVNMaxPublicSamplerIDCount: 0 - stadiaPresentMode: 0 - stadiaTargetFramerate: 0 - vulkanNumSwapchainBuffers: 3 - vulkanEnableSetSRGBWrite: 0 - vulkanEnablePreTransform: 0 - vulkanEnableLateAcquireNextImage: 0 - vulkanEnableCommandBufferRecycling: 1 - m_SupportedAspectRatios: - 4:3: 1 - 5:4: 1 - 16:10: 1 - 16:9: 1 - Others: 1 - bundleVersion: 1.0 - preloadedAssets: [] - metroInputSource: 0 - wsaTransparentSwapchain: 0 - m_HolographicPauseOnTrackingLoss: 1 - xboxOneDisableKinectGpuReservation: 1 - xboxOneEnable7thCore: 1 - vrSettings: - enable360StereoCapture: 0 - isWsaHolographicRemotingEnabled: 0 - enableFrameTimingStats: 0 - useHDRDisplay: 0 - D3DHDRBitDepth: 0 - m_ColorGamuts: 00000000 - targetPixelDensity: 30 - resolutionScalingMode: 0 - androidSupportedAspectRatio: 1 - androidMaxAspectRatio: 2.1 - applicationIdentifier: {} - buildNumber: - Standalone: 0 - iPhone: 0 - tvOS: 0 - overrideDefaultApplicationIdentifier: 0 - AndroidBundleVersionCode: 1 - AndroidMinSdkVersion: 22 - AndroidTargetSdkVersion: 0 - AndroidPreferredInstallLocation: 1 - aotOptions: - stripEngineCode: 1 - iPhoneStrippingLevel: 0 - iPhoneScriptCallOptimization: 0 - ForceInternetPermission: 0 - ForceSDCardPermission: 0 - CreateWallpaper: 0 - APKExpansionFiles: 0 - keepLoadedShadersAlive: 0 - StripUnusedMeshComponents: 0 - VertexChannelCompressionMask: 4054 - iPhoneSdkVersion: 988 - iOSTargetOSVersionString: 11.0 - tvOSSdkVersion: 0 - tvOSRequireExtendedGameController: 0 - tvOSTargetOSVersionString: 11.0 - uIPrerenderedIcon: 0 - uIRequiresPersistentWiFi: 0 - uIRequiresFullScreen: 1 - uIStatusBarHidden: 1 - uIExitOnSuspend: 0 - uIStatusBarStyle: 0 - appleTVSplashScreen: {fileID: 0} - appleTVSplashScreen2x: {fileID: 0} - tvOSSmallIconLayers: [] - tvOSSmallIconLayers2x: [] - tvOSLargeIconLayers: [] - tvOSLargeIconLayers2x: [] - tvOSTopShelfImageLayers: [] - tvOSTopShelfImageLayers2x: [] - tvOSTopShelfImageWideLayers: [] - tvOSTopShelfImageWideLayers2x: [] - iOSLaunchScreenType: 0 - iOSLaunchScreenPortrait: {fileID: 0} - iOSLaunchScreenLandscape: {fileID: 0} - iOSLaunchScreenBackgroundColor: - serializedVersion: 2 - rgba: 0 - iOSLaunchScreenFillPct: 100 - iOSLaunchScreenSize: 100 - iOSLaunchScreenCustomXibPath: - iOSLaunchScreeniPadType: 0 - iOSLaunchScreeniPadImage: {fileID: 0} - iOSLaunchScreeniPadBackgroundColor: - serializedVersion: 2 - rgba: 0 - iOSLaunchScreeniPadFillPct: 100 - iOSLaunchScreeniPadSize: 100 - iOSLaunchScreeniPadCustomXibPath: - iOSLaunchScreenCustomStoryboardPath: - iOSLaunchScreeniPadCustomStoryboardPath: - iOSDeviceRequirements: [] - iOSURLSchemes: [] - macOSURLSchemes: [] - iOSBackgroundModes: 0 - iOSMetalForceHardShadows: 0 - metalEditorSupport: 1 - metalAPIValidation: 1 - iOSRenderExtraFrameOnPause: 0 - iosCopyPluginsCodeInsteadOfSymlink: 0 - appleDeveloperTeamID: - iOSManualSigningProvisioningProfileID: - tvOSManualSigningProvisioningProfileID: - iOSManualSigningProvisioningProfileType: 0 - tvOSManualSigningProvisioningProfileType: 0 - appleEnableAutomaticSigning: 0 - iOSRequireARKit: 0 - iOSAutomaticallyDetectAndAddCapabilities: 1 - appleEnableProMotion: 0 - shaderPrecisionModel: 0 - clonedFromGUID: 00000000000000000000000000000000 - templatePackageId: - templateDefaultScene: - useCustomMainManifest: 0 - useCustomLauncherManifest: 0 - useCustomMainGradleTemplate: 0 - useCustomLauncherGradleManifest: 0 - useCustomBaseGradleTemplate: 0 - useCustomGradlePropertiesTemplate: 0 - useCustomProguardFile: 0 - AndroidTargetArchitectures: 1 - AndroidTargetDevices: 0 - AndroidSplashScreenScale: 0 - androidSplashScreen: {fileID: 0} - AndroidKeystoreName: - AndroidKeyaliasName: - AndroidBuildApkPerCpuArchitecture: 0 - AndroidTVCompatibility: 0 - AndroidIsGame: 1 - AndroidEnableTango: 0 - androidEnableBanner: 1 - androidUseLowAccuracyLocation: 0 - androidUseCustomKeystore: 0 - m_AndroidBanners: - - width: 320 - height: 180 - banner: {fileID: 0} - androidGamepadSupportLevel: 0 - chromeosInputEmulation: 1 - AndroidMinifyWithR8: 0 - AndroidMinifyRelease: 0 - AndroidMinifyDebug: 0 - AndroidValidateAppBundleSize: 1 - AndroidAppBundleSizeToValidate: 150 - m_BuildTargetIcons: [] - m_BuildTargetPlatformIcons: [] - m_BuildTargetBatching: [] - m_BuildTargetGraphicsJobs: [] - m_BuildTargetGraphicsJobMode: [] - m_BuildTargetGraphicsAPIs: [] - m_BuildTargetVRSettings: [] - openGLRequireES31: 0 - openGLRequireES31AEP: 0 - openGLRequireES32: 0 - m_TemplateCustomTags: {} - mobileMTRendering: - Android: 1 - iPhone: 1 - tvOS: 1 - m_BuildTargetGroupLightmapEncodingQuality: [] - m_BuildTargetGroupLightmapSettings: [] - m_BuildTargetNormalMapEncoding: [] - m_BuildTargetDefaultTextureCompressionFormat: [] - playModeTestRunnerEnabled: 0 - runPlayModeTestAsEditModeTest: 0 - actionOnDotNetUnhandledException: 1 - enableInternalProfiler: 0 - logObjCUncaughtExceptions: 1 - enableCrashReportAPI: 0 - cameraUsageDescription: - locationUsageDescription: - microphoneUsageDescription: - bluetoothUsageDescription: - switchNMETAOverride: - switchNetLibKey: - switchSocketMemoryPoolSize: 6144 - switchSocketAllocatorPoolSize: 128 - switchSocketConcurrencyLimit: 14 - switchScreenResolutionBehavior: 2 - switchUseCPUProfiler: 0 - switchUseGOLDLinker: 0 - switchLTOSetting: 0 - switchApplicationID: 0x01004b9000490000 - switchNSODependencies: - switchTitleNames_0: - switchTitleNames_1: - switchTitleNames_2: - switchTitleNames_3: - switchTitleNames_4: - switchTitleNames_5: - switchTitleNames_6: - switchTitleNames_7: - switchTitleNames_8: - switchTitleNames_9: - switchTitleNames_10: - switchTitleNames_11: - switchTitleNames_12: - switchTitleNames_13: - switchTitleNames_14: - switchTitleNames_15: - switchPublisherNames_0: - switchPublisherNames_1: - switchPublisherNames_2: - switchPublisherNames_3: - switchPublisherNames_4: - switchPublisherNames_5: - switchPublisherNames_6: - switchPublisherNames_7: - switchPublisherNames_8: - switchPublisherNames_9: - switchPublisherNames_10: - switchPublisherNames_11: - switchPublisherNames_12: - switchPublisherNames_13: - switchPublisherNames_14: - switchPublisherNames_15: - switchIcons_0: {fileID: 0} - switchIcons_1: {fileID: 0} - switchIcons_2: {fileID: 0} - switchIcons_3: {fileID: 0} - switchIcons_4: {fileID: 0} - switchIcons_5: {fileID: 0} - switchIcons_6: {fileID: 0} - switchIcons_7: {fileID: 0} - switchIcons_8: {fileID: 0} - switchIcons_9: {fileID: 0} - switchIcons_10: {fileID: 0} - switchIcons_11: {fileID: 0} - switchIcons_12: {fileID: 0} - switchIcons_13: {fileID: 0} - switchIcons_14: {fileID: 0} - switchIcons_15: {fileID: 0} - switchSmallIcons_0: {fileID: 0} - switchSmallIcons_1: {fileID: 0} - switchSmallIcons_2: {fileID: 0} - switchSmallIcons_3: {fileID: 0} - switchSmallIcons_4: {fileID: 0} - switchSmallIcons_5: {fileID: 0} - switchSmallIcons_6: {fileID: 0} - switchSmallIcons_7: {fileID: 0} - switchSmallIcons_8: {fileID: 0} - switchSmallIcons_9: {fileID: 0} - switchSmallIcons_10: {fileID: 0} - switchSmallIcons_11: {fileID: 0} - switchSmallIcons_12: {fileID: 0} - switchSmallIcons_13: {fileID: 0} - switchSmallIcons_14: {fileID: 0} - switchSmallIcons_15: {fileID: 0} - switchManualHTML: - switchAccessibleURLs: - switchLegalInformation: - switchMainThreadStackSize: 1048576 - switchPresenceGroupId: - switchLogoHandling: 0 - switchReleaseVersion: 0 - switchDisplayVersion: 1.0.0 - switchStartupUserAccount: 0 - switchTouchScreenUsage: 0 - switchSupportedLanguagesMask: 0 - switchLogoType: 0 - switchApplicationErrorCodeCategory: - switchUserAccountSaveDataSize: 0 - switchUserAccountSaveDataJournalSize: 0 - switchApplicationAttribute: 0 - switchCardSpecSize: -1 - switchCardSpecClock: -1 - switchRatingsMask: 0 - switchRatingsInt_0: 0 - switchRatingsInt_1: 0 - switchRatingsInt_2: 0 - switchRatingsInt_3: 0 - switchRatingsInt_4: 0 - switchRatingsInt_5: 0 - switchRatingsInt_6: 0 - switchRatingsInt_7: 0 - switchRatingsInt_8: 0 - switchRatingsInt_9: 0 - switchRatingsInt_10: 0 - switchRatingsInt_11: 0 - switchRatingsInt_12: 0 - switchLocalCommunicationIds_0: - switchLocalCommunicationIds_1: - switchLocalCommunicationIds_2: - switchLocalCommunicationIds_3: - switchLocalCommunicationIds_4: - switchLocalCommunicationIds_5: - switchLocalCommunicationIds_6: - switchLocalCommunicationIds_7: - switchParentalControl: 0 - switchAllowsScreenshot: 1 - switchAllowsVideoCapturing: 1 - switchAllowsRuntimeAddOnContentInstall: 0 - switchDataLossConfirmation: 0 - switchUserAccountLockEnabled: 0 - switchSystemResourceMemory: 16777216 - switchSupportedNpadStyles: 22 - switchNativeFsCacheSize: 32 - switchIsHoldTypeHorizontal: 0 - switchSupportedNpadCount: 8 - switchSocketConfigEnabled: 0 - switchTcpInitialSendBufferSize: 32 - switchTcpInitialReceiveBufferSize: 64 - switchTcpAutoSendBufferSizeMax: 256 - switchTcpAutoReceiveBufferSizeMax: 256 - switchUdpSendBufferSize: 9 - switchUdpReceiveBufferSize: 42 - switchSocketBufferEfficiency: 4 - switchSocketInitializeEnabled: 1 - switchNetworkInterfaceManagerInitializeEnabled: 1 - switchPlayerConnectionEnabled: 1 - switchUseNewStyleFilepaths: 0 - switchUseMicroSleepForYield: 1 - switchMicroSleepForYieldTime: 25 - ps4NPAgeRating: 12 - ps4NPTitleSecret: - ps4NPTrophyPackPath: - ps4ParentalLevel: 11 - ps4ContentID: ED1633-NPXX51362_00-0000000000000000 - ps4Category: 0 - ps4MasterVersion: 01.00 - ps4AppVersion: 01.00 - ps4AppType: 0 - ps4ParamSfxPath: - ps4VideoOutPixelFormat: 0 - ps4VideoOutInitialWidth: 1920 - ps4VideoOutBaseModeInitialWidth: 1920 - ps4VideoOutReprojectionRate: 60 - ps4PronunciationXMLPath: - ps4PronunciationSIGPath: - ps4BackgroundImagePath: - ps4StartupImagePath: - ps4StartupImagesFolder: - ps4IconImagesFolder: - ps4SaveDataImagePath: - ps4SdkOverride: - ps4BGMPath: - ps4ShareFilePath: - ps4ShareOverlayImagePath: - ps4PrivacyGuardImagePath: - ps4ExtraSceSysFile: - ps4NPtitleDatPath: - ps4RemotePlayKeyAssignment: -1 - ps4RemotePlayKeyMappingDir: - ps4PlayTogetherPlayerCount: 0 - ps4EnterButtonAssignment: 2 - ps4ApplicationParam1: 0 - ps4ApplicationParam2: 0 - ps4ApplicationParam3: 0 - ps4ApplicationParam4: 0 - ps4DownloadDataSize: 0 - ps4GarlicHeapSize: 2048 - ps4ProGarlicHeapSize: 2560 - playerPrefsMaxSize: 32768 - ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ - ps4pnSessions: 1 - ps4pnPresence: 1 - ps4pnFriends: 1 - ps4pnGameCustomData: 1 - playerPrefsSupport: 0 - enableApplicationExit: 0 - resetTempFolder: 1 - restrictedAudioUsageRights: 0 - ps4UseResolutionFallback: 0 - ps4ReprojectionSupport: 0 - ps4UseAudio3dBackend: 0 - ps4UseLowGarlicFragmentationMode: 1 - ps4SocialScreenEnabled: 0 - ps4ScriptOptimizationLevel: 2 - ps4Audio3dVirtualSpeakerCount: 14 - ps4attribCpuUsage: 0 - ps4PatchPkgPath: - ps4PatchLatestPkgPath: - ps4PatchChangeinfoPath: - ps4PatchDayOne: 0 - ps4attribUserManagement: 0 - ps4attribMoveSupport: 0 - ps4attrib3DSupport: 0 - ps4attribShareSupport: 0 - ps4attribExclusiveVR: 0 - ps4disableAutoHideSplash: 0 - ps4videoRecordingFeaturesUsed: 0 - ps4contentSearchFeaturesUsed: 0 - ps4CompatibilityPS5: 0 - ps4GPU800MHz: 1 - ps4attribEyeToEyeDistanceSettingVR: 0 - ps4IncludedModules: [] - ps4attribVROutputEnabled: 0 - monoEnv: - splashScreenBackgroundSourceLandscape: {fileID: 0} - splashScreenBackgroundSourcePortrait: {fileID: 0} - blurSplashScreenBackground: 1 - spritePackerPolicy: - webGLMemorySize: 32 - webGLExceptionSupport: 1 - webGLNameFilesAsHashes: 0 - webGLDataCaching: 1 - webGLDebugSymbols: 0 - webGLEmscriptenArgs: - webGLModulesDirectory: - webGLTemplate: APPLICATION:Default - webGLAnalyzeBuildSize: 0 - webGLUseEmbeddedResources: 0 - webGLCompressionFormat: 0 - webGLWasmArithmeticExceptions: 0 - webGLLinkerTarget: 1 - webGLThreadsSupport: 0 - webGLDecompressionFallback: 0 - scriptingDefineSymbols: {} - additionalCompilerArguments: {} - platformArchitecture: {} - scriptingBackend: {} - il2cppCompilerConfiguration: {} - managedStrippingLevel: {} - incrementalIl2cppBuild: {} - suppressCommonWarnings: 1 - allowUnsafeCode: 0 - useDeterministicCompilation: 1 - enableRoslynAnalyzers: 1 - additionalIl2CppArgs: - scriptingRuntimeVersion: 1 - gcIncremental: 1 - assemblyVersionValidation: 1 - gcWBarrierValidation: 0 - apiCompatibilityLevelPerPlatform: {} - m_RenderingPath: 1 - m_MobileRenderingPath: 1 - metroPackageName: testproject-tools-integration - metroPackageVersion: - metroCertificatePath: - metroCertificatePassword: - metroCertificateSubject: - metroCertificateIssuer: - metroCertificateNotAfter: 0000000000000000 - metroApplicationDescription: testproject-tools-integration - wsaImages: {} - metroTileShortName: - metroTileShowName: 0 - metroMediumTileShowName: 0 - metroLargeTileShowName: 0 - metroWideTileShowName: 0 - metroSupportStreamingInstall: 0 - metroLastRequiredScene: 0 - metroDefaultTileSize: 1 - metroTileForegroundText: 2 - metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} - metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1} - metroSplashScreenUseBackgroundColor: 0 - platformCapabilities: {} - metroTargetDeviceFamilies: {} - metroFTAName: - metroFTAFileTypes: [] - metroProtocolName: - XboxOneProductId: - XboxOneUpdateKey: - XboxOneSandboxId: - XboxOneContentId: - XboxOneTitleId: - XboxOneSCId: - XboxOneGameOsOverridePath: - XboxOnePackagingOverridePath: - XboxOneAppManifestOverridePath: - XboxOneVersion: 1.0.0.0 - XboxOnePackageEncryption: 0 - XboxOnePackageUpdateGranularity: 2 - XboxOneDescription: - XboxOneLanguage: - - enus - XboxOneCapability: [] - XboxOneGameRating: {} - XboxOneIsContentPackage: 0 - XboxOneEnhancedXboxCompatibilityMode: 0 - XboxOneEnableGPUVariability: 1 - XboxOneSockets: {} - XboxOneSplashScreen: {fileID: 0} - XboxOneAllowedProductIds: [] - XboxOnePersistentLocalStorageSize: 0 - XboxOneXTitleMemory: 8 - XboxOneOverrideIdentityName: - XboxOneOverrideIdentityPublisher: - vrEditorSettings: {} - cloudServicesEnabled: {} - luminIcon: - m_Name: - m_ModelFolderPath: - m_PortalFolderPath: - luminCert: - m_CertPath: - m_SignPackage: 1 - luminIsChannelApp: 0 - luminVersion: - m_VersionCode: 1 - m_VersionName: - apiCompatibilityLevel: 6 - activeInputHandler: 0 - cloudProjectId: - framebufferDepthMemorylessMode: 0 - qualitySettingsNames: [] - projectName: - organizationId: - cloudEnabled: 0 - legacyClampBlendShapeWeights: 0 - playerDataPath: - forceSRGBBlit: 1 - virtualTexturingSupportEnabled: 0 - uploadClearedTextureDataAfterCreationFromScript: 0 diff --git a/testproject-tools-integration/ProjectSettings/ProjectVersion.txt b/testproject-tools-integration/ProjectSettings/ProjectVersion.txt deleted file mode 100644 index 307f912404..0000000000 --- a/testproject-tools-integration/ProjectSettings/ProjectVersion.txt +++ /dev/null @@ -1,2 +0,0 @@ -m_EditorVersion: 6000.0.38f1 -m_EditorVersionWithRevision: 6000.0.38f1 (82314a941f2d) diff --git a/testproject-tools-integration/ProjectSettings/QualitySettings.asset b/testproject-tools-integration/ProjectSettings/QualitySettings.asset deleted file mode 100644 index 70e3e0b460..0000000000 --- a/testproject-tools-integration/ProjectSettings/QualitySettings.asset +++ /dev/null @@ -1,242 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!47 &1 -QualitySettings: - m_ObjectHideFlags: 0 - serializedVersion: 5 - m_CurrentQuality: 5 - m_QualitySettings: - - serializedVersion: 2 - name: Very Low - pixelLightCount: 0 - shadows: 0 - shadowResolution: 0 - shadowProjection: 1 - shadowCascades: 1 - shadowDistance: 15 - shadowNearPlaneOffset: 3 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - shadowmaskMode: 0 - skinWeights: 1 - textureQuality: 1 - anisotropicTextures: 0 - antiAliasing: 0 - softParticles: 0 - softVegetation: 0 - realtimeReflectionProbes: 0 - billboardsFaceCameraPosition: 0 - vSyncCount: 0 - lodBias: 0.3 - maximumLODLevel: 0 - streamingMipmapsActive: 0 - streamingMipmapsAddAllCameras: 1 - streamingMipmapsMemoryBudget: 512 - streamingMipmapsRenderersPerFrame: 512 - streamingMipmapsMaxLevelReduction: 2 - streamingMipmapsMaxFileIORequests: 1024 - particleRaycastBudget: 4 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 16 - asyncUploadPersistentBuffer: 1 - resolutionScalingFixedDPIFactor: 1 - customRenderPipeline: {fileID: 0} - excludedTargetPlatforms: [] - - serializedVersion: 2 - name: Low - pixelLightCount: 0 - shadows: 0 - shadowResolution: 0 - shadowProjection: 1 - shadowCascades: 1 - shadowDistance: 20 - shadowNearPlaneOffset: 3 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - shadowmaskMode: 0 - skinWeights: 2 - textureQuality: 0 - anisotropicTextures: 0 - antiAliasing: 0 - softParticles: 0 - softVegetation: 0 - realtimeReflectionProbes: 0 - billboardsFaceCameraPosition: 0 - vSyncCount: 0 - lodBias: 0.4 - maximumLODLevel: 0 - streamingMipmapsActive: 0 - streamingMipmapsAddAllCameras: 1 - streamingMipmapsMemoryBudget: 512 - streamingMipmapsRenderersPerFrame: 512 - streamingMipmapsMaxLevelReduction: 2 - streamingMipmapsMaxFileIORequests: 1024 - particleRaycastBudget: 16 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 16 - asyncUploadPersistentBuffer: 1 - resolutionScalingFixedDPIFactor: 1 - customRenderPipeline: {fileID: 0} - excludedTargetPlatforms: [] - - serializedVersion: 2 - name: Medium - pixelLightCount: 1 - shadows: 1 - shadowResolution: 0 - shadowProjection: 1 - shadowCascades: 1 - shadowDistance: 20 - shadowNearPlaneOffset: 3 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - shadowmaskMode: 0 - skinWeights: 2 - textureQuality: 0 - anisotropicTextures: 1 - antiAliasing: 0 - softParticles: 0 - softVegetation: 0 - realtimeReflectionProbes: 0 - billboardsFaceCameraPosition: 0 - vSyncCount: 1 - lodBias: 0.7 - maximumLODLevel: 0 - streamingMipmapsActive: 0 - streamingMipmapsAddAllCameras: 1 - streamingMipmapsMemoryBudget: 512 - streamingMipmapsRenderersPerFrame: 512 - streamingMipmapsMaxLevelReduction: 2 - streamingMipmapsMaxFileIORequests: 1024 - particleRaycastBudget: 64 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 16 - asyncUploadPersistentBuffer: 1 - resolutionScalingFixedDPIFactor: 1 - customRenderPipeline: {fileID: 0} - excludedTargetPlatforms: [] - - serializedVersion: 2 - name: High - pixelLightCount: 2 - shadows: 2 - shadowResolution: 1 - shadowProjection: 1 - shadowCascades: 2 - shadowDistance: 40 - shadowNearPlaneOffset: 3 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - shadowmaskMode: 1 - skinWeights: 2 - textureQuality: 0 - anisotropicTextures: 1 - antiAliasing: 0 - softParticles: 0 - softVegetation: 1 - realtimeReflectionProbes: 1 - billboardsFaceCameraPosition: 1 - vSyncCount: 1 - lodBias: 1 - maximumLODLevel: 0 - streamingMipmapsActive: 0 - streamingMipmapsAddAllCameras: 1 - streamingMipmapsMemoryBudget: 512 - streamingMipmapsRenderersPerFrame: 512 - streamingMipmapsMaxLevelReduction: 2 - streamingMipmapsMaxFileIORequests: 1024 - particleRaycastBudget: 256 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 16 - asyncUploadPersistentBuffer: 1 - resolutionScalingFixedDPIFactor: 1 - customRenderPipeline: {fileID: 0} - excludedTargetPlatforms: [] - - serializedVersion: 2 - name: Very High - pixelLightCount: 3 - shadows: 2 - shadowResolution: 2 - shadowProjection: 1 - shadowCascades: 2 - shadowDistance: 70 - shadowNearPlaneOffset: 3 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - shadowmaskMode: 1 - skinWeights: 4 - textureQuality: 0 - anisotropicTextures: 2 - antiAliasing: 2 - softParticles: 1 - softVegetation: 1 - realtimeReflectionProbes: 1 - billboardsFaceCameraPosition: 1 - vSyncCount: 1 - lodBias: 1.5 - maximumLODLevel: 0 - streamingMipmapsActive: 0 - streamingMipmapsAddAllCameras: 1 - streamingMipmapsMemoryBudget: 512 - streamingMipmapsRenderersPerFrame: 512 - streamingMipmapsMaxLevelReduction: 2 - streamingMipmapsMaxFileIORequests: 1024 - particleRaycastBudget: 1024 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 16 - asyncUploadPersistentBuffer: 1 - resolutionScalingFixedDPIFactor: 1 - customRenderPipeline: {fileID: 0} - excludedTargetPlatforms: [] - - serializedVersion: 2 - name: Ultra - pixelLightCount: 4 - shadows: 2 - shadowResolution: 2 - shadowProjection: 1 - shadowCascades: 4 - shadowDistance: 150 - shadowNearPlaneOffset: 3 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - shadowmaskMode: 1 - skinWeights: 255 - textureQuality: 0 - anisotropicTextures: 2 - antiAliasing: 2 - softParticles: 1 - softVegetation: 1 - realtimeReflectionProbes: 1 - billboardsFaceCameraPosition: 1 - vSyncCount: 1 - lodBias: 2 - maximumLODLevel: 0 - streamingMipmapsActive: 0 - streamingMipmapsAddAllCameras: 1 - streamingMipmapsMemoryBudget: 512 - streamingMipmapsRenderersPerFrame: 512 - streamingMipmapsMaxLevelReduction: 2 - streamingMipmapsMaxFileIORequests: 1024 - particleRaycastBudget: 4096 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 16 - asyncUploadPersistentBuffer: 1 - resolutionScalingFixedDPIFactor: 1 - customRenderPipeline: {fileID: 0} - excludedTargetPlatforms: [] - m_PerPlatformDefaultQuality: - Android: 2 - CloudRendering: 5 - EmbeddedLinux: 5 - GameCoreScarlett: 5 - GameCoreXboxOne: 5 - Lumin: 5 - Nintendo Switch: 5 - PS4: 5 - PS5: 5 - Server: 5 - Stadia: 5 - Standalone: 5 - WebGL: 3 - Windows Store Apps: 5 - XboxOne: 5 - iPhone: 2 - tvOS: 2 diff --git a/testproject-tools-integration/ProjectSettings/TagManager.asset b/testproject-tools-integration/ProjectSettings/TagManager.asset deleted file mode 100644 index 1c92a7840e..0000000000 --- a/testproject-tools-integration/ProjectSettings/TagManager.asset +++ /dev/null @@ -1,43 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!78 &1 -TagManager: - serializedVersion: 2 - tags: [] - layers: - - Default - - TransparentFX - - Ignore Raycast - - - - Water - - UI - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - m_SortingLayers: - - name: Default - uniqueID: 0 - locked: 0 diff --git a/testproject-tools-integration/ProjectSettings/TimeManager.asset b/testproject-tools-integration/ProjectSettings/TimeManager.asset deleted file mode 100644 index 558a017e1f..0000000000 --- a/testproject-tools-integration/ProjectSettings/TimeManager.asset +++ /dev/null @@ -1,9 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!5 &1 -TimeManager: - m_ObjectHideFlags: 0 - Fixed Timestep: 0.02 - Maximum Allowed Timestep: 0.33333334 - m_TimeScale: 1 - Maximum Particle Timestep: 0.03 diff --git a/testproject-tools-integration/ProjectSettings/UnityConnectSettings.asset b/testproject-tools-integration/ProjectSettings/UnityConnectSettings.asset deleted file mode 100644 index 6125b308af..0000000000 --- a/testproject-tools-integration/ProjectSettings/UnityConnectSettings.asset +++ /dev/null @@ -1,35 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!310 &1 -UnityConnectSettings: - m_ObjectHideFlags: 0 - serializedVersion: 1 - m_Enabled: 0 - m_TestMode: 0 - m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events - m_EventUrl: https://cdp.cloud.unity3d.com/v1/events - m_ConfigUrl: https://config.uca.cloud.unity3d.com - m_DashboardUrl: https://dashboard.unity3d.com - m_TestInitMode: 0 - CrashReportingSettings: - m_EventUrl: https://perf-events.cloud.unity3d.com - m_Enabled: 0 - m_LogBufferSize: 10 - m_CaptureEditorExceptions: 1 - UnityPurchasingSettings: - m_Enabled: 0 - m_TestMode: 0 - UnityAnalyticsSettings: - m_Enabled: 0 - m_TestMode: 0 - m_InitializeOnStartup: 1 - UnityAdsSettings: - m_Enabled: 0 - m_InitializeOnStartup: 1 - m_TestMode: 0 - m_IosGameId: - m_AndroidGameId: - m_GameIds: {} - m_GameId: - PerformanceReportingSettings: - m_Enabled: 0 diff --git a/testproject-tools-integration/ProjectSettings/VFXManager.asset b/testproject-tools-integration/ProjectSettings/VFXManager.asset deleted file mode 100644 index 82b46d93b8..0000000000 --- a/testproject-tools-integration/ProjectSettings/VFXManager.asset +++ /dev/null @@ -1,15 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!937362698 &1 -VFXManager: - m_ObjectHideFlags: 0 - m_IndirectShader: {fileID: 0} - m_CopyBufferShader: {fileID: 0} - m_SortShader: {fileID: 0} - m_StripUpdateShader: {fileID: 0} - m_RenderPipeSettingsPath: - m_FixedTimeStep: 0.016666668 - m_MaxDeltaTime: 0.05 - m_CompiledVersion: 0 - m_RuntimeVersion: 0 - m_RuntimeResources: {fileID: 0} diff --git a/testproject-tools-integration/ProjectSettings/VersionControlSettings.asset b/testproject-tools-integration/ProjectSettings/VersionControlSettings.asset deleted file mode 100644 index dca288142f..0000000000 --- a/testproject-tools-integration/ProjectSettings/VersionControlSettings.asset +++ /dev/null @@ -1,8 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!890905787 &1 -VersionControlSettings: - m_ObjectHideFlags: 0 - m_Mode: Visible Meta Files - m_CollabEditorSettings: - inProgressEnabled: 1 diff --git a/testproject-tools-integration/ProjectSettings/boot.config b/testproject-tools-integration/ProjectSettings/boot.config deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics.meta b/testproject/Assets/Samples/Physics/PhysicsSample.meta similarity index 77% rename from com.unity.netcode.gameobjects/Tests/Runtime/Metrics.meta rename to testproject/Assets/Samples/Physics/PhysicsSample.meta index 11b63dac9f..f8fbca94fa 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/Metrics.meta +++ b/testproject/Assets/Samples/Physics/PhysicsSample.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4cd7fa97c73f3674b9cce18b1e0a6874 +guid: 9e48167ebb6bd5540a1b9eb1cf359775 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/testproject/Assets/Samples/Physics/PhysicsSample/LightingData.asset b/testproject/Assets/Samples/Physics/PhysicsSample/LightingData.asset new file mode 100644 index 0000000000..6866c0e915 Binary files /dev/null and b/testproject/Assets/Samples/Physics/PhysicsSample/LightingData.asset differ diff --git a/testproject-tools-integration/Assets/DefaultNetworkPrefabs.asset.meta b/testproject/Assets/Samples/Physics/PhysicsSample/LightingData.asset.meta similarity index 63% rename from testproject-tools-integration/Assets/DefaultNetworkPrefabs.asset.meta rename to testproject/Assets/Samples/Physics/PhysicsSample/LightingData.asset.meta index e9a18f4a91..7d022180a5 100644 --- a/testproject-tools-integration/Assets/DefaultNetworkPrefabs.asset.meta +++ b/testproject/Assets/Samples/Physics/PhysicsSample/LightingData.asset.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: aa206f49da0ee5e47b7f7847048209e2 +guid: 29d2c44a6e01063478e1b9a607c770c6 NativeFormatImporter: externalObjects: {} - mainObjectFileID: 11400000 + mainObjectFileID: 112000000 userData: assetBundleName: assetBundleVariant: diff --git a/testproject/Assets/Samples/Physics/PhysicsSample/ReflectionProbe-0.exr b/testproject/Assets/Samples/Physics/PhysicsSample/ReflectionProbe-0.exr new file mode 100644 index 0000000000..73bac30ef3 Binary files /dev/null and b/testproject/Assets/Samples/Physics/PhysicsSample/ReflectionProbe-0.exr differ diff --git a/testproject/Assets/Samples/Physics/PhysicsSample/ReflectionProbe-0.exr.meta b/testproject/Assets/Samples/Physics/PhysicsSample/ReflectionProbe-0.exr.meta new file mode 100644 index 0000000000..7803ed084d --- /dev/null +++ b/testproject/Assets/Samples/Physics/PhysicsSample/ReflectionProbe-0.exr.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: f2b15ba7b672e4846bd653be20c7d489 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 1 + seamlessCubemap: 1 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 0 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 2 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 100 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/TestHelpers.meta b/testproject/Assets/Scenes/SampleScene.meta similarity index 77% rename from com.unity.netcode.gameobjects/TestHelpers.meta rename to testproject/Assets/Scenes/SampleScene.meta index 52cc961d88..3c1200b671 100644 --- a/com.unity.netcode.gameobjects/TestHelpers.meta +++ b/testproject/Assets/Scenes/SampleScene.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d627e2fb516d92242a4930e5cd9291e3 +guid: c07594ceda5cd9d4887aa653a6dc5a05 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/testproject/Assets/Scenes/SampleScene/LightingData.asset b/testproject/Assets/Scenes/SampleScene/LightingData.asset new file mode 100644 index 0000000000..fd4cd58d9a Binary files /dev/null and b/testproject/Assets/Scenes/SampleScene/LightingData.asset differ diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics.meta b/testproject/Assets/Scenes/SampleScene/LightingData.asset.meta similarity index 52% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics.meta rename to testproject/Assets/Scenes/SampleScene/LightingData.asset.meta index 1e3c81867c..53d1892097 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/Metrics.meta +++ b/testproject/Assets/Scenes/SampleScene/LightingData.asset.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: ebacdb7d8cb876a43b4a908dd6d83aa9 -folderAsset: yes -DefaultImporter: +guid: 6c6756b3d6aa50248b97daa6cef80753 +NativeFormatImporter: externalObjects: {} + mainObjectFileID: 112000000 userData: assetBundleName: assetBundleVariant: diff --git a/testproject/Assets/Scenes/SampleScene/ReflectionProbe-0.exr b/testproject/Assets/Scenes/SampleScene/ReflectionProbe-0.exr new file mode 100644 index 0000000000..73bac30ef3 Binary files /dev/null and b/testproject/Assets/Scenes/SampleScene/ReflectionProbe-0.exr differ diff --git a/testproject/Assets/Scenes/SampleScene/ReflectionProbe-0.exr.meta b/testproject/Assets/Scenes/SampleScene/ReflectionProbe-0.exr.meta new file mode 100644 index 0000000000..d558288481 --- /dev/null +++ b/testproject/Assets/Scenes/SampleScene/ReflectionProbe-0.exr.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 0472d52de3d600846983f39d2f8663f9 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 1 + seamlessCubemap: 1 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 0 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 2 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 100 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime.meta b/testproject/Assets/Scenes/ZooSam.meta similarity index 77% rename from com.unity.netcode.gameobjects/TestHelpers/Runtime.meta rename to testproject/Assets/Scenes/ZooSam.meta index 6ffc9afebb..63a2788243 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime.meta +++ b/testproject/Assets/Scenes/ZooSam.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e9af0202c9057c944b67aad6e4cdac96 +guid: 32fb0648e881ae843a439b0ca686d3a6 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/testproject/Assets/Scenes/ZooSam/LightingData.asset b/testproject/Assets/Scenes/ZooSam/LightingData.asset new file mode 100644 index 0000000000..635239ea06 Binary files /dev/null and b/testproject/Assets/Scenes/ZooSam/LightingData.asset differ diff --git a/testproject/Assets/Scenes/ZooSam/LightingData.asset.meta b/testproject/Assets/Scenes/ZooSam/LightingData.asset.meta new file mode 100644 index 0000000000..7b0b92350d --- /dev/null +++ b/testproject/Assets/Scenes/ZooSam/LightingData.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4ac3c6a6e77b0234ab114d3c79575b8c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 112000000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/testproject/Assets/Scenes/ZooSam/ReflectionProbe-0.exr b/testproject/Assets/Scenes/ZooSam/ReflectionProbe-0.exr new file mode 100644 index 0000000000..0d310ee3eb Binary files /dev/null and b/testproject/Assets/Scenes/ZooSam/ReflectionProbe-0.exr differ diff --git a/testproject/Assets/Scenes/ZooSam/ReflectionProbe-0.exr.meta b/testproject/Assets/Scenes/ZooSam/ReflectionProbe-0.exr.meta new file mode 100644 index 0000000000..34adcde9d6 --- /dev/null +++ b/testproject/Assets/Scenes/ZooSam/ReflectionProbe-0.exr.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 138192721c6fad2409fc5c03d42e5a6d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 1 + seamlessCubemap: 1 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 0 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 2 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 100 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/testproject/Assets/Tests/Editor/TestProject.Editor.Tests.asmdef b/testproject/Assets/Tests/Editor/TestProject.Editor.Tests.asmdef new file mode 100644 index 0000000000..51aa4685de --- /dev/null +++ b/testproject/Assets/Tests/Editor/TestProject.Editor.Tests.asmdef @@ -0,0 +1,25 @@ +{ + "name": "TestProject.Editor.Tests", + "rootNamespace": "TestProject.EditorTests", + "references": [ + "Unity.Netcode.Runtime", + "Unity.Netcode.Editor", + "UnityEngine.TestRunner", + "UnityEditor.TestRunner" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": true, + "precompiledReferences": [ + "nunit.framework.dll" + ], + "autoReferenced": false, + "defineConstraints": [ + "UNITY_INCLUDE_TESTS" + ], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/testproject/Assets/Tests/Editor/testproject.editortests.asmdef.meta b/testproject/Assets/Tests/Editor/TestProject.Editor.Tests.asmdef.meta similarity index 100% rename from testproject/Assets/Tests/Editor/testproject.editortests.asmdef.meta rename to testproject/Assets/Tests/Editor/TestProject.Editor.Tests.asmdef.meta diff --git a/testproject/Assets/Tests/Editor/testproject.editortests.asmdef b/testproject/Assets/Tests/Editor/testproject.editortests.asmdef deleted file mode 100644 index 9495d3cc11..0000000000 --- a/testproject/Assets/Tests/Editor/testproject.editortests.asmdef +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "TestProject.EditorTests", - "rootNamespace": "TestProject.EditorTests", - "references": [ - "Unity.Netcode.Runtime", - "Unity.Netcode.Editor" - ], - "optionalUnityReferences": [ - "TestAssemblies" - ], - "includePlatforms": [ - "Editor" - ] -} \ No newline at end of file diff --git a/testproject/Assets/Tests/Manual/Scripts/IndependentMover.cs.meta b/testproject/Assets/Tests/Manual/Scripts/IndependentMover.cs.meta index 1e4e5b2879..987da76bf2 100644 --- a/testproject/Assets/Tests/Manual/Scripts/IndependentMover.cs.meta +++ b/testproject/Assets/Tests/Manual/Scripts/IndependentMover.cs.meta @@ -1,15 +1,2 @@ fileFormatVersion: 2 -<<<<<<< HEAD:com.unity.netcode.gameobjects/Runtime/SceneManagement/ScenesInBuild.cs.meta -guid: c4152da5a2f4e7746aecdcd815f6616b -======= -guid: c552ef0ccf6ff8148a9c9606e7d3fc15 ->>>>>>> test/AdditiveSceneLoading:testproject/Assets/Tests/Manual/Scripts/IndependentMover.cs.meta -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: +guid: c4152da5a2f4e7746aecdcd815f6616b \ No newline at end of file diff --git a/testproject/Assets/Tests/Runtime/MultiprocessRuntime.meta b/testproject/Assets/Tests/Runtime/MultiprocessRuntime.meta deleted file mode 100644 index 6fa880ab43..0000000000 --- a/testproject/Assets/Tests/Runtime/MultiprocessRuntime.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 41b26e96c04424a04bae450d789d5a7f -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/testproject/Assets/Tests/Runtime/testproject.runtimetests.asmdef b/testproject/Assets/Tests/Runtime/TestProject.Runtime.Tests.asmdef similarity index 90% rename from testproject/Assets/Tests/Runtime/testproject.runtimetests.asmdef rename to testproject/Assets/Tests/Runtime/TestProject.Runtime.Tests.asmdef index 17af49a925..f6cbbd7806 100644 --- a/testproject/Assets/Tests/Runtime/testproject.runtimetests.asmdef +++ b/testproject/Assets/Tests/Runtime/TestProject.Runtime.Tests.asmdef @@ -1,5 +1,5 @@ { - "name": "TestProject.RuntimeTests", + "name": "TestProject.Runtime.Tests", "rootNamespace": "TestProject.RuntimeTests", "references": [ "Unity.Netcode.Runtime", @@ -14,7 +14,8 @@ "Unity.Collections", "Unity.Mathematics", "UnityEngine.TestRunner", - "UnityEditor.TestRunner" + "UnityEditor.TestRunner", + "Unity.Netcode.Runtime.Tests" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/testproject/Assets/Tests/Runtime/testproject.runtimetests.asmdef.meta b/testproject/Assets/Tests/Runtime/TestProject.Runtime.Tests.asmdef.meta similarity index 100% rename from testproject/Assets/Tests/Runtime/testproject.runtimetests.asmdef.meta rename to testproject/Assets/Tests/Runtime/TestProject.Runtime.Tests.asmdef.meta