Niagara Particle Attribute Reader with circular dependency

Hello, I’m developing a Niagara effect made of various emitters inside a system. 3 of them have a custom script that reads data from the others.
Example: Emitters A, B and C.
A reads data from B and C
B reads data from A and C
C reads data from A and B

While compiling the system in the output log I get:

LogNiagara: Error: Found circular dependency involving emitter 'Powder' in system 'test'. The execution order will be undefined.

I don’t mind if some of the system access outdated data (the difference is minimal) and in-editor everything works, but this error prevents me from making a shipping build.

Do you have any suggestion on how to handle this case? To me it would be good to manually specify the execution order of the emitter’s code, but I cannot find anywhere how to do so.

Thank you all!

Hi Matteo, have you been able to find any solution to this problem?
Thanks in advance!

Circular dependencies are currently not allowed. We thought about adding a mode where you could manually define the read order when a circle is detected, but there is no eta for this feature yet.

Hello, thanks for the reply. I managed the situation by making a single emitter spawn all the particles needed by the A, B and C emitters and assigning an id to every particle, thus letting me completely remove A, B and C emitters. I then wrote a custom module to move the particles to the right spawn places (dependant on the randomly assigned id) at spawn time and alters some particle’s variable. This process is heavier than having 3 different emitters but has worked well and has let me have 1 single emitter reading his own data.