Best way to transfer data between multiplayer maps

Here I try doing it using the game instance to store the Selected Character variable

1 (In the Lobby map) Character is selected in the widget and stored in the game instance

2 (In-game map) Each Player Controller gets the variable from its game instance

3 (In-game map) Characters are then spawned on the server I run the variable into the SpawnPlayer_OnServer event and use it to spawn actor

4 In game, while in the lobby, I pick Blue Character on the client and Red Character on the server, but both characters spawn as red on the In-game map. Log comes out like this:
image

Where does it go wrong? The server reads the PC Selected Character variable as Red character when I call it on the OnServer event, yet it shows as the correct character when i print the string after in the player controller. I cant understand why or what to do about it. :face_with_thermometer: