We use mixer groups to organise, control and tweak audio playback.
Example:
MASTER
-USER_SFX (volume exposed to user via settings)
--SFX
---AMBIENT
---ANIMATIONS
---WHATEVER_MORE
-USER_MUSIC (volume exposed to user via settings)
--MUSIC
---AMBIENT
---ACTION
So, whenever the game triggers any playback, a sound is created under specified mixer group and that sound is then mixed up towards the master group, taking into account all settings and all audio effects which might be attached to a mixer group (or bus if you want). Groups also offer mute control, so when dialogs pop up, we simple mute specific groups so that they don't interfere. Another great aspect of groups is that applying effects does not need to be done on each an every playing sound, but on parent group instead. For example, we can apply Echo effect/filter on USER_SFX/SFX/AMBIENT and have effect on all ambient sounds, instead of running Echo filter on each sound under AMBIENT group. All good and dandy.
But, how to handle for example reverb effects which are based in 3D space? I cant just apply reverb on whole SFX group, since some 3D sounds might be inside the reverb area effect, while others might not. I'd like to avoid having reverb effect per sound basis. Can I?