Changing initial color over emitter life for GPU particle

I’m trying to change the initial color of my GPU particles by using a constant curve, so that over the lifetime of the emitter the spawn particles get a different initial color. I’ve tested this with CPU sprites where this works as expected, but with GPU sprites it picks one of the set colors and only uses that one.

How I recreate this:

  1. Create an emitter with the GPU Sprite module and a material that uses particle color.
  2. Delete and replace the color over life module with an initial color module.
  3. Set the start color distribution to Distribution Vector Constant Curve, add two array elements.
  4. Set the out vals to two distinct colors.

If the in vals are the same, the second color will be used throughout the lifetime of the emitter. If they’re not the same the first color will be used, regardless of the in vals. In neither of these scenarios does the initial color change over the lifetime of the particles.

Is this a bug, or just a limitation of GPU sprites?

same issue for me. i suspect it is a limitation. using 4.18

Limitation. GPU particles can have only one color. You can only do this from material but with limiation. Dynamic Parameter node dosn’t work with GPU particles so you can’t do exactly this change from material. But you can make GPU particles to constant color change.

Thanks! you saved my day