I have figured out how to make
custom sounds respond to Audio Options. I.e. when you use a volume slider to make them louder or quieter.
First, some theory is needed. All sounds in the game are routed thorugh
sound buses. There are several (see the list below), but what matters is that they are organized in a hierarchical tree. At the top there's
always Master Audio Bus. It is created by WWise and cannot be changed or removed. That's why our sounds responded only to a master volume slider - it govers this bus.
Firaxis has designed several other buses, but there are 4 key ones:
- Ambience Bus (id=4202237879)
- Master Music Bus (id=48433064)
- Master SFX Bus (id=3577355056)
- Speech Bus (id=1472570345)
You can easily guess what they are for. For each there's also a volume slider in the options.
To make custom sounds respond to volume sliders you need to tell the engine
which sounds go through which buses. And that's all...
Instructions
1. First you need to create in the project all buses you are going to use. For that use 'Audio' tab, Master-Mixer Hierarchy, select 'Master Audio Bus' and add a child bus (small button above 'Create new audio bus' or right-click/New Child). Do NOT create Auxiliary bus, just Audio Bus.
1a. You can use all buses that Firaxis designed - just make sure that they are correctly linked in the tree.
2. Then assign sounds to buses. Again, 'Audio' tab, Actor-Mixer Hierarchy, select your sound. On the right there will be a window and in the middle a section 'Output Bus'. Click '...' to select a desired bus. Repeat for all your sounds.
3. You can now generate sound bank and it will contain information about the buses to use (
point 8 in @Ewok-Bacon-Bits post).
Important info. This method works because WWise assigns unique IDs to buses based on their names (probably some hash). Anyway, you must use the exact names that Firaxis uses and then the bus ID will be correct as well.
Important info 2. You still need to remove manually the section about Init.bnk (
point 11). I have not testet it, but I suppose that if it stays it will overwrite Firaxis's definitions (which are also in Init.txt) and break all sounds in the game.
All buses (you can find that info in Init.txt in <game_dir>\Base\Platforms\Windows\audio)
As you can see, the 4 key buses have children for specific types of sounds. E.g. for Wonders you might wanna use \Master Music Bus\Wonder Music Bus, for units \Master Audio Bus\Master SFX Bus\SFX Bus 3, etc.
\Master Audio Bus\Ambience Bus
- \Master Audio Bus\Ambience Bus\Day
- \Master Audio Bus\Ambience Bus\Gallery
- \Master Audio Bus\Ambience Bus\Night
\Master Audio Bus\Cinematics_Music_SFX
\Master Audio Bus\Cinematics_Speech
\Master Audio Bus\Master Music Bus
- \Master Audio Bus\Master Music Bus\Great Music Bus
- \Master Audio Bus\Master Music Bus\Music Bus
- \Master Audio Bus\Master Music Bus\Music Stingers Bus
- \Master Audio Bus\Master Music Bus\Wonder Music Bus
\Master Audio Bus\Master SFX Bus
- \Master Audio Bus\Master SFX Bus\Forced_UI Bus
- \Master Audio Bus\Master SFX Bus\Interface
- \Master Audio Bus\Master SFX Bus\Notifications Primary
- \Master Audio Bus\Master SFX Bus\Notifications Secondary
- \Master Audio Bus\Master SFX Bus\Notifications Tertiary
- \Master Audio Bus\Master SFX Bus\Notifications_NonDucked
- \Master Audio Bus\Master SFX Bus\SFX Bus 2D
- \Master Audio Bus\Master SFX Bus\SFX Bus 3D
- \Master Audio Bus\Master SFX Bus\SFX Leaders
- \Master Audio Bus\Master SFX Bus\SFX_Focus_3D
- \Master Audio Bus\Master SFX Bus\Vocalizations
\Master Audio Bus\Speech Bus
- \Master Audio Bus\Speech Bus\Speech_FTUE_Bus
- \Master Audio Bus\Speech Bus\Speech_Ingame_Advisor
- \Master Audio Bus\Speech Bus\Speech_Ingame_Narrator
\Master Audio Bus\Speech_CustomVO_Bus
\Master Secondary Bus