How to know order of sorted particles?

When the “Sorted Billboard” option is used with particle renderer, the particles seem to get shuffled between frames. This makes it really hard to do animations or transitions on particle properties, because any arrays that you create in parallell to the particle system, reference the wrong indices between frames.

Is there a way to know how the particles got sorted? Reference hashtable won’t work because the particles are structs so copied by value. There doesn’t seem to be any data available to determine the original array position of a particular particle.

Am I correct? Is there a solution?

To clarify with a usage example:

Consider if you wanted to randomize a color for every particle in the particle system, and then slowly transition each particle to its randomized color.

The apparent way to achieve this is to create an array of same size as the particle count, and put the randomized colors in there. Then you just lerp the particle colors to these stored colors. This seems to work as long as you don’t use the sorted billboard renderer.

Any workaround?

Bump.