Skip to content

Commit 2b0a9b2

Browse files
fix: Server only session issues with parent synchronize and networkobjecteditor (#3139)
* fix Fixed issue where NetworkObjectEditor would throw an exception when you tried to view the NetworkObject.Observers in the inspector view when in playmode. * fix Fixed issue where the parent sync message was ignoring deserialization on the server side (clients can parent if the NetworkObject has the allow clients to parent flag set).
1 parent 86ddd7d commit 2b0a9b2

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

com.unity.netcode.gameobjects/Editor/NetworkObjectEditor.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,14 @@ public override void OnInspectorGUI()
8888

8989
while (observerClientIds.MoveNext())
9090
{
91+
if (!m_NetworkObject.NetworkManager.ConnectedClients.ContainsKey(observerClientIds.Current))
92+
{
93+
if ((observerClientIds.Current == 0 && m_NetworkObject.NetworkManager.IsHost) || observerClientIds.Current > 0)
94+
{
95+
Debug.LogWarning($"Client-{observerClientIds.Current} is listed as an observer but is not connected!");
96+
}
97+
continue;
98+
}
9199
if (m_NetworkObject.NetworkManager.ConnectedClients[observerClientIds.Current].PlayerObject != null)
92100
{
93101
EditorGUILayout.ObjectField($"ClientId: {observerClientIds.Current}", m_NetworkObject.NetworkManager.ConnectedClients[observerClientIds.Current].PlayerObject, typeof(GameObject), false);

com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ParentSyncMessage.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,6 @@ public void Serialize(FastBufferWriter writer, int targetVersion)
7070
public bool Deserialize(FastBufferReader reader, ref NetworkContext context, int receivedMessageVersion)
7171
{
7272
var networkManager = (NetworkManager)context.SystemOwner;
73-
if (!networkManager.IsClient)
74-
{
75-
return false;
76-
}
7773

7874
ByteUnpacker.ReadValueBitPacked(reader, out NetworkObjectId);
7975
reader.ReadValueSafe(out m_BitField);

0 commit comments

Comments
 (0)