I’m using a Local Variable in the GM as a dummy to build the array before I use it to set the replicated variable. I’ve traced the execution and the SET function on the replicated variable runs exactly as it should.
ex: 2 times when the first client connects to the session - one time on the server, one time on the client.
The OnRep function runs:
-one time on Host/Servers PC,
-one time on Client’s PC (Server side - returns on IsLocalController)
-two (or sometimes three) times on clients PC (Client side). (even though the replicated SET function runs only once)
Also the bool is not just living there by it’s own, i’m switching true/false every time otherwise you are correct and it won’t fire the OnRep.
P.S. Switched the functionality to a replicated event (RunOnClient) and setting the PlayerInfo struct for each PC on BeginPlay. Replication seems to run fine this way but I still have to wait for the base PC->PlayerName variable (Engine default variable) to be set which I thought would be since the PC called it’s BeginPlay event.