Quick answer: Unreal Niagara component's SetAsset() with a new system not playing the new emitters? SetAsset reuses internal state - call ResetSystem after to clear.

Swap VFX asset on a Niagara component; old emitters' particles linger; new emitters spawn but timing is wrong.

Reset after SetAsset

Niagara->SetAsset(NewAsset);
Niagara->ResetSystem();

Clean state; new system starts fresh.

Or destroy and recreate

For full isolation: destroy the component; spawn a new one with the new asset.

Pool by asset

Pool per VFX asset; never swap. Lookup is by asset reference; no SetAsset cost.

“Component state survives asset swap. Reset bridges.”

If you swap Niagara assets at runtime, the reset is non-optional. Or restructure to avoid swaps.

Related reading