How do I replicate a Game State variable to all clients from a client?

I have a custom gamemode with a custom playerstate.
A UMG Widget checks the player array of the gamestate, and adds buttons to a scroll box for each one it finds.
If you click one of those buttons it ‘moves’ it over to a second scroll box.
If you click that button again(from the second scroll box), it send it back to the first scroll box.

I achieve this movement by having an integer variable(set to replicate) in my custom playerstate.
When the buttons are created they have a variable that is set to a playerstate found in the gamestate’s player array.

When you click the button it looks for that custom integer in its now set playerstate variable, and sets it based on which scroll box it needs to go to.

The actual ‘moving’ of the button is done in the widgets tick. It constantly gets the gamestate’s player array and resets the buttons locations based on the custom variable within each playerstate.
(so all I have to do is update that variable and it is automatically moved)

This all works fine for the local client, but the other clients do not see this change.

The tooltip description of the gamestate’s player array claims it is maintained and replicated on both client and server, so I thought I could just change a variable in the playerstate within and have it replicated to the other clients.

Is this not the case? If so how do I replicate a Game State variable to all clients from a client?

You make the variable replicated. Then have a custom event to the server that sets the variable on the server.

welp. That was obvious in hindsight. lol
Thank you.