I m facing a problem with seamless travel that is driving me crazy. I want to seamless travel from my Lobby map to the game map, I had a LobbyGameMode with bUseSeamlessTravel = true
and a LobbyPlayerController defined as PlayerController default class type. When the listen-server call ServerTravel to the new map, the same travel successfully while the client never does. That happens because the client never calls **ServerNotifyLoadedWorld **resulting always in error (World.cpp line 5463). The reason why the client never notifies the server is that by that time LocalPlayer::PlayerController is null.
After debugging and debugging I came to the conclusion that the reason why the LocalPlayer->PlayerController is null, is because right before starting traveling the client create a new LobbyPlayerController named **LobbyPlayerController_C_1 coexisting with the originalLobbyPlayerController_C_0 ** but taking ownership of the current connection and overriding LocaPlayer->PlayerController to point to LobbyPlayerController_C_1 . Later into the FSeamlessTravelHandler::Tick **LobbyPlayerController_C_1 **is deleted because the one that remains due the seamless travel is LobbyPlayerController_C_0.
So the key here is why is a new LobbyPlayerController is created? how can avoid this problem in order to make seamless travel work?