diff --git a/Assets/Mirror/Core/NetworkBehaviour.cs b/Assets/Mirror/Core/NetworkBehaviour.cs index 84d0d9de09d..23a3af12fd3 100644 --- a/Assets/Mirror/Core/NetworkBehaviour.cs +++ b/Assets/Mirror/Core/NetworkBehaviour.cs @@ -85,9 +85,12 @@ public abstract class NetworkBehaviour : MonoBehaviour // also note that this is a per-NetworkBehaviour flag. // another component may not be client authoritative, etc. public bool authority => - isClient - ? syncDirection == SyncDirection.ClientToServer && isOwned - : syncDirection == SyncDirection.ServerToClient; + // check isServer instead of isClient, which covers host mode too. + // otherwise host mode would only have authority if ClientToServer. + // fixes: https://github.com/MirrorNetworking/Mirror/issues/3529 + isServer + ? syncDirection == SyncDirection.ServerToClient + : syncDirection == SyncDirection.ClientToServer && isOwned; /// The unique network Id of this object (unique at runtime). public uint netId => netIdentity.netId;