RPCs are basically your custom events you make, but generally are the ones that “Run On Server” or “Multicast”. Maybe try making your “UpdateClients” custom event to Run On Server and reliable.
You can’t share other players playercontrollers since they are only replicated to the owner.
You should just use the playerstate instead. This is where you keep info that is unique to each player. No need to store an array in the gamemode either since playerstates are created on login and destroyed on logout.