Main Release: The initial release of the Game, without DLC.
DLC: Downloadable content, released after the main release.
Package: A package in the Wwise File Packager
SoundBank: a soundbank in Wwise
Basic Scenario
This is a typical scenario where audio content is added to the game after the main build was released. During the production phase of the game, Wwise produces:
- Banks
- Streamed files
When the game is released, the content used in the main release stop being packaged using the “Default file assignment”. All content is manually inserted to the packages:
- Main packages are created manually
- All content is dragged to the main packages
Those packages, created manually, basically contain all banks and streamed files that were shipped in the main release. This is the point of reference to identify newly created content. The File Packager Project file is then saved.
All DLC content must be created using the same Wwise Project that was used for the main release.
In Wwise:
- Additional content is added:
- new Media
- new structures
- new argument values
- new entries in existing Dialogue Event
- new game syncs
- new busses
- New soundbanks are created that reference
- new media
- new structures
- new events
- updated “dynamic dialogue” events
In File Packager:
- For each DLC, a File Packager package is manually created.
- The user identifies “New” content in File packager
- The user drags the new content into the manually created package (for DLC)
- New Banks
- New Streamed file (if they were not implicitly included)
Example:
- The SoundBankA was included in the main release and packaged into Package #1.
- The content of SoundBankA is modified after main release. It is repackaged into new Package #2, and is part of the DLC.
- The game, which has the DLC, load Package #1 and then load Package #2.
- When the game wants to load SoundBankA, Wwise will load the one found in Package #2 (it has priority on the one found in Package #1).
Adding children
The following containers can’t have children added in a DLC via an additional bank
- Random/Sequence Container
- Switch Container
- Blend Container
- Music Switch Container
- Music Playlist Container
- Music Segment
You can only add children to containers by completely re-packaging the existing bank. This would involve including a new version of the bank in the DLC.
However, the following objects can have children added by a DLC via additional banks:
For example, suppose the following hierarchy:
- WorkUnit
- ActorMixer
- ContainerA
- Sound1
- Sound2
Suppose you included ContainerA into SoundBank1 of the main release:
SoundBank1 -> ContainerA
For the DLC, you would be able to add a new container under the ActorMixer with no problem:
- WorkUnit
- ActorMixer
- ContainerA
- Sound1
- Sound2
- ContainerB
- Sound1
- Sound2
SoundBank2-> ContainerB
When loading SoundBank1 and SoundBank2, the structures will be merged automatically.
However, it would not be possible to add a Sound under ContainerA for the DLC and package it inside a new bank:
SoundBank2 -> Sound3
If you want to do that, you must re-generate SoundBank1, and include it in the DLC. It will replace the main release’s version.
Modifying the Init bank
For the DLC, when you do one of the following operations:
- Modify busses (in any way)
- Modify Game Sync (Game Parameter, Switches, States)
- Modify Environmental Effect
When releasing multiple DLC
When releasing multiple DLC in parallel or in series, special attention must be taken.
When content evolve over time, DLC builds must be built over the previous DLC projects.
For example, suppose you release:
- The main release (include Init.bnk + RTM.bnk)
- DLC-A (include Init.bnk + DLC-A-specific.bnk)
- DLC-B (include Init.bnk + DLC-B-specific.bnk)
The 3 builds will need to include the Init.bnk file (busses are included in the Init.bnk).
Users could have:
- No DLC
- DLC-A only
- DLC-B only
- DLC-A and DLC-B
Wwise version
The same Wwise version must be used for the RTM and DLC releases to ensure compatibility of the banks and packages formats.