Version
In order to deliver the desired sound structure in a DLC, it is necessary to understand the impact of different changes and additions on the existing release structure. The following paragraphs detail common scenarios that require special considerations.
To add children to some objects in a DLC you must completely repackage the existing SoundBank, which must be included in the DLC. However, some objects can have children added by a DLC via additional SoundBanks. The following table lists the objects that need a newly repackaged SoundBank and those that can add children in a DLC with an additional SoundBank.
Objects requiring repackaging of SoundBank to add children to DLC |
Objects that use additional SoundBanks to add children to DLC |
---|---|
|
|
For example, suppose the following hierarchy:
WorkUnit
ActorMixer
ContainerA
Sound1
Sound2
Suppose you included ContainerA into SoundBank1 of the main release. For the DLC, you would be able to add a new container under the Actor-Mixer Hierarchy without issue.
WorkUnit
ActorMixer
ContainerA
Sound1
Sound2
ContainerB
Sound1
Sound2
You then create a new SoundBank2 and add ContainerB to it. When loading SoundBank1 and SoundBank2, the structures are merged automatically. However, it would not be possible to add a sound under ContainerA for the DLC and package it inside a new SoundBank. If you want to do that, you must regenerate SoundBank1 and include it in the DLC. It will replace the main release version.
Note | |
---|---|
Separating Events and Structures from Media content is a good strategy for games that plan to release DLC, as the repackaging of SoundBanks has less impact on the size of the DLC. |
For the DLC, you must repackage the new version of the Init.bnk file in the DLC when you modify busses, game syncs (Game Parameter, Switches, and States), or environmental effects in any way.
When releasing multiple DLCs in parallel or in series, special attention must be taken. When content evolves 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), the DLC-A (include Init.bnk + DLC-A-specific.bnk), and the DLC-B (include Init.bnk + DLC-B-specific.bnk). If the Bus structure is different in RTM, DLC-A, and DLC-B, then any additional busses found in DLC-A must be present inside DLC-B.
The 3 builds will need to include the Init.bnk file, which includes busses. Users could have:
No DLC
DLC-A only
DLC-B only
DLC-A and DLC-B
When users haves DLC-A and DLC-B, it will load the Init.bnk provided in DLC-B. Since the Init.bnk in DLC-B was built over DLC-A, the busses required for DLC-A are available.
Questions? Problems? Need more info? Contact us, and we can help!
Visit our Support pageRegister your project and we'll help you get started with no strings attached!
Get started with Wwise