0 like 0 dislike


I've been using SelfID to distinguish between 5 of my particles so I can then use "select" to manually give them specific velocities like so:

 Velocity = select(Velocity,float3(-2,0,0),SelfID == 0);

It works fine in PopcornFX Editor, it repositions(moves them) the particles to those places every time I click restart.

However, when I bake it and put it to unity, it repositions them correctly the first time, but fails to do so after restarting it again or even replaying the scene. As if the SelfIDs changed in Unity after the first playout.

Deleting the Fx object and then importing it again while in-game does not work either.

Is there another solution or am I missing something?

Thank you,


by zheljka (720 points)

1 Answer

2 like 0 dislike
Best answer

Hello Zheljka,

This is normal, I assume you are using ribbons ?
SelfID is used in internal in the engine and you should not have access to that field. He will fix that in the 1.9 release of our editor. So you shoud not use it.

You could however use spawner.EmittedCount in the script, returning number of particles already emitted by the spawner before it spawned this-one.

Here is the script reference if you haven't seen it yet.


by ohmatheus (5.4k points)
I was using meshes, but yes, this works now. Thank you.