Help setting up environment-specific events


I’m working on a sci-fi game that has space and planet scenes. I have a number of sounds that can be played on either scenes, and wanted to have some effects applied only when in space, to make them sound more “realistic”. What would be the best approach to do this?

We’ve thought about creating two mixing groups: one for space, one for planet. The space group would have filters applied to it. The drawback would be that each event would need to be duplicated, and each copy would get routed to its respective group (right?). The game code would also need to trigger a different event based on the context, which would not be ideal.

We’ve also thought about using a global parameter isInSpace, and making every event respond to it, but then we’d need to go through each one and add effects to them. Not only would that take some time, but I imagine it would be less performant than a global effect in the mixer group.

So, is there another method of doing this? What would be the best approach?

Thanks in advance!

The right method for what you want is using snapshots. No need to duplicate your events nor your routings.
Different methods are possible, but if I were you I’d probably create a return bus on the general mixer, which would be called “Space Effects”, then send the proper amount directly from the SFX group you want the effect to by applied to, directly in the mixer (one setting to treat all events at once). The snapshot could either automate this send level, or the Space Effects bus volume.

1 Like

Perfect, thanks @Alcibiade!