Hi everyone,
I’m running into a problem while trying to switch levels in a multiplayer game using Unreal Engine 5. I’m using OpenLevel()
to load a new map when a player completes an objective, but it only seems to work correctly on the server — the clients either get disconnected or don’t follow the level change.
Here’s what I’m doing:
-
I’m calling
OpenLevel(this, "NewMapName")
from the GameMode class after an event triggers. -
The server loads the level, but clients either stay in the current level or get stuck on a loading screen.
-
I’ve tested using seamless travel by enabling
bUseSeamlessTravel = true
in the GameMode. -
I’ve also tried calling
ClientTravel()
on the client side, but that causes issues with synchronization.
My questions:
-
What is the correct way to switch levels in a multiplayer session and ensure all clients follow?
-
Should I always use seamless travel in multiplayer? What are the limitations?
-
Do I need to handle
ClientTravel()
manually for each connected player, or is there a better approach?
Any advice, example code, or pointers to official documentation would be greatly appreciated. Thank you in advance!