In an attempt to be as flexible as possible and to meet the requirements of almost any type of game, Wwise has introduced a new approach for managing the SoundBanks in your game. This new approach does not invalidate the usefulness of the original method (explained later in this section), but simply gives you more control and flexibility so that you can better manage the requirements of your games.
The new approach offers three major improvements over the existing traditional method:
You can populate your SoundBanks with not only events, but also structural content (sounds, containers, Actor-Mixers, and so on), work units, and folders.
You can determine what types of information will be included in the bank. This means that you can populate a bank with only media, structural data, event content, or any combination of the three. For example, you may want to create a bank that contains only the media associated with a specific event.
You can include or exclude specific items from a SoundBank.
The main advantage of this new approach is that it allows media content to be split into multiple memory banks. For example, let's say the music for the entire game is started using one single event. Using the traditional method, you would add the event to the bank, which automatically adds all the corresponding in-memory sounds and pre-fetched media, including the pre-fetch for the song that only plays at the end of the game. Storing all the media in memory for the entirety of the game seems very inefficient. Using the new approach, however, you can better manage your memory by splitting the music media into multiple banks so that it would be loaded only when sounds are likely to be played.
By splitting the media into multiple banks, you can also prioritize the media that is to be loaded. For example, in an environment with limited memory, you will want to load only the most important media. Non-critical media could be stored in a separate bank that would be loaded into memory only when there was enough room. Previously, both critical and non-critical media files were contained in the same bank. If the bank was too large to load into memory, none of the sounds would play, including the critical ones.
The Wwise SDK Bank Management Samples describe the different methods that can be used to generate and integrate the banks in your game. In a single game, you can use one or a combination of the different methods. Since every game is different, the method or methods you choose will depend on the specific requirements of your game. Remember that all solutions will work, but the strategy you choose should take into consideration the memory usage, the I/O access, and the ease of integration in game. Each method has its advantages and drawbacks, so in most situations, it will be a question of balance between memory usage and ease of integration.
Additional SoundBank integration details: