Seamless and non-seamless travel

In UE4, there are two main ways to travel: Seamless and non-seamless. The main difference, is that seamless travel is a non-blocking operation, while non-seamless will be a blocking call.

When a client executes a non-seamless travel, the client will disconnect from the server and then re-connect to the same server, which will have the new map ready to load.

It is recommended that UE4 multiplayer games use seamless travel when possible. It will generally result in a smoother experience, and will avoid any issues that can occur during the reconnection process.

There are three ways in which a non-seamless travel must occur:

There are three main function that drive travelling: UEngine::BrowseUWorld::ServerTravel, and APlayerController::ClientTravel. These can be a bit confusing when trying to figure out which one to use, so here are some guidelines that should help:

UEngine::Browse

UWorld::ServerTravel