Okay is it actually possible for a player to know which player it is without serialisation/messages or other complicated stuff. The connectionID for each client is different on each client (which defies the point of unique IDs??) spawning with Networkserver.spawnWithClientAuthority is broken: Code (CSharp): public override void OnServerConnect(NetworkConnection conn) { NetworkServer.SpawnWithClientAuthority(newPlayer.gameObject,conn); } And suddenly no player has authority of course! hasAuthority is false server and client. Is it so hard to be able to see a UNIQUE AND SYNCED IDENTITY for each connection/client/whatever. Not relying on some registered player object either as they don't always exist at any moment. Can't even send an RPC to a specific player? has to be to all of them so how does any one player know which player they are?? If I could please be given a simple answer that would be great iv'e just had enough.. Edit: So I need a isLocalPlayer check that will work on objects that arent the player. Like HasAuthority but it's not working.. if I try to [syncvar] the acttual client that object belongs to instead of the connectionID I get UnetWeaver Errors and a buggy debug console