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.