Niagara Sample Audio from custom Submix

I’m trying to make my Niagara System react only to one specific Audio Cue, I’m using the Audio Spectrum node to sample the audio, which takes in a Submix input
image

The FX responds fine when using “MasterSubmixDefault”, but I can’t find a way to make it work properly using a custom Submix.

I have 2 sound cues, one is a song and the other is background noise, I’m trying to have my FX respond only to the song.
so I made 3 new Submixes, a new Master, one for the Background and one for the Music
image

Since now I have a new Master Submix, I’ve replaced the Engine Default one for the new one in the Project Settings

Opened both my cues assets and changed the Base Submix accordingly
image

image

Now when I assign “MasterSubmix” to my particle system it reacts to all the sounds in the level as expected, but when I replace it with “MusicSubmix” it stops reacting altogether.

I thought the issue might have been that the MusicSubmix is not receiving any audio information making my particle system not react to it.
However, looking at the documentation I managed to debug all three Submixes separately using Spectral Analysis and it looks like the 2 different cues are sent to their Submixes correctly.

I’ve been struggling with this for a while now, I haven’t done much Audio in Unreal before so I might be missing something. I’m just confused if there is something wrong with my setup or if there is a problem with Niagara.
I also tried using the “Sample Audio Buffer” node that uses an Audio Oscilloscope input, but it also takes in a Submix parameter and it’s giving me the same problem.

Since I can debug the Submixes in blueprint using the Spectral Analysis I could maybe just feed the Magnitude float array to Niagara and drive the FX from that, but definitely, that doesn’t feel like the appropriate way to approach this.

1 Like

In case anyone is struggling with this, the answer seems to be to uncheck ‘Auto Disable’ in the submix. Why? No idea.

3 Likes

I can confirm this works, I’ve turned off “Auto Disable” on both of the submixes and now the Niagara Systems are behaving as expected

When hovering over the parameter it reads:

Auto-manage enabling and disabling the submix as a CPU optimization. It will be disabled if the submix and all child submixes are silent. It will re-enable if a sound is sent to the submix or a child submix is audible.

It makes sense that they get disabled if not used, but it looks like they are not getting re-enabled…

thanks! this actually helped me a lot xD