I have setup simple particle system. Mesh Emitter with collision. Collision Completion Option is set to kill.
And this is code I use to spawn particle:
if (TrailFX)
{
UParticleSystemComponent* TrailPSC = UGameplayStatics::SpawnEmitterAtLocation(GetOwner(), TrailFX, Origin);
if (TrailPSC)
{
const FVector AdjustedDir = (Location - Origin).SafeNormal();
FVector ParticleSpeed = AdjustedDir * TrailSpeed2;
TrailPSC->SetVectorParameter(TrailSpeedParam2, ParticleSpeed);
FScriptDelegate del;
del.BindUFunction(TrailPSC, "Deactivate");
TrailPSC->OnComponentBeginOverlap.Add(del);
TrailPSC->OnComponentHit.Add(del);
}
}