Table of Contents
Sound structures' advanced settings are specified in the Advanced Settings tab of the object Property Editor to limit the number of sounds playing concurrently and to specify their behavior when they are inaudible, which respectively provide the following advantages:
Performance improvements and help in cleaning up your mix
Memory and CPU savings
You shouldn't wait too late in the production process to adjust the advanced settings. More precisely, you should at least perform a first pass before or while mixing. If you spend time tweaking your mix too early, and later realize that audio is using too many resources, you might end up using advanced settings so aggressively to keep audio processing within bounds that it would have a dramatic impact on your mix.
Playback limits should actually help you with mixing. Use them as a form of dynamic mixing, to help players focus on what's important instead of drowning them with sounds. You may also use bus ducking, Set Voice Volume Actions, States, or RTPCs to clean up your mix.
Playback limits used on sound structures help you limit the number of sounds playing at the same time, either per game object or globally as specified in the Actor-Mixer and Interactive Music hierarchies. (In the Master-Mixer Hierarchy, it is always globally). Its logic is solely based on the number of sounds that play. However, sound designers can apply separate limits to different objects throughout a hierarchy. And, as desired, they can also create separate hierarchies by selecting the Ignore Parent option. In sum, the different levels of playback limits provide sound designers with greater and easier control over what will play.
Playback limiting conditions are checked before attempting to play a sound. When a sound is about to start and the limit has already been reached, either this sound or another one is stopped. The first criterion is the sound's priority. In the case where the two candidates have the same priority, the sound engine stops either the oldest or the newest instance of the sound, as specified by the When limit is reached and When priority is equal properties.
When a sound is killed because of playback limit, it is not restarted when the play count falls below the limit. So, be careful with infinitely looping ambient sounds.
Priority settings work together with the playback limit. Tweak priorities in the hierarchy to balance the limiting system. Sounds that should never be killed by the limiting system, like voice overs, background music, or looping ambient sounds, should have the highest priority. Furthermore, the effective priority can be affected by the distance between the sound and the listener.
The "under Volume Threshold" behavior has nothing to do with playback limits and priorities. It only tells what will be the sound's behavior when it is inaudible. To determine whether a sound is inaudible, Wwise only looks at the metadata volume, which is the resulting contribution of all volumes of the hierarchy, Busses, States, RTPC, and Set Voice Volume Actions. It never analyzes WAV data.
The following dynamic mixing techniques can be applied in the Advanced Settings tab.
Limit playback on busses or on actor-mixer structures to make room for important sounds
For example, reduce the number of ambient and foley sounds when there's a lot of action, explosions, or any element on which players should focus. Find the bus where ambiance and foley meet guns and explosions, set a limit on that bus, and lower the priority of the former.
Use distance offset for priority
For example, among ambiance sounds, use playback limiting along with distance-based priority in order to focus on those that are closer. The Offset priority by option specifies a priority offset value at maximum distance, which is interpolated between 0 and at max distance.
Duck volume of less important sounds
It is sometimes impossible to use playback limits. For example, if you start infinitely looping ambient sounds once at the beginning of a level, you should avoid having them stopped by playback limiting because they will not be restarted when things calm down. In this case, or in any case you see fit, use the technique you want to duck their volume when there is activity in other, more important areas of the game's audio. For example, shut ambiances down during voice overs or combat. You don't need to hear the buzz of a lamp when a grenade explodes next to you. This process can be viewed as metadata side-chaining. Volume changes can be triggered using the bus ducking feature on control busses or Set Voice Volume actions within specific events, and so on.
Once you have cleaned up your mix by lowering the volume of less important sounds in specific situations, tweak their "under Volume Threshold" behavior in order to have them use the least CPU and memory possible while they are inaudible.
Implement a code-side dynamic mixing system
Notice that the playback limits, priorities and priority offsets can be exposed to the game through RTPC. Nothing prevents you from implementing a system which adapts these settings based on what's happening in the game.