Can you get initial ranged particle size to use in a particle update curve?

Hello! Very new to this. I’m using Niagara to try and create a blobby lava drip. I have set the initial particle size (in particle spawn) as a ranged vector and changing values in the Z and X accesses as I want some particles to be more stretched out/wider than others to create variety. I’m also trying to create the effect of each particle starting out wider/blobbier at the top when it spawns that gradually stretches out and then retracts a bit near the end of its life.

In my head the only way to do this is to create a ranged float for the initialized particle, and then in the update particle section, create a curve vector that changes values over time. It would be ideal if I was able to get the random values assigned to each axis from the initial ranged vector and use that as the starting point in the curve under the particle update section. However, I’m not sure this is possible. Hopefully that makes sense.

Is there a way to do this?

The way i do it is pretty much the way you mentioned it.

I use a ranged Vec2 in the Initialize Particle module, maybe something like:

minX: 5.0 minY: 7.5
maxX: 7.5 maxY: 10.0

And then in the Particle Update i use a Sprite Size Scale with a curve to tweak all the necessary changes of it’s NormalizeAge. I usually have the Y curve scale a bit more than my X, at this point it’s basically just shaping it the way you want. Since your X and Y are offset in the Initialize Particle under Spawn, you will always get random sized particles since this is what the Sprite Size Scale is “based” on.

Another minor trick i use for drips, sparks etc. is to offset the particles Y-position on Pivot in UV Space under the Sprite Renderer settings. That way you can make it scale towards the Y-end of the sprite instead of scaling towards it’s center.