In an upcoming game project (Windows platform) we’re planning to use FMOD as a pure software audio mixer, with extensive use of DSPs and software reverb for a consistent audio experience for users (and fewer hardware-related headaches).

I’m trying to wrap my head around the proper role of ChannelGroups. The documentation gives nary a mention to them except to describe their literal functionality.

Obvious applications are basic volume control groups manipulated by user settings. Additionally, ChannelGroups could be used to further subdivide sounds by internal categories. The relative volume levels (and other default characteristics) of the sounds in these internal categories are tweaked by the sound designers during development to balance the game mix.

However, would it be feasible or desireable to create, say, a channelgroup for each character in the world? This would force submixing of various elements from a single character, such as footsteps / Foley, vocalizations, weapon sounds, impacts and hits, etc… This submixing could theoretically improve efficiency, since reverb would only have to be applied to the submix instead of each channel. On the other hand, it may end up making matters worse because of the overhead of the ChannelGroups and the submixing. What is the overhead of a ChannelGroup if only one channel plays through it?