You need to create an event and set it to “Replicate on server” and “Reliable” (often recommended for variables). And on this event, you update the variables you want to update. But you must also set the variables themselves to “Replicate” and then hopefully it should work for you.
In my case it’s called from the player controller but should work from game mode too.
Also in your screenshots you have an increment node which looks wrong.
My increment is useless, you’re right! Also, I tested my “cast to MyPlayerState” and it failed.
Then, I wanted gather PlayerStates from GameMode (by Game State → Player Array) and it failed too.
So, I suppose that GameMode begins before the apparition of the PlayerStates. I will explore this more in depth.
I’ll be back.
You’re only printing the boolean in event begin play? Try printing it in event tick to see if it’s changing. It is very possible the player state begin play is initiated before the game mode is able to do the requests.