Table of Contents

SoundBanks Tips and Best Practices

Before defining the contents of your SoundBanks, you may want to review the following sections, which provide you with a series of tips and best practices that can help you better manage the SoundBanks in your game.

Updating the Initialization Bank

Wwise updates the Initialization bank as necessary each time one or more SoundBanks are generated. This is to ensure that the two sets of banks are in sync. The Initialization bank contains all the general information about a project, including information on the bus hierarchy, and information on States, Switches, and RTPCs. If changes are made to any of these elements within your project, Wwise updates this bank for your game along with the newly generated SoundBanks. If, however, no changes are made to these project elements, Wwise will not generate a new version of the Init.bnk.

Initialization bank - A special bank that contains all the general information about a project, including information on the bus hierarchy, and information on States, Switches, RTPCs, and environmental effects. The Initialization bank is automatically created every time Wwise generates the SoundBanks. The Initialization bank is usually loaded once at the beginning of your game so that all the general project information is easily accessible during game play. It must be the first bank loaded when starting a game, or else the other banks may not load. By default, the Initialization bank is named “Init.bnk”.

SoundBanks and Memory

If you include long sounds in your SoundBanks, it can take up a lot of the platform's memory. To avoid taking up extra memory, you should try to stream long sound or music files. For information on how to stream sounds and music objects, refer to Streaming sounds and/or Streaming Your Music.

Grouping Common Elements into SoundBanks

It is a good practice to group common elements together into one SoundBank. For example, all elements that will stay loaded throughout the game, like the menus, the main character, and so on, should be grouped into one SoundBank. For elements that will be loaded and unloaded as the game is being played, you should group them into logical units or building blocks that can be exchanged or swapped throughout the game.

Using Work Units and Folders

To avoid having to edit your SoundBanks each time changes are made to your project, you can recreate the way your SoundBanks are set up using folders and/or Work Units. Since Wwise maintains an active link between elements in a SoundBank and those in your project, once these folders have been added to the SoundBank you will never have to edit the SoundBanks again because they will get updated automatically.

Using Event IDs in SoundBanks

At the final stages of your project, it is a good practice to use Event IDs instead of Event strings because Event IDs can be verified more quickly because the sound engine doesn't have to hash the name before proceeding.

Generating Integrity Report

It is a good idea to generate the integrity report before generating your SoundBanks. The integrity report displays a list of errors in your project along with possible ways to resolve them. By resolving all your project errors before the SoundBanks are generated, you can minimize the problems with the audio or motion in your game.

Using Multi-Select in the SoundBank Editor

If you are working on the Add tab of the SoundBank Editor and you need to exclude the same type of project element for several items, you can select multiple items in the Hierarchy Inclusion list, and then deselect one of the check boxes. This will exclude the type for all selected items. You can use the multi-select to include a type for many items as well.

SoundBank Name Restrictions

To get around a platform's file system limit on filenames, you can package your SoundBanks into file packages. A file package is a self-contained unit, so it completely abstracts the platform's file system, which removes any limits the system may have on filenames.