From 47040a4515ace4858bbdc91b54f6968f8b2fed4f Mon Sep 17 00:00:00 2001 From: FirstGearGames Date: Thu, 30 Nov 2023 20:19:22 -0500 Subject: [PATCH 1/4] Fix: mirror Hz. - Fixed Mirror to send at 20Hz instead of 60Hz. --- mirror/Assets/_Benchmark/NetworkManager.prefab | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mirror/Assets/_Benchmark/NetworkManager.prefab b/mirror/Assets/_Benchmark/NetworkManager.prefab index a53004e..dedc415 100644 --- a/mirror/Assets/_Benchmark/NetworkManager.prefab +++ b/mirror/Assets/_Benchmark/NetworkManager.prefab @@ -49,7 +49,7 @@ MonoBehaviour: runInBackground: 1 autoStartServerBuild: 1 autoConnectClientBuild: 0 - sendRate: 60 + sendRate: 20 offlineScene: onlineScene: transport: {fileID: 6712455278405722842} From bd6ca848010034fa8dd8b3517f34ef42594a2e3c Mon Sep 17 00:00:00 2001 From: FirstGearGames Date: Thu, 30 Nov 2023 21:19:19 -0500 Subject: [PATCH 2/4] fix: Mirror benchmark - Fixed Mirror benchmark not working due to Mirror bug. --- fishnet/Assets/Plugins/ParrelSync.meta | 8 +++ .../_Benchmark/Prefab/NetworkManager.prefab | 41 ++++++++++++ .../Assets/_Benchmark/Prefab/Player.prefab | 66 +++++++++++++++++++ .../_Benchmark/Prefab/Player.prefab.meta | 7 ++ .../_Benchmark/{ => Prefabs}/GUIGame.prefab | 0 .../{ => Prefabs}/GUIGame.prefab.meta | 0 .../{ => Prefabs}/NetworkManager.prefab | 2 +- .../{ => Prefabs}/NetworkManager.prefab.meta | 0 .../Assets/_Benchmark/Prefabs/Player.prefab | 51 ++++++++++++++ .../_Benchmark/Prefabs/Player.prefab.meta | 7 ++ .../Prefabs/SphereMoveAllAxis.prefab | 15 +++-- .../Prefabs/SphereMoveWander.prefab | 15 +++-- .../_Benchmark/Prefabs/SphereMoveY.prefab | 15 +++-- 13 files changed, 205 insertions(+), 22 deletions(-) create mode 100644 fishnet/Assets/Plugins/ParrelSync.meta create mode 100644 fishnet/Assets/_Benchmark/Prefab/Player.prefab create mode 100644 fishnet/Assets/_Benchmark/Prefab/Player.prefab.meta rename mirror/Assets/_Benchmark/{ => Prefabs}/GUIGame.prefab (100%) rename mirror/Assets/_Benchmark/{ => Prefabs}/GUIGame.prefab.meta (100%) rename mirror/Assets/_Benchmark/{ => Prefabs}/NetworkManager.prefab (96%) rename mirror/Assets/_Benchmark/{ => Prefabs}/NetworkManager.prefab.meta (100%) create mode 100644 mirror/Assets/_Benchmark/Prefabs/Player.prefab create mode 100644 mirror/Assets/_Benchmark/Prefabs/Player.prefab.meta diff --git a/fishnet/Assets/Plugins/ParrelSync.meta b/fishnet/Assets/Plugins/ParrelSync.meta new file mode 100644 index 0000000..a281f41 --- /dev/null +++ b/fishnet/Assets/Plugins/ParrelSync.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b28435e914795054abf5e087d87fcf19 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/fishnet/Assets/_Benchmark/Prefab/NetworkManager.prefab b/fishnet/Assets/_Benchmark/Prefab/NetworkManager.prefab index 2f069b0..a83d962 100644 --- a/fishnet/Assets/_Benchmark/Prefab/NetworkManager.prefab +++ b/fishnet/Assets/_Benchmark/Prefab/NetworkManager.prefab @@ -12,6 +12,8 @@ GameObject: - component: {fileID: 8240105726314001541} - component: {fileID: 7650083780106457332} - component: {fileID: 4042903200496897018} + - component: {fileID: -1109934298006056053} + - component: {fileID: -1022505136918174118} m_Layer: 0 m_Name: NetworkManager m_TagString: Untagged @@ -91,3 +93,42 @@ MonoBehaviour: _tickRate: 20 _pingInterval: 1 _physicsMode: 2 +--- !u!114 &-1109934298006056053 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8240105726314001546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7d331f979d46e8e4a9fc90070c596d44, type: 3} + m_Name: + m_EditorClassIdentifier: + _enableNetworkLod: 0 + _levelOfDetailDistances: + - 7 + - 14 + - 21 + - 28 + - 35 + - 42 + - 49 + - 56 + _updateHostVisibility: 1 + _defaultConditions: [] +--- !u!114 &-1022505136918174118 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8240105726314001546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 211a9f6ec51ddc14f908f5acc0cd0423, type: 3} + m_Name: + m_EditorClassIdentifier: + _playerPrefab: {fileID: 8996229709561782109, guid: 97fbcfd711fb73149b13492f5480b93c, type: 3} + _addToDefaultScene: 1 + Spawns: [] diff --git a/fishnet/Assets/_Benchmark/Prefab/Player.prefab b/fishnet/Assets/_Benchmark/Prefab/Player.prefab new file mode 100644 index 0000000..dd0627c --- /dev/null +++ b/fishnet/Assets/_Benchmark/Prefab/Player.prefab @@ -0,0 +1,66 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8996229709561782108 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8996229709561782106} + - component: {fileID: 8996229709561782109} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8996229709561782106 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8996229709561782108} + 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!114 &8996229709561782109 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8996229709561782108} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26b716c41e9b56b4baafaf13a523ba2e, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: 0 + k__BackingField: 0 + k__BackingField: {fileID: 0} + _networkBehaviours: [] + k__BackingField: {fileID: 0} + k__BackingField: [] + SerializedTransformProperties: + Position: {x: 0, y: 0, z: 0} + Rotation: {x: 0, y: 0, z: 0, w: 1} + LocalScale: {x: 1, y: 1, z: 1} + _isNetworked: 1 + _isGlobal: 0 + _initializeOrder: 0 + _defaultDespawnType: 0 + NetworkObserver: {fileID: 0} + k__BackingField: 0 + k__BackingField: 0 + _scenePathHash: 584410112 + k__BackingField: 0 + k__BackingField: 16374395433789361389 diff --git a/fishnet/Assets/_Benchmark/Prefab/Player.prefab.meta b/fishnet/Assets/_Benchmark/Prefab/Player.prefab.meta new file mode 100644 index 0000000..24ba9a7 --- /dev/null +++ b/fishnet/Assets/_Benchmark/Prefab/Player.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 97fbcfd711fb73149b13492f5480b93c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/mirror/Assets/_Benchmark/GUIGame.prefab b/mirror/Assets/_Benchmark/Prefabs/GUIGame.prefab similarity index 100% rename from mirror/Assets/_Benchmark/GUIGame.prefab rename to mirror/Assets/_Benchmark/Prefabs/GUIGame.prefab diff --git a/mirror/Assets/_Benchmark/GUIGame.prefab.meta b/mirror/Assets/_Benchmark/Prefabs/GUIGame.prefab.meta similarity index 100% rename from mirror/Assets/_Benchmark/GUIGame.prefab.meta rename to mirror/Assets/_Benchmark/Prefabs/GUIGame.prefab.meta diff --git a/mirror/Assets/_Benchmark/NetworkManager.prefab b/mirror/Assets/_Benchmark/Prefabs/NetworkManager.prefab similarity index 96% rename from mirror/Assets/_Benchmark/NetworkManager.prefab rename to mirror/Assets/_Benchmark/Prefabs/NetworkManager.prefab index dedc415..e8edbea 100644 --- a/mirror/Assets/_Benchmark/NetworkManager.prefab +++ b/mirror/Assets/_Benchmark/Prefabs/NetworkManager.prefab @@ -58,7 +58,7 @@ MonoBehaviour: disconnectInactiveConnections: 0 disconnectInactiveTimeout: 60 authenticator: {fileID: 0} - playerPrefab: {fileID: 0} + playerPrefab: {fileID: 4895057759172009277, guid: a892c2b56f836564fbb7df92417b9a6b, type: 3} autoCreatePlayer: 1 playerSpawnMethod: 0 spawnPrefabs: [] diff --git a/mirror/Assets/_Benchmark/NetworkManager.prefab.meta b/mirror/Assets/_Benchmark/Prefabs/NetworkManager.prefab.meta similarity index 100% rename from mirror/Assets/_Benchmark/NetworkManager.prefab.meta rename to mirror/Assets/_Benchmark/Prefabs/NetworkManager.prefab.meta diff --git a/mirror/Assets/_Benchmark/Prefabs/Player.prefab b/mirror/Assets/_Benchmark/Prefabs/Player.prefab new file mode 100644 index 0000000..d7ab56b --- /dev/null +++ b/mirror/Assets/_Benchmark/Prefabs/Player.prefab @@ -0,0 +1,51 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4895057759172009277 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4895057759172009279} + - component: {fileID: 4895057759172009276} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4895057759172009279 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4895057759172009277} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 119.22356, y: 292.28125, 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!114 &4895057759172009276 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4895057759172009277} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9b91ecbcc199f4492b9a91e820070131, type: 3} + m_Name: + m_EditorClassIdentifier: + sceneId: 0 + _assetId: 0 + serverOnly: 0 + visible: 0 + hasSpawned: 0 diff --git a/mirror/Assets/_Benchmark/Prefabs/Player.prefab.meta b/mirror/Assets/_Benchmark/Prefabs/Player.prefab.meta new file mode 100644 index 0000000..c7fe344 --- /dev/null +++ b/mirror/Assets/_Benchmark/Prefabs/Player.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a892c2b56f836564fbb7df92417b9a6b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/mirror/Assets/_Benchmark/Prefabs/SphereMoveAllAxis.prefab b/mirror/Assets/_Benchmark/Prefabs/SphereMoveAllAxis.prefab index bec209e..9913b2b 100644 --- a/mirror/Assets/_Benchmark/Prefabs/SphereMoveAllAxis.prefab +++ b/mirror/Assets/_Benchmark/Prefabs/SphereMoveAllAxis.prefab @@ -11,7 +11,7 @@ GameObject: - component: {fileID: 6859501204968983104} - component: {fileID: 6859501204968983110} - component: {fileID: 6859501204968983108} - - component: {fileID: 4164372541306329233} + - component: {fileID: 4579795718750606273} m_Layer: 0 m_Name: SphereMoveAllAxis m_TagString: Untagged @@ -68,7 +68,7 @@ MonoBehaviour: serverOnly: 0 visible: 0 hasSpawned: 0 ---- !u!114 &4164372541306329233 +--- !u!114 &4579795718750606273 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -77,13 +77,13 @@ MonoBehaviour: m_GameObject: {fileID: 6859501204968983109} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a553cb17010b2403e8523b558bffbc14, type: 3} + m_Script: {fileID: 11500000, guid: 8ff3ba0becae47b8b9381191598957c8, type: 3} m_Name: m_EditorClassIdentifier: syncDirection: 0 syncMode: 0 syncInterval: 0 - target: {fileID: 6859501205988317068} + target: {fileID: 6859501204968983104} syncPosition: 1 syncRotation: 1 syncScale: 0 @@ -97,10 +97,11 @@ MonoBehaviour: showOverlay: 0 overlayColor: {r: 0, g: 0, b: 0, a: 0.5} onlySyncOnChange: 1 - bufferResetMultiplier: 3 - positionSensitivity: 0.01 + onlySyncOnChangeCorrectionMultiplier: 2 rotationSensitivity: 0.01 - scaleSensitivity: 0.01 + compressRotation: 0 + positionPrecision: 0.01 + scalePrecision: 0.01 --- !u!1 &6859501205988317069 GameObject: m_ObjectHideFlags: 0 diff --git a/mirror/Assets/_Benchmark/Prefabs/SphereMoveWander.prefab b/mirror/Assets/_Benchmark/Prefabs/SphereMoveWander.prefab index 37f5562..fca1a96 100644 --- a/mirror/Assets/_Benchmark/Prefabs/SphereMoveWander.prefab +++ b/mirror/Assets/_Benchmark/Prefabs/SphereMoveWander.prefab @@ -94,7 +94,7 @@ GameObject: - component: {fileID: 6660102892434074098} - component: {fileID: 6660102892434074109} - component: {fileID: 6660102892434074110} - - component: {fileID: 3719388534151151571} + - component: {fileID: -5369122709568203960} m_Layer: 0 m_Name: SphereMoveWander m_TagString: Untagged @@ -151,7 +151,7 @@ MonoBehaviour: serverOnly: 0 visible: 0 hasSpawned: 0 ---- !u!114 &3719388534151151571 +--- !u!114 &-5369122709568203960 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -160,13 +160,13 @@ MonoBehaviour: m_GameObject: {fileID: 6660102892434074099} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a553cb17010b2403e8523b558bffbc14, type: 3} + m_Script: {fileID: 11500000, guid: 8ff3ba0becae47b8b9381191598957c8, type: 3} m_Name: m_EditorClassIdentifier: syncDirection: 0 syncMode: 0 syncInterval: 0 - target: {fileID: 6660102891578011556} + target: {fileID: 6660102892434074098} syncPosition: 1 syncRotation: 1 syncScale: 0 @@ -180,7 +180,8 @@ MonoBehaviour: showOverlay: 0 overlayColor: {r: 0, g: 0, b: 0, a: 0.5} onlySyncOnChange: 1 - bufferResetMultiplier: 3 - positionSensitivity: 0.01 + onlySyncOnChangeCorrectionMultiplier: 2 rotationSensitivity: 0.01 - scaleSensitivity: 0.01 + compressRotation: 0 + positionPrecision: 0.01 + scalePrecision: 0.01 diff --git a/mirror/Assets/_Benchmark/Prefabs/SphereMoveY.prefab b/mirror/Assets/_Benchmark/Prefabs/SphereMoveY.prefab index 65ac65b..660b358 100644 --- a/mirror/Assets/_Benchmark/Prefabs/SphereMoveY.prefab +++ b/mirror/Assets/_Benchmark/Prefabs/SphereMoveY.prefab @@ -94,7 +94,7 @@ GameObject: - component: {fileID: 2997158864174378353} - component: {fileID: 2997158864174378352} - component: {fileID: 2997158864174378349} - - component: {fileID: 8058470056856446765} + - component: {fileID: -8317119663844453442} m_Layer: 0 m_Name: SphereMoveY m_TagString: Untagged @@ -151,7 +151,7 @@ MonoBehaviour: serverOnly: 0 visible: 0 hasSpawned: 0 ---- !u!114 &8058470056856446765 +--- !u!114 &-8317119663844453442 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -160,13 +160,13 @@ MonoBehaviour: m_GameObject: {fileID: 2997158864174378348} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a553cb17010b2403e8523b558bffbc14, type: 3} + m_Script: {fileID: 11500000, guid: 8ff3ba0becae47b8b9381191598957c8, type: 3} m_Name: m_EditorClassIdentifier: syncDirection: 0 syncMode: 0 syncInterval: 0 - target: {fileID: 2997158862366106698} + target: {fileID: 2997158864174378353} syncPosition: 1 syncRotation: 1 syncScale: 0 @@ -180,7 +180,8 @@ MonoBehaviour: showOverlay: 0 overlayColor: {r: 0, g: 0, b: 0, a: 0.5} onlySyncOnChange: 1 - bufferResetMultiplier: 3 - positionSensitivity: 0.01 + onlySyncOnChangeCorrectionMultiplier: 2 rotationSensitivity: 0.01 - scaleSensitivity: 0.01 + compressRotation: 0 + positionPrecision: 0.01 + scalePrecision: 0.01 From cbe61e66f317569894b9374daee9a9aed12a3260 Mon Sep 17 00:00:00 2001 From: FirstGearGames Date: Thu, 30 Nov 2023 21:56:19 -0500 Subject: [PATCH 3/4] FN fixes and improves - Fixed FishNet NetworkTransform using ~3% more bandwidth when a Pro feature was enabled without having Pro. - Improved FishNet benchmark by adding LOD support for Pro users. - Improved moved test scene to _Benchmark folder. --- .../Managing/Observing/ObserverManager.cs | 2 +- .../Benchmark.unity} | 0 .../Benchmark.unity.meta} | 0 .../_Benchmark/Prefab/NetworkManager.prefab | 36 ++++++++++++++++++- 4 files changed, 36 insertions(+), 2 deletions(-) rename fishnet/Assets/{Scenes/SampleScene.unity => _Benchmark/Benchmark.unity} (100%) rename fishnet/Assets/{Scenes/SampleScene.unity.meta => _Benchmark/Benchmark.unity.meta} (100%) diff --git a/fishnet/Assets/FishNet/Runtime/Managing/Observing/ObserverManager.cs b/fishnet/Assets/FishNet/Runtime/Managing/Observing/ObserverManager.cs index 88a1cce..7ed468b 100644 --- a/fishnet/Assets/FishNet/Runtime/Managing/Observing/ObserverManager.cs +++ b/fishnet/Assets/FishNet/Runtime/Managing/Observing/ObserverManager.cs @@ -245,7 +245,7 @@ internal void CalculateLevelOfDetail(uint tick) /// private void ValidateLevelOfDetails() { - + _enableNetworkLod = false; } } diff --git a/fishnet/Assets/Scenes/SampleScene.unity b/fishnet/Assets/_Benchmark/Benchmark.unity similarity index 100% rename from fishnet/Assets/Scenes/SampleScene.unity rename to fishnet/Assets/_Benchmark/Benchmark.unity diff --git a/fishnet/Assets/Scenes/SampleScene.unity.meta b/fishnet/Assets/_Benchmark/Benchmark.unity.meta similarity index 100% rename from fishnet/Assets/Scenes/SampleScene.unity.meta rename to fishnet/Assets/_Benchmark/Benchmark.unity.meta diff --git a/fishnet/Assets/_Benchmark/Prefab/NetworkManager.prefab b/fishnet/Assets/_Benchmark/Prefab/NetworkManager.prefab index a83d962..8906986 100644 --- a/fishnet/Assets/_Benchmark/Prefab/NetworkManager.prefab +++ b/fishnet/Assets/_Benchmark/Prefab/NetworkManager.prefab @@ -14,6 +14,8 @@ GameObject: - component: {fileID: 4042903200496897018} - component: {fileID: -1109934298006056053} - component: {fileID: -1022505136918174118} + - component: {fileID: 3616504414068037556} + - component: {fileID: -6497701257867394230} m_Layer: 0 m_Name: NetworkManager m_TagString: Untagged @@ -105,7 +107,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7d331f979d46e8e4a9fc90070c596d44, type: 3} m_Name: m_EditorClassIdentifier: - _enableNetworkLod: 0 + _enableNetworkLod: 1 _levelOfDetailDistances: - 7 - 14 @@ -132,3 +134,35 @@ MonoBehaviour: _playerPrefab: {fileID: 8996229709561782109, guid: 97fbcfd711fb73149b13492f5480b93c, type: 3} _addToDefaultScene: 1 Spawns: [] +--- !u!114 &3616504414068037556 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8240105726314001546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8bc8f0363ddc75946a958043c5e49a83, type: 3} + m_Name: + m_EditorClassIdentifier: + _color: {r: 1, g: 1, b: 1, a: 1} + _placement: 1 + _showOutgoing: 1 + _showIncoming: 0 +--- !u!114 &-6497701257867394230 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8240105726314001546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 756c28cd3141c4140ae776188ee26729, type: 3} + m_Name: + m_EditorClassIdentifier: + NetworkTraffic: + _updateInteval: 1 + _updateClient: 0 + _updateServer: 1 From 578ce0d65b5610b14993523ad0d79cd0284a9fa5 Mon Sep 17 00:00:00 2001 From: Timothy Edrick Burhan Date: Fri, 1 Dec 2023 14:57:48 +0700 Subject: [PATCH 4/4] mirror fix: client late joiner [Bug] Late Joiner was executing stress test too --- mirror/Assets/_Benchmark/Scripts/GUIGame.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mirror/Assets/_Benchmark/Scripts/GUIGame.cs b/mirror/Assets/_Benchmark/Scripts/GUIGame.cs index 92197be..09efe5c 100644 --- a/mirror/Assets/_Benchmark/Scripts/GUIGame.cs +++ b/mirror/Assets/_Benchmark/Scripts/GUIGame.cs @@ -36,6 +36,9 @@ protected override void StartServer() protected override void StressTest(StressTestEssential stressTest) { + //Mirror Bug, UI Button Click is replicated for late joiners + if (!NetworkServer.active) return; + for (int i = 0; i < stressTest.SpawnCount; i++) { GameObject go = Instantiate(stressTest.Prefab);