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.

I have the exact same problem. My smoke and fire particles get attached to the player vehicle when a certain amount of damage is reached. I want to stop the Niagara system when the player character crashes and loses a life, but I cannot destroy the actor altogether.

How can I deactivate the niagara system?

You can stop the emitter/s (set the emission rate to 0) without stopping the system.

How can I address the emitters in a blueprint? I tried Set Paused but that didn’t work.

I found the solution (on Reddit):

2 Likes