Version
menu_open
Warning: you were redirected to the latest documentation corresponding to your major release ( 2023.1.8.8601 ). Should you wish to access your specific version's documentation, please download the offline documentation from the Audiokinetic Launcher and check the Offline Documentation option in Wwise Authoring.

The Project Hierarchy

The assets that you import into your project are the foundation for your project hierarchy. The project hierarchy evolved from traditional mixing techniques where different instruments were routed to a bus, so that you could control their sound properties as a single mixed sound. For example, each of the hi-hat, ride, crash, bass drum, and snare sounds could be routed to a single bus so that you could control their volume and other parameters as if they were one entity.

In Wwise, a similar approach is used to organize and group the sounds, motion objects, and music in your project. By grouping sound, motion, and music objects in such a manner, you begin to build a hierarchical project structure that creates parent-child relationships between the various objects. This unique and efficient way to create and manage the audio and motion in your game gives you more control and flexibility to build a realistic and immersive environment for your game.

The Wwise project hierarchy consists of three distinct levels:

  • Actor-Mixer Hierarchy—groups and organizes all the sound and motion assets in your project using a series of Wwise-specific objects.

  • Interactive Music Hierarchy—groups and organizes all the music assets in your project using a series of Wwise-specific objects.

  • Master-Mixer Hierarchy—defines the routing and output of the different sound, motion, and music structures using one or more output busses.

[Note]Wwise Project Hierarchies are Workgroup Ready

Working as part of a team is crucial in today's game development environment. Although only one Wwise project can be used per game, you can divide up a Wwise project's hierarchies into different work units so that different people can work on the project concurrently. Work units are distinct XML files that contain information related to a particular section or element within your project. These work units can help you organize and manage the different elements within a project. If you are working as part of a team, these work units can also be managed by your source control system to make it easier for the different members of your team to work on the project concurrently.

Understanding the Actor-Mixer Hierarchy

The Actor-Mixer Hierarchy groups and organizes all the sound and motion assets in your project. At the base of this hierarchy are all your individual sound and motion objects. You can define the properties and behaviors of these individual objects, but you can also take these objects and group them together so that you can define their properties and behaviors as a unit. To accommodate the complex nature of audio within a game, different types of objects can exist within the Wwise project hierarchy. Each object type has a set of properties, such as volume, pitch, and positioning, and a set of unique behaviors, such as random or sequence playback. By using different object types to group sounds within your project hierarchy, you can define specific playback behaviors of a group of sounds within the game. You can also define these properties and behaviors at different levels within the hierarchy to obtain different results.

Since motion is generally tied to audio in a game, Wwise uses the same principles and workflow for generating motion. This means that you can organize the motion assets for your game into hierarchies, and assign properties and behaviors in the same way as your audio assets.

You can use a combination of the following object types to group your assets and build a structure for your project:

  • Sound objects

  • Motion FX objects

  • Containers

  • Actor-Mixers

Audio Structures

The various voice and sfx assets in your game are represented in Wwise by special audio structures called sound objects. These sound objects contain sources that are linked to the original audio file.

The audio source is a separate layer between the imported audio file and the sound object. By adding an abstraction layer, you can have multiple sources and audio files all contained within the same sound object.

This not only makes it easy to test different conversion settings but also allows you to efficiently manage multi-language development.

Note: Wwise uses a similar method to manage the music and motion assets in your project.

Source Plug-ins

Sound objects not only support audio sources, but they also support plug-in sources.

Wwise ships with a variety of source plug-ins, including a tone generator, silence, and audio input plug-in. In addition to being immediately useful in your production pipeline, the main purpose of these is to be used in conjunction with provided source code as a reference for programmers who are interested in building their own. With the creation and management of audio structures being done in Wwise by the sound designer, programmers are now free to develop a variety of source plug-ins, pushing the envelope in audio design and enhancing the overall experience of the game.

Building a Hierarchy of Audio Structures

These sound objects can be grouped together to create a hierarchical project structure. Audio properties and behaviors can be applied at different levels in the hierarchy to give you the control and flexibility you need to build a realistic and immersive game experience.

Containers are used to group the sound objects within your project. They are mainly used to play a group of objects according to a certain behavior, such as Random, Sequence, Switch, and so on. For example, you can group all the gun shot firing sounds into a Random Container so that a different sound will be played each time the gun is fired in game.

All these audio structures are routed through a hierarchy of busses where additional properties and effects can be applied at a global level.

Audio Structures - Roles and Responsibilities

The following table shows you which tasks related to audio structures are the responsibility of the sound designer and which ones are the responsibility of the programmer:

Tasks

Sound Designer (Wwise)

Programmer (Game Code/Tools)

Create sound objects for game audio assets

X

Group objects and build project hierarchy

X

Define sound properties and behaviors

X

Route audio structures through busses

X

Develop source plug-ins

X

Understanding the Interactive Music Hierarchy

Wwise offers you great flexibility when it comes to creating the interactive music for your project. There is an almost infinite number of ways to assemble interactive music objects into a game score. However, following some kind of consistent structure can make your workflow more efficient.

Two of the basic structures that can be applied to interactive music projects are as follows:

  • A vertical project structure is one in which you re-sequence the game score by shuffling the tracks contained in music segments. This is similar to the track mixing used in music production. It can help you make a varied score out of long, multi-tracked segments.

  • A horizontal project structure is one in which you vary the game score by changing which segments are played at any given time. To do this, you can arrange short discrete segments in the Interactive Music Hierarchy, much like you would arrange objects in the Actor-Mixer Hierarchy. In this way, you can make a compelling score from a selection of short music segments while minimizing console requirements.

Typically, you'll use a combination of both these structures to make efficient use of the resources you have available for your project. A good structure lets you show off your music, and make the most of your console resources.

Understanding the Master-Mixer Hierarchy

On top of the Actor-Mixer and Interactive Music hierarchies sits the Master-Mixer hierarchy. The Master-Mixer hierarchy is a separate hierarchical structure of busses that allows you to re-group and mix the many different sound, music, and motion structures within your project and prepare them for output. The Master-Mixer hierarchy is divided into two sections: one for sound and music, and one for motion. Each section consists of a top-level “Master Bus” and any number of child busses below it.

You can choose to route sound, music, and motion structures through these busses using the main categories within your game. For example, you may want to group all the different audio structures into the following four categories:

  • Voice

  • Ambience

  • Sound Effects

  • Music

These busses not only create the final level of control for the sound, music, and motion structures within your project but they can also determine which sounds are affected by environmental effects such as Reverb. Because they sit on top of your project hierarchy, you can use them to create the final mix for your game. Depending on the platform, certain effects, including environmental effects, may also be applied to the busses to create that immersive experience that your game requires.

You can also use the Audio Bus structure to troubleshoot problems within your game. For example, you may want to solo specific voice, ambient sounds, or sound effects busses, to identify specific sounds or music.

The following illustration shows an example of a Master Audio Bus hierarchy that uses two preliminary busses to separate the environmental versus the non-environmental sounds and then uses several other audio busses to regroup some of the sound structures in the Actor-Mixer hierarchy and some of the music structures in the Interactive Music hierarchy.

[Note]Note

A similar hierarchy can be created at the same level under the Master Motion Bus for all the motion structures in your project.


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