Workaround for client crash on seamless travel UE-72891

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.