Seamless Travel with Play in Editor

Hello Epics, any plans to fix Seamless Travel in PIE?

You where promising to fix it someday.

1 Like

It’s still not fixed in 4.19.2: Let’s hope its fixed in 4.20

1 Like

4.22, nope.
Edit: Removed my long rant.

1 Like

The short answer is there are a few issues/crashes with seamless travel and PIE. We want to get to a point where we can spend time on it, but haven’t quite got there. We also benefit greatly from the workflow improvements, so we’re motivated to get to this. Hopefully soon!
dq fan feedback

1 Like

4.25.3 Still unresolved. You cannot perform seamless travel in PIE.

Still not possible in UE5. Not being able to debug seamless travel is a huge burden. So much to the point I’m looking at disabling it and creating a complicated save data approach for preserving Game Mode / Game State / Player Data.

Is this something that is on the roadmap to accomplish?

2 Likes

Do you know what issues you’re having? I’m have the UE5 EA branch and use seamless travel in my game with PIE and it seems to work out okay. I thought I had made an custom engine change to get around some issue but I can’t seem to find one in my source control history. We’re also doing it at my work with 4.27, but again I’m pretty sure we’ve got an engine modification or two to allow it.

I think there are some quirks with it that add some small wrinkles to deal with. But overall it can mostly work. If you’re willing to modify Engine source.

Interesting. I’m using Preview 2. Simply put, ServerTravel does absolutely nothing when running in PIE. Currently as a work around, to make PIE somewhat usable for testing, I detect if running in PIE and do a OpenLevel instead.

There definitely seems to be Editor and PIE handling in the FSeamlessTravelHandler (at least in EA). Hard to say why it’s not working without debugging it directly.

Giving it a quick debug: AGameModeBase::CanServerTravel() has the following:

	// NOTE - This is a temp check while we work on a long term fix
	// There are a few issues with seamless travel using single process PIE, so we're disabling that for now while working on a fix
	if (World->WorldType == EWorldType::PIE && bUseSeamlessTravel && !FParse::Param(FCommandLine::Get(), TEXT("MultiprocessOSS")))
	{
		UE_LOG(LogGameMode, Warning, TEXT("CanServerTravel: Seamless travel currently NOT supported in single process PIE."));
		return false;
	}

So, still being prevented in core code.

Oh, maybe I’m not having an issue because I’m calling SeamlessTravel which doesn’t seem to check that like a call to ServerTravel does.

I mean you could just comment that out … maybe you won’t have those issue :wink: .

After all these years, seems like we can finally seamless travel in PIE(UE5 only though): https://github.com/EpicGames/UnrealEngine/commit/917ebf5038844cb10bb8ee8df6412d9d6b8567bb

1 Like

Good news! Starting with 5.1, there is a new “net.AllowPIESeamlessTravel true” console command that allows seamless travel to be used in PIE.

The bad news. There is a rather large bug that will cause the editor to crash in transitioning from a non-world partition map that contains an actor with a child actor. After 8+ hours of trying to debug the source of the issue, I submitted a bug report, we will see if it’s addressed…

7 Likes

I tend not to use Child Actor Components as they are buggy anyways, hopefully they get reworked.

1 Like

Does that really mean that if we are working with multiplayer we can ONLY test the flows by running outside of the editor as a standalone ?!

Yeah, it’s pretty terrible. I ended up going without seamless travel in my current project.

Would you mind explaining how you do group travel without it ? :confused:

I still use ServerTravel for map changes, it just doesn’t make use of seamless travel, thus all clients reconnect every map change.

As of 5.3, seamless travel does work. I had mine inside of a macro initially, and it always disconnect the client during travel in editor. Once I moved it to a function, it worked just fine.