Niagara Module - Dependency - Emitter Switching

I’m trying to build a series of Modules that we can use to help limit the look and the variety across the project.

I started by building a System Module that defines some colours and an Enum that is set to work with Niagara via the project settings.

The aim is to have this system turn on and off certain emitters based on this enum

I thought i’d need to have a System Module to define the Enum and then have each emitter read and compare that enum against the enum set for it.

This is a Basic system

Particles Blow Left if Courage
Particles Blow Right if Compassion

System module outputs a colour based on the enum that we can’t see here and works as expected due to the color node being linked to the System AffinityColor



The Affinity Check Module above compares the Enum set by the developer to the enum set by the System (Which is linked to the User Param for blueprint reasons)


It then compares the two and decides if it should keep that value set by the developer or instead default to 0


This doesn’t work, I have tried every Namespace and modifier possible to make sure its not something I failed to understand - I have built in Provided and Required Dependencies to make sure they always work together and they behave as expected.

I have no idea why this check doesn’t work and would love some ideas as to how I can handle this situation.

I want this one system to change emitters based on this Enum.

Ideally it wouldn’t use any SpawnRates/Floats and would basically just toggle the emitter off or deactivate it or something

Does anyone have any ideas as to where my module logic is going wrong and how I can better switch off an emitter in a Niagara System based on an Enum?

P.S.

(I assumed this was a more performant way as I plan to use Source Emitters to determine the spawn points of others, which is why it made more sense for them all to be in the same system)