Is there a workaround for the client crash on seamless travel regression UE-72891?
One workaround is to deactivate all the particle systems in your player controller’s PreClientTravel method:
// Workaround for particle system crash on client travel
// UE-72891 https://issues.unrealengine.com/issue/UE-72891
static void UE_72891_WORKAROUND()
{
for (TObjectIterator<UParticleSystemComponent> Itr; Itr; ++Itr)
{
Itr->DeactivateSystem();
}
}
void AYourPlayerController::PreClientTravel(const FString& PendingURL, ETravelType TravelType, bool bIsSeamlessTravel)
{
Super::PreClientTravel(PendingURL, TravelType, bIsSeamlessTravel);
UE_72891_WORKAROUND();
...
}
Confused how this is working.
Does this pick up all particle systems and iterate through them?
for
(TObjectIterator
Itr; Itr; ++Itr)
Is there some code that is missing in your post. I’m still running into the crash bug with this code.
Oddly adding a “Sleep” call seems to solve the issue… but this is super hacky.
Yes, it iterates through and deactivates all particle systems. The workaround is a hack. One problem with it is that if you somehow activate a particle system between PreClientTravel and TickWorldTravel you will still hit the crash. Perhaps that’s what is happening for you.
I tried the approved workaround but I still crash. Destroying all the actors does not appear to work for me either. I still crash. Would love a clean solution.
Agreed. Also, I’m concerned that because the crash is in Cascade that it may not ever be fixed, since Niagara is replacing it.