SoundBanks tips and best practices

Before defining the contents of your SoundBanks, you might 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 generated 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 might 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, try to stream long sound or music files. Refer to Streaming sounds and/or Streaming music.

Grouping common elements into SoundBanks

It is a good practice to group common elements together into one SoundBank. For example, all elements that stay loaded throughout the game, like the menus, the main character, and so on, can be grouped into one SoundBank. For elements that are loaded and unloaded as the game is being played, 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 the 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 might have on filenames.

SoundBank version control

There are several ways to use a version control system for your project's generated files (SoundBanks and media files) and folders:

  • Update the version control status manually using the version control application.

  • Adding pre-generation and post-generation steps in the SoundBank Settings to update the version control status. For more information, refer to SoundBanks Settings - SoundBanks Tab.

  • Configure Wwise to automatically update the version control status of your project's generated files by enabling the Use Source Control for Generated Files option in the SoundBank Settings. For more information, refer to SoundBanks Settings - SoundBanks Tab.

Regardless of how version control is configured for generated files, consider enabling these version control options (if available):

  • Make files writable: Typically version control systems lock versioned files/folders by making them read-only. Making them writable allows your team members to, locally on their machines, disable version control and generate SoundBanks without having to change file permissions.

  • Preserve timestamps: When this option is enabled, file timestamps are preserved during version control synching. This leads to a slight performance improvement in Wwise when generating SoundBanks.

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise