I’ve put 'SetReplicates(true); in the constructor of my playerController class, but it doesn’t appear to be replicating, even doing a simple ‘get all actors of class’ to find it, only the server can see all the player controllers, all the clients can only see themselves.
As context for the problem, I’m using the player controllers as part of the way I’m displaying the scoreboard, but the core of the issue here is the playerControllers simply don’t seem to be replicating.
Is this by design? Or have I missed a part of the setup?
I believe the player controller for a given pawn does not replicate to remote repressntations of that pawn on non-owning clients, only between the server and the owning-client. Player state, on the other hand is replicated to all clients, for all pawns, so I imagine that would be suitable for replicating scores, or whatever.
What Jonwood says is right the Player Controller is local for each client and for the Server, for replicating Controller Stuff you should use Player State
Edit: For Scoretracking you should use the GameMode by the way, as it can only be accessed by the Server (No clientmanipulation possible) the GameMode can be accessed by all over the GameState
Is there any good page about the small differences between GameInstance, LevelBP, GameMode, GameState, PlayerState, PlayerController, PawnBP? What events belong to where, which is replicated and how, etc…?
This is an old question but I’m leaving this here for future visitors: