From e21e119f5eef843fe7399b15102d090765d0d9ef Mon Sep 17 00:00:00 2001 From: LPLafontaineB Date: Mon, 28 Aug 2023 14:28:59 -0400 Subject: [PATCH 1/3] moving NetworkObject components above NetworkBehaviours in component order in networked prefabs --- Assets/Prefabs/AdditiveSceneLoader.prefab | 40 ++++++++++++------- Assets/Prefabs/DebugCheatsManager.prefab | 34 ++++++++-------- Assets/Prefabs/LoadingProgressTracker.prefab | 26 ++++++------ Assets/Prefabs/NetworkObjectPool.prefab | 42 ++++++++++---------- Assets/Prefabs/SceneLoader.prefab | 30 +++++++------- 5 files changed, 92 insertions(+), 80 deletions(-) diff --git a/Assets/Prefabs/AdditiveSceneLoader.prefab b/Assets/Prefabs/AdditiveSceneLoader.prefab index 3246edf08..afa711b69 100644 --- a/Assets/Prefabs/AdditiveSceneLoader.prefab +++ b/Assets/Prefabs/AdditiveSceneLoader.prefab @@ -10,8 +10,8 @@ GameObject: m_Component: - component: {fileID: 3765979716845461200} - component: {fileID: 3765979716845461207} - - component: {fileID: 3765979716845461206} - component: {fileID: 3029178677072641126} + - component: {fileID: 3765979716845461206} m_Layer: 2 m_Name: AdditiveSceneLoader m_TagString: Untagged @@ -26,12 +26,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3765979716845461205} + serializedVersion: 2 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!65 &3765979716845461207 BoxCollider: @@ -41,12 +42,20 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3765979716845461205} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 1 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 0, y: 0, z: 0} m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &3765979716845461206 +--- !u!114 &3029178677072641126 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -55,13 +64,17 @@ MonoBehaviour: m_GameObject: {fileID: 3765979716845461205} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4506649f88aac74ea839a52818e3174, type: 3} + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} m_Name: m_EditorClassIdentifier: - m_DelayBeforeUnload: 5 - m_SceneName: - m_PlayerTag: Player ---- !u!114 &3029178677072641126 + GlobalObjectIdHash: 951099334 + AlwaysReplicateAsRoot: 0 + SynchronizeTransform: 1 + ActiveSceneSynchronization: 0 + SceneMigrationSynchronization: 1 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &3765979716845461206 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -70,10 +83,9 @@ MonoBehaviour: m_GameObject: {fileID: 3765979716845461205} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Script: {fileID: 11500000, guid: f4506649f88aac74ea839a52818e3174, type: 3} m_Name: m_EditorClassIdentifier: - GlobalObjectIdHash: 951099334 - AlwaysReplicateAsRoot: 0 - DontDestroyWithOwner: 0 - AutoObjectParentSync: 1 + m_DelayBeforeUnload: 5 + m_SceneName: + m_PlayerTag: Player diff --git a/Assets/Prefabs/DebugCheatsManager.prefab b/Assets/Prefabs/DebugCheatsManager.prefab index e0c039d45..636a7db81 100644 --- a/Assets/Prefabs/DebugCheatsManager.prefab +++ b/Assets/Prefabs/DebugCheatsManager.prefab @@ -9,8 +9,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2726635115303138402} - - component: {fileID: 7241368247586282332} - component: {fileID: 6695920927348029111} + - component: {fileID: 7241368247586282332} m_Layer: 0 m_Name: DebugCheatsManager m_TagString: Untagged @@ -25,15 +25,15 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 776943915682426285} + serializedVersion: 2 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 &7241368247586282332 +--- !u!114 &6695920927348029111 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -42,14 +42,17 @@ MonoBehaviour: m_GameObject: {fileID: 776943915682426285} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ab1e76745edfc434ab8154ad27efc5fd, type: 3} + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} m_Name: m_EditorClassIdentifier: - m_DebugCheatsPanel: {fileID: 0} - m_EnemyPrefab: {fileID: 3713729372785093435, guid: 6cdd52f1fa2ed34469a487ae6477eded, type: 3} - m_BossPrefab: {fileID: 3688950541947916326, guid: 365e94337fd10fe4ebde1906df413ac7, type: 3} - m_OpenWindowKeyCode: 47 ---- !u!114 &6695920927348029111 + GlobalObjectIdHash: 951099334 + AlwaysReplicateAsRoot: 0 + SynchronizeTransform: 0 + ActiveSceneSynchronization: 0 + SceneMigrationSynchronization: 1 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &7241368247586282332 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -58,13 +61,10 @@ MonoBehaviour: m_GameObject: {fileID: 776943915682426285} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Script: {fileID: 11500000, guid: ab1e76745edfc434ab8154ad27efc5fd, type: 3} m_Name: m_EditorClassIdentifier: - GlobalObjectIdHash: 951099334 - AlwaysReplicateAsRoot: 0 - SynchronizeTransform: 0 - ActiveSceneSynchronization: 0 - SceneMigrationSynchronization: 1 - DontDestroyWithOwner: 0 - AutoObjectParentSync: 1 + m_DebugCheatsPanel: {fileID: 0} + m_EnemyPrefab: {fileID: 3713729372785093435, guid: 6cdd52f1fa2ed34469a487ae6477eded, type: 3} + m_BossPrefab: {fileID: 3688950541947916326, guid: 365e94337fd10fe4ebde1906df413ac7, type: 3} + m_OpenWindowKeyCode: 47 diff --git a/Assets/Prefabs/LoadingProgressTracker.prefab b/Assets/Prefabs/LoadingProgressTracker.prefab index cffa6e878..f2b792336 100644 --- a/Assets/Prefabs/LoadingProgressTracker.prefab +++ b/Assets/Prefabs/LoadingProgressTracker.prefab @@ -9,8 +9,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 3106828016798330215} - - component: {fileID: 3106828016798330208} - component: {fileID: 3106828016798330209} + - component: {fileID: 3106828016798330208} m_Layer: 0 m_Name: LoadingProgressTracker m_TagString: Untagged @@ -25,15 +25,15 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3106828016798330210} + serializedVersion: 2 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 &3106828016798330208 +--- !u!114 &3106828016798330209 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -42,10 +42,17 @@ MonoBehaviour: m_GameObject: {fileID: 3106828016798330210} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8e20ce98a70947b68f7982c1c417f88c, type: 3} + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!114 &3106828016798330209 + GlobalObjectIdHash: 951099334 + AlwaysReplicateAsRoot: 0 + SynchronizeTransform: 0 + ActiveSceneSynchronization: 0 + SceneMigrationSynchronization: 1 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &3106828016798330208 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -54,13 +61,6 @@ MonoBehaviour: m_GameObject: {fileID: 3106828016798330210} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Script: {fileID: 11500000, guid: 8e20ce98a70947b68f7982c1c417f88c, type: 3} m_Name: m_EditorClassIdentifier: - GlobalObjectIdHash: 951099334 - AlwaysReplicateAsRoot: 0 - SynchronizeTransform: 0 - ActiveSceneSynchronization: 0 - SceneMigrationSynchronization: 1 - DontDestroyWithOwner: 0 - AutoObjectParentSync: 1 diff --git a/Assets/Prefabs/NetworkObjectPool.prefab b/Assets/Prefabs/NetworkObjectPool.prefab index eeee7e812..3b8fda595 100644 --- a/Assets/Prefabs/NetworkObjectPool.prefab +++ b/Assets/Prefabs/NetworkObjectPool.prefab @@ -9,8 +9,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 7944773021007068224} - - component: {fileID: 7944773021007068227} - component: {fileID: 8707830667181757321} + - component: {fileID: 7944773021007068227} m_Layer: 0 m_Name: NetworkObjectPool m_TagString: Untagged @@ -25,14 +25,33 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7944773021007068226} + serializedVersion: 2 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 &8707830667181757321 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7944773021007068226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 951099334 + AlwaysReplicateAsRoot: 0 + SynchronizeTransform: 0 + ActiveSceneSynchronization: 0 + SceneMigrationSynchronization: 1 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 --- !u!114 &7944773021007068227 MonoBehaviour: m_ObjectHideFlags: 0 @@ -56,22 +75,3 @@ MonoBehaviour: PrewarmCount: 5 - Prefab: {fileID: 5473352307376472481, guid: 3e5c32e5766633a4eaf9e7c393418b34, type: 3} PrewarmCount: 5 ---- !u!114 &8707830667181757321 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7944773021007068226} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} - m_Name: - m_EditorClassIdentifier: - GlobalObjectIdHash: 951099334 - AlwaysReplicateAsRoot: 0 - SynchronizeTransform: 0 - ActiveSceneSynchronization: 0 - SceneMigrationSynchronization: 1 - DontDestroyWithOwner: 0 - AutoObjectParentSync: 1 diff --git a/Assets/Prefabs/SceneLoader.prefab b/Assets/Prefabs/SceneLoader.prefab index 5722dc77f..cc192894c 100644 --- a/Assets/Prefabs/SceneLoader.prefab +++ b/Assets/Prefabs/SceneLoader.prefab @@ -9,8 +9,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 7533068275093218427} - - component: {fileID: 2071498811241465156} - component: {fileID: 8734696198808489477} + - component: {fileID: 2071498811241465156} - component: {fileID: 6240023712540756099} m_Layer: 0 m_Name: SceneLoader @@ -26,15 +26,15 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5970766024194302363} + serializedVersion: 2 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 &2071498811241465156 +--- !u!114 &8734696198808489477 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -43,12 +43,17 @@ MonoBehaviour: m_GameObject: {fileID: 5970766024194302363} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d202c9ed4a2c4a6fa83f21f1c21394ea, type: 3} + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} m_Name: m_EditorClassIdentifier: - m_ClientLoadingScreen: {fileID: 0} - m_LoadingProgressManager: {fileID: 6240023712540756099} ---- !u!114 &8734696198808489477 + GlobalObjectIdHash: 951099334 + AlwaysReplicateAsRoot: 0 + SynchronizeTransform: 0 + ActiveSceneSynchronization: 0 + SceneMigrationSynchronization: 1 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 +--- !u!114 &2071498811241465156 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -57,16 +62,11 @@ MonoBehaviour: m_GameObject: {fileID: 5970766024194302363} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Script: {fileID: 11500000, guid: d202c9ed4a2c4a6fa83f21f1c21394ea, type: 3} m_Name: m_EditorClassIdentifier: - GlobalObjectIdHash: 951099334 - AlwaysReplicateAsRoot: 0 - SynchronizeTransform: 0 - ActiveSceneSynchronization: 0 - SceneMigrationSynchronization: 1 - DontDestroyWithOwner: 0 - AutoObjectParentSync: 1 + m_ClientLoadingScreen: {fileID: 0} + m_LoadingProgressManager: {fileID: 6240023712540756099} --- !u!114 &6240023712540756099 MonoBehaviour: m_ObjectHideFlags: 0 From 2c4df233a249d374d16f637c8998251115737930 Mon Sep 17 00:00:00 2001 From: LPLafontaineB Date: Mon, 28 Aug 2023 14:51:20 -0400 Subject: [PATCH 2/3] moving NetworkObject component up in UIMessageManager GameObject --- Assets/Scenes/Startup.unity | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Assets/Scenes/Startup.unity b/Assets/Scenes/Startup.unity index 5b88ce254..46661151e 100644 --- a/Assets/Scenes/Startup.unity +++ b/Assets/Scenes/Startup.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:23e64f176df19566b90ab728417990e715e937d86d6499e1b1d537c39e9fe63a -size 52979 +oid sha256:daaa3847b041faeb0af9f4962967b3883af1a3f20ca0ad4dd9b7e2f07c2fc0e3 +size 59280 From a02546d9eb47360466dc554043e453254f036d5d Mon Sep 17 00:00:00 2001 From: LPLafontaineB Date: Mon, 28 Aug 2023 14:55:28 -0400 Subject: [PATCH 3/3] adding changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 469ee6c4a..408ea90f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ Additional documentation and release notes are available at [Multiplayer Documen ### Fixed * Fixed colliders on diagonal walls to not have negative scale (#854). +* Fixed order of components in networked GameObjects (#866). NetworkObjects are now always above NetworkBehaviours in the component order in GameObjects. This fixes a bug where during scene unloading the NetworkBehaviours would be destroyed before the NetworkObject on the host, which caused these NetworkBehaviours to not have their OnNetworkDespawned invoked in that situation on the host. ## [2.2.0] - 2023-07-06