Niagara limit spawn rate by FPS

Hello, is there a way to prevent a Niagara system from spawning more than one particle per frame?

I have a system that uses the ribbon renderer, and as long as I set the spawn rate to below frame rate it is fine, however in the hypothetical case that the framerate drops below the set spawn rate it starts to look very weird.

I can enable interpolated spawning; this does seem to fix the issue of it looking weird at low frame rates, but it comes at a performance cost. All I need is for the spawn rate to never exceed the frame rate.

Thanks!

Hello there @Perfect_Human_Interface!

Checking with my peers, there are a few ways to resolve this, the most effective one would be to tie the spawn/ticket to the frame rate itself.

To do so, open your Niagara system, go to the Emitter Update section, and add a float parameter “MaxSpawnRate”. Then, open the Rate module, and replace the constant value with the following:

Min(MaxSpawnRate, 1.0 / Engine.DeltaTime)

This should result in the spawn rate never going over the current framerate of your scene. Hope this helps!