Anything like a Set Curve function available in Blueprint?

I am assembling some particle system blueprints and I am currently stuck on this one. I know that I can get color, vector, etc and apply those to exposed variables in particle systems, but I do not see any way to set a curve.

This appears to make any sort of alpha, size or color over life impossible to set via blueprint. Is this the case at the moment, or am I missing something?

can add a timeline and set a curve in it. to adjust a float, or vector over time.

Any examples of this in any of the sample projects within unreal, or in a video demo and whatnot?

Seems like the timelines color option would work better (for particle color fields at least) but i cant find out how to connect that or a timeline curve back into the particle.

Which Particle you using and what do you want it to do? Do you make it move in a circle or rotate the particle on the spot.

There is a Rotating Movement in Blueprints you could play with?


oh no, sorry, i’m trying to drive a particle variable with something within the blueprint. I can set basic variables like vectors, but (as with most particle system parts) i need a curve or vector set over time.

Someone suggested using a timeline curve (or color) to drive that variable, but i dont see how to convert the timeline data into something the “set vector” or “set color” can use. And quite surprisingly, i dont see much of any examples, tutorials, youtube videos, etc on this. Seems like it would be a common use :confused:

You create a vector track in the timeline then you can feed it into the particle system.

oh, i see, i was pulling from the wrong nodes in the timeline box. thanks much!!

one more, can timelines not be added like that in construction graph, only the event graph? I dont see anyway to pull from a specific track like that if the timeline is added in the construction graph.

or maybe a simpler question… am i wasting my time making blueprints for particles? for ease of editing and spawning, or so i think >.<

Hey -undertow-,

I think what you are looking for are Float Curves & Color Curves, they can be created by right clicking in the Content Browser, highlighting “Miscellaneous” and selecting “Curve”. You will be able to choose whether you want a Float, Vector, or LinearColor curve.

To use the curves in a blueprint (I use them in both the construction script and the event graph) you just need to create a variable and set it’s type to either CurveFloat, CurveVector, or CurveLinearColor. with that done you can use the curve with a float variable driving the time 0-1 range (or any other range, it is not limited to 0-1) like this:

If you double click on the actual curve asset in the content browser you can adjust the curve similar to how the other curve editors work in the editor:

All the examples above are setting a value in a DynamicMaterialInstance, but you can expose a Vector/Float parameter from within the particle editor as well if you want to adjust some other values.

Hope that helps, let me know if you need some more info! :slight_smile:

Don’t forget to change the Distribution to a vector parameter too

that is definitely what i was looking for dotcam, thank you!

Hey guys sorry to drag up an old thread but I’m trying to find a solution to this issue and none of the ones I’ve found online are satisfactory.

I want to make the ColorOverLife a “parameterized” curve which I believe is the intention above. However, I have a few issues with the above solution and hopefully y’all will have some answers.

  1. ParticleTime can’t be accessed in Blueprint as far as I know
  2. Even if I did have ParticleTime, wouldn’t the vector parameter simply change the color over life across the board rather than per particle based on particle age? I guess I’m confused by how a vector parameter can be considered “over life” at all because there’s no notion of time.

Basically what I’m trying to do is modularize a bunch of my effects to be able to easily change color palette based on what team a player is on. I want it to be modular because I want the freedom to add any number of teams and not have to duplicate particle systems and manually add switching calls and whatnot in BP. The goal is a single master particle system with a dynamic ColorOverLife curve that has different color values depending on a player’s team.

This seems like a fairly common use case and frankly I’m surprised that you can’t feed a LinearColorCurve as a parameter to ColorOverLife.

Any help would be greatly appreciated :slight_smile: