Is it Possible to Edit Cascade Particle Modules in Blueprints?

Goal: I want to take preexisting cascade particles created by a previous developer and adjust them during runtime for future developers to have a easier and faster time creating scenes.

Information: I am editing fires created by a previous developer. They have a module name “Dynamic” and in that module they have Distribution Float Constant Curves for “Temperature” of a fire. I would like to either disable this module during runtime or edit the Temperature parameter in a blueprint. All the fires have the same exact parameter names.

There are other parameters that have been edited in the blueprint

Unfortunately all attempts of using the “Set X Parameters” have not worked when it comes to the Temperature parameter

I have tried changing the type from Distribution Float Constant Curve to a Distribution Float Particle Parameter but the result took away from the quality of the VFX. This would also take tons of time to correct this in the many fire systems we have.

Could I get some guidance?

Oh here is the set up for the emitters. If there is any other information needed Just ask… I’m currently at a stand still for this problem

Hi there,

There many ways to disable a specific emitter (module),

  1. For level editor, you can turn the spawn parameter into a float parameter and set it to 0. Below is the modified fire particle from starter content, isolating the module “Flames” (solo mode, “s” icon) that module is no longer spawning in editor if the value is zero:

click on “Expose parameter” to visualize the particle in editor.

  1. You can use blueprint actors to trigger this changing at runtime using Set Emitter Enable (By Name), setting it to false. If you have multiple emitters to disable, you can turn the list of names into an array and use a for each loop as shown below:

My questions:
What range of values you want by “edit the temperature”? Do you want to change the hue?

Can you expand the distribution section of your temperature parameter to show how many points exist in the curve?

What range of values you want by “edit the temperature”? Do you want to change the hue?

At the moment the smoke starts at a bright color (yellow/orange) and then transitions to a gray/and or black color. I wanted to adjust the temperature out value during runtime so that it matches the end result, or at the very least set it to 0 so it has a gray/black look.

Can you expand the distribution section of your temperature parameter to show how many points exist in the curve?

As requested here are my sections for the temperature parameter.

The value I would want changed is the 2000 out val in index 0.

Thank you so much for your response!

It seems the temperature range is behaving like a “color over life” parameter, but it’s more likely being driven by a “Blackbody” node inside the material graph. So I believe is better to set the value to zero at index 0 than changing dynamically at runtime, because the smoke emitter loops infinitely during the lifetime of the particle and set float parameter acts instantly. To change at runtime, you could use something like that, create a curve float variable and plot the points. Use get runtime float curve value, time 0, value 0:

If you wanted to change all three points of your curve, you might want something fancy:

But this still works instantly, so you may want to try to plug a timeline (1 sec duration, play rate = 0.3 to get 3 sec lifetime) to get a smooth transition, but that depends on the smoke lifetime in seconds, and might not be smooth enough and visually “snaps” because set float parameter acts instantly:

Sorry for the later reply things have been busy. I went ahead and tried all three of these methods but I still seem to be getting the orange color in the smoke, sadly.

Just as a reassurance (maybe I just did it wrong) I’m going to show all that I made/edited.

New Curve Obj that can be manipulated during play

Methods Tried:

Here is the full blueprint of that method being called.

don’t mind after the call… its just a print string for all the instance parameters (not even currently hooked up)

If you’re still seeing orange smoke, my guess is that the Temperature set as Dynamic parameter is being excluded from the Set Float Parameter node. Therefore check if you have duplicated emitters (modules) not covered by the Temperature parameter.

This must be the catch: both names must match: Dynamic Parameter name and Dynamic Parameter Value (when set as Float Parameter). Also, check the input and output value ranges.

I modified the smoke material to add a dynamic parameter, then added a dynamic parameter node to the smoke emitter (module), right click and refresh module. Both methods below worked, but the particle require an initial value other than 0 on spawn, otherwise the value will be always 0. If you want 0 from the start, no action is required.

I was worried the solution might be this. So I will have to create a separate particle system for each fire and adjust the param types to float particle parameter to adjust it during runtime.

Sadly this does come at a bit of loss to the quality of the object as seen in this video. The smoke does lose its orange tint for some odd reason.

Left is Float Constant Curve, Middle is Float Particle Parameter, right is just smoke with no Dynamic module

You’ve got it right. In this setup, a curve parameter inside a repeatable module just won’t behave the way you’d expect. Converting it to a float user parameter and calling Set Float Parameter in Blueprint will only update the value once - and it stays fixed after that, instead of driving the curve on every loop. Unless there’s some very specific setup we’re both overlooking, this does seem to be an engine limitation rather than anything you misconfigured.

I know that’s not the outcome you were aiming for, but at least this confirms the behavior you’re seeing and saves you from spending more time troubleshooting something that isn’t actually faulty on your end.

If you want to take it a step further, you might also consider reaching out to the devs on the official UE Discord. They’re usually pretty responsive, and it’s a good place to get eyes on edge‑case engine behavior like this.

Good luck!

Thank you again for the responses! After some tweaking of the values I was able to get the sameish looks for the smoke. The only problem was the previous curve was so drastic but if I found a nice middle ground for a linear slope it did the trick.

That’s great, would you mind to share the final result?

I have used this method to turning off the orange. The other two seemed not to work fully

The Changes i made to the Fire_15 (so one of many):

This is what it looked like BEFORE (dont use this one) :

Here is the end result video. You can see the orange goes away after the boolean is set to false.

There is one last thing I have to fix and thats making the orange show up again after boolean is set back to true but that is an easy thing to figure out

That’s great, you created a fire extinction effect. It’s just a matter of tweaking the timing.

Best of luck!