The transition map has nothing to do with the bug, especially that a default one gets set for you even if you didn’t set one yourself. Proof here.
This bug was indeed fixed in 5.1, which was released!
- “LastCompletedSeamlessTravelCount == SeamlessTravelCount” check was removed from APlayerController::HasClientLoadedCurrentWorld to prevent issues when client finishes travel before the server.
If anybody else stumbles upon issues xfering data between levels in multiplayer environment (Works SP too) here is what I found to work. In order to xfer a persistent Playerstate (Data stays between level xfers) both levels default game modes must have matching default player states and player controllers. On the game mode you’re xfering from, in the details panel check “Use Seamless Travel” to true. In my case I was transfering a persistent playerstate so on that player state I override the node “EventCopyProperties” Cast to the new playerstate that will be created when the next level/gamemode opens and set the variable or w/e i want to persist. Then when I actually change levels/gamemodes I found that the OpenLevel node doesn’t work for multiplayer so I had to use a node called “ExecuteConsoleCommand” with command “ServerTravel CustomLevelName”. Lastly and most importantly in your project’s Config/DefaultEngin config you have to add this line:
[ConsoleVariables]
net.AllowPIESeamlessTravel=1
Now everything I set on the new playerstate travels with to the next level/gamemode.



