Niagara - Maintain constant # of particles

I’m trying to make a tail for my character that essentially traces the path behind it, I’ve tried doing it a few ways incl. with Control Rig but no success.

My current attempt is to use Niagara to draw the tail as a cylindrical ribbon. What I want to do is have a constant number of particles that live forever, then each time I generate a new particle (Spawn per Unit as the character moves), destroy the first particle to make room for more.

Right now I’m using a Particle Attribute Reader to compare the index of the particle and the # of particles, to determine if this is the first particle and we have enough particles in the list such that one needs to be deleted. This is fed into a ShouldKill flag which is then used to kill the flagged particle at the end of update.

This isn’t really doing anything currently and I’m not sure why. I’m fairly new to Niagara & just trying to figure things out so any help would be fantastic!

Scratchpad:

System:

What it looks like now (way more particles than the specified cap of 25):

Figured it out! I needed to grab the particle ID from the Particle Attribute Reader and feed that in to the Get Particle Index node.

1 Like

For those of you who wonder how to do that, you actually have to grab this ID directly from Map Get node, not from the Particle Attribute Reader:
image