How to stop a niagara system from spawning new particles and still complete existing particles

I’m using a niagara ribbon attached to a projectile. Everything is looking great but I’d like to stop the system spawning new particles when the projectile collides with something.

I’m spawning the niagara system in c++ and have a pointer to a UNiagaraComponent. I’ve tried Deactivate() & Pause() and also tried setting the parameter “SpawnRate.SpawnRate” to control the spawning of particles.

None of what I’m doing is producing the desired result.

Any suggestions on how to achieve this and any best practices for using niagara for a bullet smoke trail? Currently because my niagara system is attached to the projectile I have to leave the projectile actor active (and not immediately destroy it) to give the particle time to complete when it collides.