When you use VFX Graph and attempt to set your Strip capacity to anything less than your particle capacity, once your particle ID goes over capacity, the system will only spawn particles based on the strip capacity.
Example: Initialize particles with capacity 100, set a periodic burst with rate 50, delay 1, set particle lifetime to 1. In your strip capacity, set strip capacity to 1. In the first two “iterations”, you’ll get the expected behaviour: 50 particles get spawned, they die after 1 second, 50 more are spawned and they die. But now we’re spawning particle 101, and from now on every burst you’ll only get 1 (strip capacity) particle each cycle. It’s very consistent, if you set strip capacity to 5, you’ll get exactly 5.
Now I’m not sure if this is by design or not, but it sounds like a bug to me. I stumbled upon this trying to have only a part of my particles spawn trails.
Minimal setup for reproduction:
My project is using URP 2D, running Unity 6000.0.21f1, but I found this old thread that mentioned 2022.3.14 being affected aswell: VFX Graph stops spawning particles if trigger event over time is active
Before capacity is full:
After the buffer gets populated: