Getting seamless travel to work with GameState and PlayerState

I have a simple lobby based multiplayer game. Players connect to the lobby, decide game rules, teams etc and it all gets saved to GameState and PlayerStates since I want them to be replicated across the clients connected to the lobby. Everything worked fine until I started messing with seamless travel. The problems seem to come from the fact that PlayerStates and GameState is not preserved when using seamless travel to go to another map.

  1. Should I store all the lobby information in something else that gets preserved, like GameMode and update the lobby’s GameState and PlayerStates based on that information and after the seamless travel, also update the new map’s GameState and PlayerStates based on the GameMode variables?

  2. If I just preserve the GameState and PlayerStates across the seamless travel map change, are there any downsides or caveats I should be aware?

You should rather use Game Instance (UGameInstance).

Thanks, that’s going to be a lot of rewriting, but actually makes sense, also makes testing a lot easier. :slight_smile: