network objects isowner is true. in script I cant use isowner or any networkobject variable.

is owner works on player objects. the script is a network behavior rather than a monobehavior. this returns false even though I can see its true in the network object.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using Unity.Netcode;

public class Shoot : NetworkBehaviour
{
     void Update()
     {

            Debug.Log(IsOwnedByServer);
      }  

}

In quick testing it's showing as true, although an in-scene object may initially be false. How are you spawning Shoot?

For me, using AddComponent made IsOwner not work. NetworkObject.IsOwner returns true but IsOwner returns false. So I guess use NetworkObject.IsOwner.

Edit: Nevermind, it seems [ServerRpc] doesn't work if not the host since it believes it's not the owner, so I assume that's using IsOwner. You could use [ServerRpc
(RequireOwnership = false)] but I get the feeling there'll just be more problems, so for now from what I can tell AddComponent just doesn't work with NetworkBehaviours.