Skip to content

Commit a8b81a0

Browse files
fix
This fixes the issue where network variables would throw an exception in distributed authority mode when viewing a NetworkBehaviour on a DAHost.
1 parent 0e04623 commit a8b81a0

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

com.unity.netcode.gameobjects/Runtime/Core/NetworkBehaviour.cs

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -529,11 +529,21 @@ public bool IsSessionOwner
529529

530530
internal bool IsBehaviourEditable()
531531
{
532+
if (!m_NetworkObject)
533+
{
534+
return true;
535+
}
536+
537+
if (!m_NetworkObject.NetworkManager)
538+
{
539+
return true;
540+
}
541+
542+
var networkManager = m_NetworkObject.NetworkManager;
543+
532544
// Only server can MODIFY. So allow modification if network is either not running or we are server
533-
return !m_NetworkObject ||
534-
m_NetworkObject.NetworkManager == null ||
535-
m_NetworkObject.NetworkManager.IsListening == false ||
536-
m_NetworkObject.NetworkManager.IsServer;
545+
return !networkManager.IsListening ||
546+
((networkManager.DistributedAuthorityMode && m_NetworkObject.IsOwner) || (!networkManager.DistributedAuthorityMode && networkManager.IsServer));
537547
}
538548

539549
// TODO: this needs an overhaul. It's expensive, it's ja little naive in how it looks for networkObject in

0 commit comments

Comments
 (0)