Version
menu_open

Method 1: The “All-in-one” Bank

This method will apply if:

  • The game has a limited amount of audio and/or motion assets.

  • The game has plenty of free memory.

Of course, most games generally don't have memory to waste, but this technique has the major advantage of being very simple to use and to maintain. The main reason for using this technique is to have the entire Wwise project integrated in the game in a minimum amount of time.

To create the “All-in-one” SoundBank in Wwise:

  1. Create one SoundBank, and name it appropriately.

    • Load the SoundBank into the SoundBank Editor and then drag the following items to the “Add” tab:

    • The “\Actor-Mixer Hierarchy\Default Work Unit”

    • The “\Events\Default Work Unit”

    • The “\Interactive Music Hierarchy\Default Work Unit” (Only required if using interactive music)

    • The “\Dynamic Dialogue\Default Work Unit” (Only required if using dynamic dialogue)

    • The check boxes under the Events, Structures, and Media columns are all selected by default. This is good because, for this method, we want everything to be included in the SoundBank.

      [Note] Note

      In a new project, only the default Work Unit is available. If more Work Units are created, these Work Units should also be added to the SoundBanks as required.

  2. After all the Work Units have been added to the SoundBank, you can generate it and then copy the generated SoundBank folder to the game application.

To integrate the “All-in-one” SoundBank in game:

  1. Since there is only one SoundBank for this game, you can simply load it when initializing the game. Of course, the sound engine must be correctly initialized first.

    The following sample of code gives you an idea how the “All-in-one” SoundBank can be loaded in game:

         
                  // Initialize the sound engine here. 
                  ...
    
                  // Load the Init bank and the "All in one" SoundBank. 
                  AkBankID  bankID; // Not used in this sample. 
                  AKRESULT eResult = AK::SoundEngine::LoadBank( L"Init.bnk", AK_DEFAULT_POOL_ID, bankID );
                  if( eResult == AK_Success )
                  {
                    eResult = AK::SoundEngine::LoadBank( L"MyAllInONeBank.bnk", AK_DEFAULT_POOL_ID, bankID );
                  }              
                  ...
           

Additional Notes on this Method

The following table lists the pros and cons of the “All-in-one” SoundBank method.

Pros

Cons

Easiest way to maintain the content of the SoundBanks from the sound designer point of view.

No need to recompile the game when changing the content of the SoundBanks since the game always loads the same SoundBank.

No complex in-game loading and unloading of SoundBanks.

No need to track in-game which sounds are available or not.

Inefficient usage of memory because all Events, structures, and in-memory media for the entire game are loaded at all times.

Even though this method is a good way to quickly and easily integrate the audio and motion in your game, don't wait until the end of the project to switch to a method that makes better usage of your game's memory.


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