Seamless Travel

Hi all,
I have a game where all platers are gathered in a lobby. The host of the lobby selects the game type and other rules and then launches the game → I use server travel to travel to the new map. My question is, should I use seamless travel when I travel from lobby to a new map and/or from the map back to the lobby (assuming I’ll want to transfer some data like points back to the lobby), or should I use none seamless travel? I tried to understand the difference between them but I don’t think I fully understood.

As I explain in my compednium which I linked to you a while back and the attached Epic docs, seamless travel should always be favored upon non-seamless ones. However, sometimes, a non-seamless travel must take place, because that’s how the engine works (again the 3 circumstances are mentioned in the previous links).

The difference is really simple. As the name suggests, a seamless travel keeps clients connected to the server, meaning no disconnections, thus less issues involved. It’s also faster, so you don’t have hard cuts whatsoever. You also get to persist a whole set of actors, making your data easily persistent.

In hard/non-seamless travels, clients are forcefully disconnected from the server, and you feel the hard cut when traveling. As a result, there are also less options to persist data and so on.

2 Likes

I guess I was asking the wrong question then. When I used seamless travel to travel back to the lobby it didn’t load. I found out I had to use Event Handle Starting New Player instead On Post Login. I’m still not sure about “When loading a map for the first time” - Is it when loading any map for the first time or each time I load the destination map for the first time? If so, how can I detect if I already loaded the map?
And tanks again for helping, much appreciated :slight_smile:

Both questions are answered in my compendium :slight_smile:

  1. HandleStartingNewPlayer fires on both seamless and hard travels, while OnPostLogin fires only on hard travels.

  2. Loading the first map for the very first time. When players launch the game, the map they load in (which is the customization lobby usually) must be a hard travel. Otherwise, every travel to a new map must be a hard travel, and that makes no sense.

1 Like

How do you plan on supporting Multiplayer? Steam? Lan? ???

I believe how you answer this question might impact the travel you need.

For me, I plan on releasing a game using Steam. I claim seamless travel is needed for Steam if you are using lobbies and sessions.

Also, when you are developing/debugging your game in PIE and “standalone game” it may make since to support non-seamless travel. For example, PIE does not support seamless travel in “Run Under One Process”.

I believe if you plan how you are going to release the game as well as maintain all developing/debugging features UE offers, you should be able to architect a multiplayer travelling implementation.