Hi, i have a script which spawns player in a lobby. Players are spawned by a non-player object. To spawn them i need to assign client authority to this object. So i do it like that: Code (CSharp): CmdAssignAuthority(lm.gameObject); print("before: " + lm.GetComponent<NetworkIdentity>().hasAuthority); lm.CmdAddPlayer(nickname, uniqueID, this.gameObject); CmdRemoveAuthority(lm.gameObject); print("after: "+ lm.GetComponent<NetworkIdentity>().hasAuthority); This are the CmdAssignAuthority and CmdRemoveAuthority commands: Code (CSharp): [Command] public void CmdAssignAuthority(GameObject go) { //NetworkIdentity netID_ = go.GetComponent<NetworkIdentity>(); //netID_.AssignClientAuthority(connectionToClient); go.GetComponentInParent<NetworkIdentity>().AssignClientAuthority(this.connectionToClient); } [Command] public void CmdRemoveAuthority(GameObject go) { go.GetComponentInParent<NetworkIdentity>().RemoveClientAuthority(this.connectionToClient); print("removing authority"); } As you can see i log if the player has authority over the object. Both before: and after: are false in the console. I have a headache because of that