diff --git a/Assets/Mirror/Core/NetworkServer.cs b/Assets/Mirror/Core/NetworkServer.cs index d3aee5be1aa..df8b6bdf738 100644 --- a/Assets/Mirror/Core/NetworkServer.cs +++ b/Assets/Mirror/Core/NetworkServer.cs @@ -1399,6 +1399,11 @@ static void SpawnObject(GameObject obj, NetworkConnection ownerConnection) if (ownerConnection is LocalConnectionToClient) identity.isOwned = true; + // NPCs (objects without an owner connection) are owned by the server. + // fixes: https://github.com/MirrorNetworking/Mirror/issues/3528 + if (ownerConnection == null) + identity.isOwned = true; + // only call OnStartServer if not spawned yet. // check used to be in NetworkIdentity. may not be necessary anymore. if (!identity.isServer && identity.netId == 0)