Enabling Seamless Travel
To enable seamless travel, you need to setup a transition map. This is configured through the UGameMapsSettings::TransitionMap
property. By default this property is empty, and if your game leaves this property empty, an empty map will be created for the transition map.
The reason the transition map exists, is that there must always be a world loaded (which holds the map), so we can't free the old map before loading the new one. Since maps can be very large, it would be a bad idea to have the old and new map in memory at the same time, so this is where the transition map comes in.
So now we can travel from the current map to the transition map, and then from there we can travel to the final map. Since the transition map is very small, it doesn't add much extra overhead while it overlaps the current and final map.
Once you have the transition map setup, you set AGameModeBase::bUseSeamlessTravel
to true, and from there seamless travel should work!