Calling Client RPC in order to assign a Team value to clients. How to check the Role properly?

If you add a delay on the Client the role probably is no longer ROLE_Authority it just isn’t updated on BeginPlay.

Instead of calling SetReplicates(true) at BeginPlay you should do bReplicates = true in the constructor. SetReplicates(true) is used when you dynamically want to turn Replication on and off but the constructor should be used if you want replication to be on from the start.