From 384f53ab2849ba7cc6409c87b1402731aabfc427 Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Tue, 21 Jun 2022 11:22:50 -0400 Subject: [PATCH 01/19] update timeout --- .../Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs index 5de5010e6c..7f8d80f0a7 100644 --- a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs +++ b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs @@ -27,7 +27,7 @@ public class TestCoordinator : NetworkBehaviour { public const int PerTestTimeoutSec = 5 * 60; // seconds - public const float MaxWaitTimeoutSec = 20; + public const float MaxWaitTimeoutSec = 60; private const char k_MethodFullNameSplitChar = '@'; private bool m_ShouldShutdown; From 958e2ec799e8d7242223069f2cc32620e64d5326 Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Tue, 21 Jun 2022 12:57:28 -0400 Subject: [PATCH 02/19] remote UNET --- .../Assets/Scenes/MultiprocessTestScene.unity | 118 +++++++++--------- 1 file changed, 57 insertions(+), 61 deletions(-) diff --git a/testproject/Assets/Scenes/MultiprocessTestScene.unity b/testproject/Assets/Scenes/MultiprocessTestScene.unity index 4751ea7612..8d7e6ba2c8 100644 --- a/testproject/Assets/Scenes/MultiprocessTestScene.unity +++ b/testproject/Assets/Scenes/MultiprocessTestScene.unity @@ -104,7 +104,7 @@ NavMeshSettings: serializedVersion: 2 m_ObjectHideFlags: 0 m_BuildSettings: - serializedVersion: 2 + serializedVersion: 3 agentTypeID: 0 agentRadius: 0.5 agentHeight: 2 @@ -117,7 +117,7 @@ NavMeshSettings: cellSize: 0.16666667 manualTileSize: 0 tileSize: 256 - accuratePlacement: 0 + buildHeightMesh: 0 maxJobWorkers: 0 preserveTilesOutsideBounds: 0 debug: @@ -212,6 +212,7 @@ Transform: 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 @@ -223,7 +224,7 @@ LightingSettings: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: - serializedVersion: 3 + serializedVersion: 6 m_GIWorkflowMode: 1 m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 0 @@ -236,7 +237,7 @@ LightingSettings: m_LightmapMaxSize: 1024 m_BakeResolution: 40 m_Padding: 2 - m_TextureCompression: 1 + m_LightmapCompression: 3 m_AO: 0 m_AOMaxDistance: 1 m_CompAOExponent: 1 @@ -263,7 +264,7 @@ LightingSettings: m_LightProbeSampleCountMultiplier: 4 m_PVRBounces: 2 m_PVRMinBounces: 2 - m_PVREnvironmentMIS: 1 + m_PVREnvironmentImportanceSampling: 1 m_PVRFilteringMode: 1 m_PVRDenoiserTypeDirect: 1 m_PVRDenoiserTypeIndirect: 1 @@ -277,6 +278,8 @@ LightingSettings: m_PVRFilteringAtrousPositionSigmaDirect: 0.5 m_PVRFilteringAtrousPositionSigmaIndirect: 2 m_PVRFilteringAtrousPositionSigmaAO: 1 + m_PVRTiledBaking: 0 + m_NumRaysToShootPerTexel: -1 --- !u!1 &160940364 GameObject: m_ObjectHideFlags: 0 @@ -304,9 +307,17 @@ SphereCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 160940364} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Radius: 0.5 m_Center: {x: 0, y: 0, z: 0} --- !u!23 &160940366 @@ -320,6 +331,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -368,6 +380,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -10, y: -10, z: -10} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_RootOrder: 5 @@ -438,6 +451,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -478,6 +492,7 @@ Transform: m_LocalRotation: {x: 0.2164396, y: 0, z: 0, w: 0.97629607} m_LocalPosition: {x: -45, y: 10, z: 10} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_RootOrder: 7 @@ -522,9 +537,17 @@ Camera: m_projectionMatrixMode: 1 m_GateFitMode: 2 m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 x: 0 @@ -561,6 +584,7 @@ Transform: m_LocalRotation: {x: 0.21736304, y: -0, z: -0, w: 0.97609085} m_LocalPosition: {x: 0, y: 9.15, z: -27.5} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 @@ -592,9 +616,17 @@ SphereCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 996484657} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Radius: 0.5 m_Center: {x: 0, y: 0, z: 0} --- !u!23 &996484659 @@ -608,6 +640,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -656,6 +689,7 @@ Transform: 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: 4 @@ -687,9 +721,17 @@ SphereCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1206022453} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Radius: 0.5 m_Center: {x: 0, y: 0, z: 0} --- !u!23 &1206022455 @@ -703,6 +745,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -751,6 +794,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 10, y: 10, z: 10} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_RootOrder: 3 @@ -787,7 +831,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: RunInBackground: 1 - LogLevel: 1 + LogLevel: 0 NetworkConfig: ProtocolVersion: 0 NetworkTransport: {fileID: 2027640073} @@ -825,8 +869,8 @@ Transform: 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: - - {fileID: 1674777072} - {fileID: 2027640072} m_Father: {fileID: 0} m_RootOrder: 2 @@ -901,6 +945,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 10, y: 10, z: 10} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_RootOrder: 6 @@ -917,56 +962,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ef1240e0784f84eadb77fe822e2e03c7, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &1674777071 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1674777072} - - component: {fileID: 1674777073} - m_Layer: 0 - m_Name: UNET - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1674777072 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1674777071} - 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_Children: [] - m_Father: {fileID: 1211923376} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1674777073 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1674777071} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b84c2d8dfe509a34fb59e2b81f8e1319, type: 3} - m_Name: - m_EditorClassIdentifier: - MessageBufferSize: 50000 - MaxConnections: 100 - MaxSentMessageQueueSize: 50000 - ConnectAddress: 127.0.0.1 - ConnectPort: 7777 - ServerListenPort: 7777 - MessageSendMode: 0 --- !u!1 &2027640071 GameObject: m_ObjectHideFlags: 0 @@ -994,6 +989,7 @@ Transform: 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: 1211923376} m_RootOrder: 1 From f8468e2412d77dcdf34749ede541ac615535311c Mon Sep 17 00:00:00 2001 From: Kitty Draper Date: Mon, 27 Jun 2022 15:38:35 -0500 Subject: [PATCH 03/19] fix: Stop populating ILPPMessageProvider with messages from outside the main runtime assembly --- .../Editor/CodeGen/INetworkMessageILPP.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/com.unity.netcode.gameobjects/Editor/CodeGen/INetworkMessageILPP.cs b/com.unity.netcode.gameobjects/Editor/CodeGen/INetworkMessageILPP.cs index a78a7e65ad..309e268ca9 100644 --- a/com.unity.netcode.gameobjects/Editor/CodeGen/INetworkMessageILPP.cs +++ b/com.unity.netcode.gameobjects/Editor/CodeGen/INetworkMessageILPP.cs @@ -18,8 +18,7 @@ internal sealed class INetworkMessageILPP : ILPPInterface public override ILPPInterface GetInstance() => this; public override bool WillProcess(ICompiledAssembly compiledAssembly) => - compiledAssembly.Name == CodeGenHelpers.RuntimeAssemblyName || - compiledAssembly.References.Any(filePath => Path.GetFileNameWithoutExtension(filePath) == CodeGenHelpers.RuntimeAssemblyName); + compiledAssembly.Name == CodeGenHelpers.RuntimeAssemblyName; private readonly List m_Diagnostics = new List(); From c9c1cb876f00b5cc099a6369009fcf4ef2d991d9 Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Fri, 15 Jul 2022 10:16:32 -0400 Subject: [PATCH 04/19] reset the changes to the scene --- .../Assets/Scenes/MultiprocessTestScene.unity | 118 +++++++++--------- 1 file changed, 61 insertions(+), 57 deletions(-) diff --git a/testproject/Assets/Scenes/MultiprocessTestScene.unity b/testproject/Assets/Scenes/MultiprocessTestScene.unity index 8d7e6ba2c8..4751ea7612 100644 --- a/testproject/Assets/Scenes/MultiprocessTestScene.unity +++ b/testproject/Assets/Scenes/MultiprocessTestScene.unity @@ -104,7 +104,7 @@ NavMeshSettings: serializedVersion: 2 m_ObjectHideFlags: 0 m_BuildSettings: - serializedVersion: 3 + serializedVersion: 2 agentTypeID: 0 agentRadius: 0.5 agentHeight: 2 @@ -117,7 +117,7 @@ NavMeshSettings: cellSize: 0.16666667 manualTileSize: 0 tileSize: 256 - buildHeightMesh: 0 + accuratePlacement: 0 maxJobWorkers: 0 preserveTilesOutsideBounds: 0 debug: @@ -212,7 +212,6 @@ Transform: 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 @@ -224,7 +223,7 @@ LightingSettings: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: - serializedVersion: 6 + serializedVersion: 3 m_GIWorkflowMode: 1 m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 0 @@ -237,7 +236,7 @@ LightingSettings: m_LightmapMaxSize: 1024 m_BakeResolution: 40 m_Padding: 2 - m_LightmapCompression: 3 + m_TextureCompression: 1 m_AO: 0 m_AOMaxDistance: 1 m_CompAOExponent: 1 @@ -264,7 +263,7 @@ LightingSettings: m_LightProbeSampleCountMultiplier: 4 m_PVRBounces: 2 m_PVRMinBounces: 2 - m_PVREnvironmentImportanceSampling: 1 + m_PVREnvironmentMIS: 1 m_PVRFilteringMode: 1 m_PVRDenoiserTypeDirect: 1 m_PVRDenoiserTypeIndirect: 1 @@ -278,8 +277,6 @@ LightingSettings: m_PVRFilteringAtrousPositionSigmaDirect: 0.5 m_PVRFilteringAtrousPositionSigmaIndirect: 2 m_PVRFilteringAtrousPositionSigmaAO: 1 - m_PVRTiledBaking: 0 - m_NumRaysToShootPerTexel: -1 --- !u!1 &160940364 GameObject: m_ObjectHideFlags: 0 @@ -307,17 +304,9 @@ SphereCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 160940364} m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 m_IsTrigger: 0 - m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 2 m_Radius: 0.5 m_Center: {x: 0, y: 0, z: 0} --- !u!23 &160940366 @@ -331,7 +320,6 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -380,7 +368,6 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -10, y: -10, z: -10} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_RootOrder: 5 @@ -451,7 +438,6 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -492,7 +478,6 @@ Transform: m_LocalRotation: {x: 0.2164396, y: 0, z: 0, w: 0.97629607} m_LocalPosition: {x: -45, y: 10, z: 10} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_RootOrder: 7 @@ -537,17 +522,9 @@ Camera: m_projectionMatrixMode: 1 m_GateFitMode: 2 m_FOVAxisMode: 0 - m_Iso: 200 - m_ShutterSpeed: 0.005 - m_Aperture: 16 - m_FocusDistance: 10 - m_FocalLength: 50 - m_BladeCount: 5 - m_Curvature: {x: 2, y: 11} - m_BarrelClipping: 0.25 - m_Anamorphism: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 x: 0 @@ -584,7 +561,6 @@ Transform: m_LocalRotation: {x: 0.21736304, y: -0, z: -0, w: 0.97609085} m_LocalPosition: {x: 0, y: 9.15, z: -27.5} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 @@ -616,17 +592,9 @@ SphereCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 996484657} m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 m_IsTrigger: 0 - m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 2 m_Radius: 0.5 m_Center: {x: 0, y: 0, z: 0} --- !u!23 &996484659 @@ -640,7 +608,6 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -689,7 +656,6 @@ Transform: 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: 4 @@ -721,17 +687,9 @@ SphereCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1206022453} m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 m_IsTrigger: 0 - m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 2 m_Radius: 0.5 m_Center: {x: 0, y: 0, z: 0} --- !u!23 &1206022455 @@ -745,7 +703,6 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -794,7 +751,6 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 10, y: 10, z: 10} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_RootOrder: 3 @@ -831,7 +787,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: RunInBackground: 1 - LogLevel: 0 + LogLevel: 1 NetworkConfig: ProtocolVersion: 0 NetworkTransport: {fileID: 2027640073} @@ -869,8 +825,8 @@ Transform: 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: + - {fileID: 1674777072} - {fileID: 2027640072} m_Father: {fileID: 0} m_RootOrder: 2 @@ -945,7 +901,6 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 10, y: 10, z: 10} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_RootOrder: 6 @@ -962,6 +917,56 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ef1240e0784f84eadb77fe822e2e03c7, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &1674777071 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1674777072} + - component: {fileID: 1674777073} + m_Layer: 0 + m_Name: UNET + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1674777072 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1674777071} + 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_Children: [] + m_Father: {fileID: 1211923376} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1674777073 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1674777071} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b84c2d8dfe509a34fb59e2b81f8e1319, type: 3} + m_Name: + m_EditorClassIdentifier: + MessageBufferSize: 50000 + MaxConnections: 100 + MaxSentMessageQueueSize: 50000 + ConnectAddress: 127.0.0.1 + ConnectPort: 7777 + ServerListenPort: 7777 + MessageSendMode: 0 --- !u!1 &2027640071 GameObject: m_ObjectHideFlags: 0 @@ -989,7 +994,6 @@ Transform: 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: 1211923376} m_RootOrder: 1 From 6ff8c7b6f2fbc736a42172c6cf5042c9851cbfaa Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Mon, 18 Jul 2022 10:31:51 -0400 Subject: [PATCH 05/19] Initialiize the Rawgithash variable for the local execution case --- .../Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs index 7f8d80f0a7..8a462f0f59 100644 --- a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs +++ b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs @@ -165,6 +165,7 @@ private async void ConfigureViaWebApi() private void ReadGitHashFile() { + Rawgithash = "uninitialized"; try { var githash_resource = Resources.Load("Text/githash"); From 76442896156bb875a453909739d42072ff5fc86f Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Mon, 18 Jul 2022 12:01:48 -0400 Subject: [PATCH 06/19] Add a little more logging and see if we can find why allactons hasn't been populated at the time the test runs --- .../Runtime/MultiprocessRuntime/TestCoordinator.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs index 8a462f0f59..15eca0ac76 100644 --- a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs +++ b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs @@ -217,12 +217,9 @@ private void SetAddressAndPort() public void Start() { - MultiprocessLogger.Log("Start"); - MultiprocessLogger.Log("Initialize All Steps"); + MultiprocessLogger.Log("Start - Initialize All Steps"); ExecuteStepInContext.InitializeAllSteps(); MultiprocessLogger.Log($"Initialize All Steps... done"); - MultiprocessLogger.Log($"IsInvoking: {NetworkManager.Singleton.IsInvoking()}"); - MultiprocessLogger.Log($"IsActiveAndEnabled: {NetworkManager.Singleton.isActiveAndEnabled}"); } public void Update() @@ -425,6 +422,7 @@ public void InvokeFromMethodActionRpc(Action methodInfo) public void TriggerActionIdClientRpc(string actionId, byte[] args, bool ignoreException, ClientRpcParams clientRpcParams = default) { MultiprocessLogger.Log($"received RPC from server, client side triggering action ID {actionId}"); + WriteLogServerRpc($"received RPC from server, client side triggering action ID {actionId} {ExecuteStepInContext.AllActions.Count}"); try { ExecuteStepInContext.AllActions[actionId].Invoke(args); @@ -520,5 +518,11 @@ public void WriteErrorServerRpc(string errorMessage, ServerRpcParams receivePara { MultiprocessLogger.LogError($"[Netcode-Server Sender={receiveParams.Receive.SenderClientId}] {errorMessage}"); } + + [ServerRpc(RequireOwnership = false)] + public void WriteLogServerRpc(string logMessage, ServerRpcParams receiveParams = default) + { + MultiprocessLogger.Log($"[Netcode-Server Sender={receiveParams.Receive.SenderClientId}] {logMessage}"); + } } From 5d519fcf30942dc31c68f7416748f7681f04502a Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Tue, 19 Jul 2022 10:11:02 -0400 Subject: [PATCH 07/19] Update the test to reduce the number of log messages as well as make the messages more informative --- .../Helpers/MultiprocessOrchestration.cs | 1 - .../Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs | 7 +++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/Helpers/MultiprocessOrchestration.cs b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/Helpers/MultiprocessOrchestration.cs index dd4c9af266..eda128b93a 100644 --- a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/Helpers/MultiprocessOrchestration.cs +++ b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/Helpers/MultiprocessOrchestration.cs @@ -66,7 +66,6 @@ public static int ActiveWorkerCount() if (s_Processes.Count > 0) { - MultiprocessLogger.Log($"s_Processes.Count is {s_Processes.Count}"); foreach (var p in s_Processes) { if ((p != null) && (!p.HasExited)) diff --git a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs index 15eca0ac76..dcec63236c 100644 --- a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs +++ b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs @@ -280,8 +280,11 @@ public void OnDisable() // Once we are connected, we can run the update method public void OnClientConnectedCallback(ulong clientId) { - MultiprocessLogger.Log("Client start callback, enabling behavior"); - enabled = true; + MultiprocessLogger.Log($"Client start callback, enabling behavior if needed, current state is {enabled} {clientId} {NetworkManager.Singleton.IsHost}/{NetworkManager.Singleton.IsClient}"); + if (enabled == false) + { + enabled = true; + } } private static void OnClientDisconnectCallback(ulong clientId) From 64064737f1be8397ab740d684c530a3858c8dd06 Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Tue, 19 Jul 2022 11:16:56 -0400 Subject: [PATCH 08/19] Lot when initlializatioon is complete --- .../Tests/Runtime/MultiprocessRuntime/ExecuteStepInContext.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/ExecuteStepInContext.cs b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/ExecuteStepInContext.cs index dcde9fdb50..5323d435e6 100644 --- a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/ExecuteStepInContext.cs +++ b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/ExecuteStepInContext.cs @@ -83,6 +83,7 @@ private static string GetMethodIdentifier(MethodBase callerMethod) internal static void InitializeAllSteps() { + MultiprocessLoger.Log("InitializeAllSteps - Start"); // registering magically all context based steps IsRegistering = true; var registeredMethods = typeof(TestCoordinator).Assembly.GetTypes().SelectMany(t => t.GetMethods()) @@ -147,6 +148,7 @@ object[] GetParameterValuesToPassFunc(ParameterInfo[] parameterInfo) IsRegistering = false; HasRegistered = true; + MultiprocessLoger.Log("InitializeAllSteps - Done"); } /// @@ -196,9 +198,11 @@ public ExecuteStepInContext(StepExecutionContext actionContext, Action s { Assert.That(AllActions, Does.Not.Contain(currentActionId)); // sanity check AllActions[currentActionId] = this; + MultiprocessLoger.Log($"InitializeAllSteps - Registering {currentActionId}"); } else { + MultiprocessLoger.Log($"InitializeAllSteps - Not Registering {currentActionId}"); if (shouldExecuteLocally) { m_StepToExecute.Invoke(paramToPass); From 00f9058c4c78bec1c910d93a16fc35eafcb6d8cc Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Tue, 19 Jul 2022 12:11:13 -0400 Subject: [PATCH 09/19] More logging clean up and adding information about registered test methods --- .../Runtime/MultiprocessRuntime/BaseMultiprocessTests.cs | 2 -- .../Runtime/MultiprocessRuntime/ExecuteStepInContext.cs | 9 +++++---- .../Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs | 1 - 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/BaseMultiprocessTests.cs b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/BaseMultiprocessTests.cs index b3579f21d4..c02fb55965 100644 --- a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/BaseMultiprocessTests.cs +++ b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/BaseMultiprocessTests.cs @@ -85,7 +85,6 @@ public virtual void SetupTestSuite() private void OnSceneLoaded(Scene scene, LoadSceneMode mode) { - MultiprocessLogger.Log($"OnSceneLoaded {scene.name}"); SceneManager.sceneLoaded -= OnSceneLoaded; if (scene.name == BuildMultiprocessTestPlayer.MainSceneName) { @@ -93,7 +92,6 @@ private void OnSceneLoaded(Scene scene, LoadSceneMode mode) } var transport = NetworkManager.Singleton.NetworkConfig.NetworkTransport; - MultiprocessLogger.Log($"transport is {transport}"); switch (transport) { #if UNITY_UNET_PRESENT diff --git a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/ExecuteStepInContext.cs b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/ExecuteStepInContext.cs index 5323d435e6..589e17a4f5 100644 --- a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/ExecuteStepInContext.cs +++ b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/ExecuteStepInContext.cs @@ -10,6 +10,7 @@ using UnityEngine; using UnityEngine.TestTools; using Debug = UnityEngine.Debug; +using Unity.Netcode.MultiprocessRuntimeTests; /// /// Allows for context based delegate execution. @@ -83,7 +84,7 @@ private static string GetMethodIdentifier(MethodBase callerMethod) internal static void InitializeAllSteps() { - MultiprocessLoger.Log("InitializeAllSteps - Start"); + MultiprocessLogger.Log("InitializeAllSteps - Start"); // registering magically all context based steps IsRegistering = true; var registeredMethods = typeof(TestCoordinator).Assembly.GetTypes().SelectMany(t => t.GetMethods()) @@ -148,7 +149,7 @@ object[] GetParameterValuesToPassFunc(ParameterInfo[] parameterInfo) IsRegistering = false; HasRegistered = true; - MultiprocessLoger.Log("InitializeAllSteps - Done"); + MultiprocessLogger.Log("InitializeAllSteps - Done"); } /// @@ -198,11 +199,11 @@ public ExecuteStepInContext(StepExecutionContext actionContext, Action s { Assert.That(AllActions, Does.Not.Contain(currentActionId)); // sanity check AllActions[currentActionId] = this; - MultiprocessLoger.Log($"InitializeAllSteps - Registering {currentActionId}"); + MultiprocessLogger.Log($"InitializeAllSteps - Registering {currentActionId}"); } else { - MultiprocessLoger.Log($"InitializeAllSteps - Not Registering {currentActionId}"); + MultiprocessLogger.Log($"InitializeAllSteps - Not Registering {currentActionId}"); if (shouldExecuteLocally) { m_StepToExecute.Invoke(paramToPass); diff --git a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs index dcec63236c..690b99b912 100644 --- a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs +++ b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs @@ -76,7 +76,6 @@ public void Awake() NetworkManager.OnClientConnectedCallback += OnClientConnectedCallback; s_ProcessId = Process.GetCurrentProcess().Id; - MultiprocessLogger.Log($"Awake {s_ProcessId}"); ReadGitHashFile(); // Configuration via command line (supported for many but not all platforms) From 9fbe89700c2ec3f386aa8b2a19719068eee84952 Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Tue, 19 Jul 2022 13:45:37 -0400 Subject: [PATCH 10/19] Move init all steps to Awake instead of Start, eventually need to figure out how to block initial connection until init all steps is done --- .../Runtime/MultiprocessRuntime/TestCoordinator.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs index 690b99b912..d848a25f87 100644 --- a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs +++ b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs @@ -75,6 +75,10 @@ public void Awake() enabled = false; NetworkManager.OnClientConnectedCallback += OnClientConnectedCallback; + MultiprocessLogger.Log("Start - Initialize All Steps"); + ExecuteStepInContext.InitializeAllSteps(); + MultiprocessLogger.Log($"Initialize All Steps... done"); + s_ProcessId = Process.GetCurrentProcess().Id; ReadGitHashFile(); @@ -216,9 +220,7 @@ private void SetAddressAndPort() public void Start() { - MultiprocessLogger.Log("Start - Initialize All Steps"); - ExecuteStepInContext.InitializeAllSteps(); - MultiprocessLogger.Log($"Initialize All Steps... done"); + } public void Update() @@ -279,7 +281,7 @@ public void OnDisable() // Once we are connected, we can run the update method public void OnClientConnectedCallback(ulong clientId) { - MultiprocessLogger.Log($"Client start callback, enabling behavior if needed, current state is {enabled} {clientId} {NetworkManager.Singleton.IsHost}/{NetworkManager.Singleton.IsClient}"); + MultiprocessLogger.Log($"Client start callback, enabling behavior if needed, enabled: {enabled} clientId: {clientId} {NetworkManager.Singleton.IsHost}/{NetworkManager.Singleton.IsClient} IsRegistering:{ExecuteStepInContext.IsRegistering}"); if (enabled == false) { enabled = true; From 8344d90a7887a0d1f52a3e6ca4b1d85c6b3ae55f Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Tue, 19 Jul 2022 14:03:15 -0400 Subject: [PATCH 11/19] Move init to Awake --- .../Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs index d848a25f87..485f3906d6 100644 --- a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs +++ b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs @@ -75,9 +75,8 @@ public void Awake() enabled = false; NetworkManager.OnClientConnectedCallback += OnClientConnectedCallback; - MultiprocessLogger.Log("Start - Initialize All Steps"); + MultiprocessLogger.Log("Awake - Initialize All Steps"); ExecuteStepInContext.InitializeAllSteps(); - MultiprocessLogger.Log($"Initialize All Steps... done"); s_ProcessId = Process.GetCurrentProcess().Id; ReadGitHashFile(); @@ -281,9 +280,9 @@ public void OnDisable() // Once we are connected, we can run the update method public void OnClientConnectedCallback(ulong clientId) { - MultiprocessLogger.Log($"Client start callback, enabling behavior if needed, enabled: {enabled} clientId: {clientId} {NetworkManager.Singleton.IsHost}/{NetworkManager.Singleton.IsClient} IsRegistering:{ExecuteStepInContext.IsRegistering}"); if (enabled == false) { + MultiprocessLogger.Log($"OnClientConnectedCallback enabling behavior clientId: {clientId} {NetworkManager.Singleton.IsHost}/{NetworkManager.Singleton.IsClient} IsRegistering:{ExecuteStepInContext.IsRegistering}"); enabled = true; } } From a7b3709569862ebac5239d8f398bccf1b65f4ca0 Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Tue, 19 Jul 2022 14:50:13 -0400 Subject: [PATCH 12/19] Fix missing log message in TestCoordinator Start method --- .../Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs index 485f3906d6..499e011aae 100644 --- a/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs +++ b/testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs @@ -219,7 +219,7 @@ private void SetAddressAndPort() public void Start() { - + MultiprocessLogger.Log($"TestCoordinator - Start"); } public void Update() From c43622b0f09995a0fe7178da7fb0acb3b142cb81 Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Tue, 19 Jul 2022 15:43:35 -0400 Subject: [PATCH 13/19] Use GPU for Ubuntu image --- .yamato/multiprocess-project-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.yamato/multiprocess-project-tests.yml b/.yamato/multiprocess-project-tests.yml index 04d365176c..7e7f41fb46 100644 --- a/.yamato/multiprocess-project-tests.yml +++ b/.yamato/multiprocess-project-tests.yml @@ -8,7 +8,7 @@ singlenode_multiprocess_test_testproject_{{ editor }}_{{ platform.name }}: name : Multiprocess Tests - {{ editor }} on {{ platform.name }} agent: - type: {{ platform.type }} + type: {{ platform.type }}{% if platform.name == "ubuntu" %}::GPU{% endif %} image: {{ platform.image }} flavor: {{ platform.flavor}} commands: From 245bcfd9a2589f14e653e5d8cb05d02e7e5d9fe6 Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Tue, 19 Jul 2022 17:03:12 -0400 Subject: [PATCH 14/19] Remove the nographics requirement and see if we can stabilize 2022.2 --- .yamato/multiprocess-project-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.yamato/multiprocess-project-tests.yml b/.yamato/multiprocess-project-tests.yml index 7e7f41fb46..9b91472355 100644 --- a/.yamato/multiprocess-project-tests.yml +++ b/.yamato/multiprocess-project-tests.yml @@ -16,7 +16,7 @@ singlenode_multiprocess_test_testproject_{{ editor }}_{{ platform.name }}: {% if editor != "trunk" %} - unity-downloader-cli -u {{ editor }} -c editor -w --fast - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr{% if platform.name == "win" %}.bat --output utr.bat{% endif %}{% if platform.name != "win" %} --output utr && chmod +x ./utr{% endif %} - - {{ platform.editorpath }} -projectpath testproject -batchmode -nographics -quit -logfile BuildMultiprocessTestPlayer.log -executeMethod Unity.Netcode.MultiprocessRuntimeTests.BuildMultiprocessTestPlayer.BuildRelease + - {{ platform.editorpath }} -projectpath testproject -batchmode -quit -logfile BuildMultiprocessTestPlayer.log -executeMethod Unity.Netcode.MultiprocessRuntimeTests.BuildMultiprocessTestPlayer.BuildRelease {% if platform.name == "mac" %} - sudo codesign --force --deep --sign - ./testproject/Builds/MultiprocessTests/MultiprocessTestPlayer.app{% endif %} - {{ platform.utr }} --suite=playmode --testproject=testproject --editor-location=.Editor --testfilter=Unity.Netcode.MultiprocessRuntimeTests --extra-editor-arg=-bypassIgnoreUTR {% endif %} From 9da0840ce81f40ea7664304bef6a096e4fc0a1d3 Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Wed, 20 Jul 2022 19:35:24 -0400 Subject: [PATCH 15/19] Use -nographics and don't request a GPU for Linux --- .yamato/multiprocess-project-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.yamato/multiprocess-project-tests.yml b/.yamato/multiprocess-project-tests.yml index 9b91472355..04d365176c 100644 --- a/.yamato/multiprocess-project-tests.yml +++ b/.yamato/multiprocess-project-tests.yml @@ -8,7 +8,7 @@ singlenode_multiprocess_test_testproject_{{ editor }}_{{ platform.name }}: name : Multiprocess Tests - {{ editor }} on {{ platform.name }} agent: - type: {{ platform.type }}{% if platform.name == "ubuntu" %}::GPU{% endif %} + type: {{ platform.type }} image: {{ platform.image }} flavor: {{ platform.flavor}} commands: @@ -16,7 +16,7 @@ singlenode_multiprocess_test_testproject_{{ editor }}_{{ platform.name }}: {% if editor != "trunk" %} - unity-downloader-cli -u {{ editor }} -c editor -w --fast - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr{% if platform.name == "win" %}.bat --output utr.bat{% endif %}{% if platform.name != "win" %} --output utr && chmod +x ./utr{% endif %} - - {{ platform.editorpath }} -projectpath testproject -batchmode -quit -logfile BuildMultiprocessTestPlayer.log -executeMethod Unity.Netcode.MultiprocessRuntimeTests.BuildMultiprocessTestPlayer.BuildRelease + - {{ platform.editorpath }} -projectpath testproject -batchmode -nographics -quit -logfile BuildMultiprocessTestPlayer.log -executeMethod Unity.Netcode.MultiprocessRuntimeTests.BuildMultiprocessTestPlayer.BuildRelease {% if platform.name == "mac" %} - sudo codesign --force --deep --sign - ./testproject/Builds/MultiprocessTests/MultiprocessTestPlayer.app{% endif %} - {{ platform.utr }} --suite=playmode --testproject=testproject --editor-location=.Editor --testfilter=Unity.Netcode.MultiprocessRuntimeTests --extra-editor-arg=-bypassIgnoreUTR {% endif %} From b4f6d1a77f39f67cf72e25b28a02dbb8b01ea578 Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Wed, 20 Jul 2022 20:43:37 -0400 Subject: [PATCH 16/19] try to use ubuntu-20 and see if this is more stable --- .yamato/project.metafile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.yamato/project.metafile b/.yamato/project.metafile index 4cc5a0efe2..fb41ee908a 100644 --- a/.yamato/project.metafile +++ b/.yamato/project.metafile @@ -22,7 +22,7 @@ test_platforms: utr: ./utr - name: ubuntu type: Unity::VM - image: package-ci/ubuntu:stable + image: package-ci/ubuntu-20:stable flavor: b1.large pathsep: / standalone: StandaloneLinux64 @@ -72,4 +72,4 @@ scripting_backends: - il2cpp # Images with build-tools installed required for Standalone Tests - IL2CPP -win_il2cpp_test_image: dots-player/windows10:latest \ No newline at end of file +win_il2cpp_test_image: dots-player/windows10:latest From 13d702096792bfb227c0a6c8ad8bc622e5285d3e Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Thu, 21 Jul 2022 08:55:05 -0400 Subject: [PATCH 17/19] Use GPU for Linux and use Ubuntu 18 --- .yamato/multiprocess-project-tests.yml | 2 +- .yamato/project.metafile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.yamato/multiprocess-project-tests.yml b/.yamato/multiprocess-project-tests.yml index 04d365176c..7e7f41fb46 100644 --- a/.yamato/multiprocess-project-tests.yml +++ b/.yamato/multiprocess-project-tests.yml @@ -8,7 +8,7 @@ singlenode_multiprocess_test_testproject_{{ editor }}_{{ platform.name }}: name : Multiprocess Tests - {{ editor }} on {{ platform.name }} agent: - type: {{ platform.type }} + type: {{ platform.type }}{% if platform.name == "ubuntu" %}::GPU{% endif %} image: {{ platform.image }} flavor: {{ platform.flavor}} commands: diff --git a/.yamato/project.metafile b/.yamato/project.metafile index fb41ee908a..dd8704b1f1 100644 --- a/.yamato/project.metafile +++ b/.yamato/project.metafile @@ -22,7 +22,7 @@ test_platforms: utr: ./utr - name: ubuntu type: Unity::VM - image: package-ci/ubuntu-20:stable + image: package-ci/ubuntu:stable flavor: b1.large pathsep: / standalone: StandaloneLinux64 From 013372c9c8a63602b581264b03cbe0606f5ce80a Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Thu, 21 Jul 2022 19:47:30 -0400 Subject: [PATCH 18/19] Remove nographics again as it clearly makes an improvement --- .yamato/multiprocess-project-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.yamato/multiprocess-project-tests.yml b/.yamato/multiprocess-project-tests.yml index 7e7f41fb46..9b91472355 100644 --- a/.yamato/multiprocess-project-tests.yml +++ b/.yamato/multiprocess-project-tests.yml @@ -16,7 +16,7 @@ singlenode_multiprocess_test_testproject_{{ editor }}_{{ platform.name }}: {% if editor != "trunk" %} - unity-downloader-cli -u {{ editor }} -c editor -w --fast - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr{% if platform.name == "win" %}.bat --output utr.bat{% endif %}{% if platform.name != "win" %} --output utr && chmod +x ./utr{% endif %} - - {{ platform.editorpath }} -projectpath testproject -batchmode -nographics -quit -logfile BuildMultiprocessTestPlayer.log -executeMethod Unity.Netcode.MultiprocessRuntimeTests.BuildMultiprocessTestPlayer.BuildRelease + - {{ platform.editorpath }} -projectpath testproject -batchmode -quit -logfile BuildMultiprocessTestPlayer.log -executeMethod Unity.Netcode.MultiprocessRuntimeTests.BuildMultiprocessTestPlayer.BuildRelease {% if platform.name == "mac" %} - sudo codesign --force --deep --sign - ./testproject/Builds/MultiprocessTests/MultiprocessTestPlayer.app{% endif %} - {{ platform.utr }} --suite=playmode --testproject=testproject --editor-location=.Editor --testfilter=Unity.Netcode.MultiprocessRuntimeTests --extra-editor-arg=-bypassIgnoreUTR {% endif %} From fa344b8eaa3fbc4bae4a88517da0abff0ceb707b Mon Sep 17 00:00:00 2001 From: zain-mecklai Date: Fri, 22 Jul 2022 10:31:51 -0400 Subject: [PATCH 19/19] Adding a GPU and removing nographics just made things slower but still failing so no point making this change, reverse it --- .yamato/multiprocess-project-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.yamato/multiprocess-project-tests.yml b/.yamato/multiprocess-project-tests.yml index 9b91472355..3505d72c52 100644 --- a/.yamato/multiprocess-project-tests.yml +++ b/.yamato/multiprocess-project-tests.yml @@ -8,7 +8,7 @@ singlenode_multiprocess_test_testproject_{{ editor }}_{{ platform.name }}: name : Multiprocess Tests - {{ editor }} on {{ platform.name }} agent: - type: {{ platform.type }}{% if platform.name == "ubuntu" %}::GPU{% endif %} + type: {{ platform.type }} image: {{ platform.image }} flavor: {{ platform.flavor}} commands: @@ -16,7 +16,7 @@ singlenode_multiprocess_test_testproject_{{ editor }}_{{ platform.name }}: {% if editor != "trunk" %} - unity-downloader-cli -u {{ editor }} -c editor -w --fast - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr{% if platform.name == "win" %}.bat --output utr.bat{% endif %}{% if platform.name != "win" %} --output utr && chmod +x ./utr{% endif %} - - {{ platform.editorpath }} -projectpath testproject -batchmode -quit -logfile BuildMultiprocessTestPlayer.log -executeMethod Unity.Netcode.MultiprocessRuntimeTests.BuildMultiprocessTestPlayer.BuildRelease + - {{ platform.editorpath }} -projectpath testproject -batchmode -quit -nographics -logfile BuildMultiprocessTestPlayer.log -executeMethod Unity.Netcode.MultiprocessRuntimeTests.BuildMultiprocessTestPlayer.BuildRelease {% if platform.name == "mac" %} - sudo codesign --force --deep --sign - ./testproject/Builds/MultiprocessTests/MultiprocessTestPlayer.app{% endif %} - {{ platform.utr }} --suite=playmode --testproject=testproject --editor-location=.Editor --testfilter=Unity.Netcode.MultiprocessRuntimeTests --extra-editor-arg=-bypassIgnoreUTR {% endif %}