Managing priority

At any moment in a game, you can have many objects playing at the same time, even to the point where the number of objects surpasses the limit set by the project team. To effectively manage the number of objects that are played, you must determine how many can play simultaneously, and which ones take priority.

In Wwise, there are three main properties that can help you determine which objects will be played at any point in the game:

  • Playback Limit - A limit to the number of instances that can be played at any one time. (This does not include any virtual voices.)

  • Playback Priority - The importance of one object relative to another.

  • Volume Threshold - A certain volume level below which objects are not played.

By setting limits, assigning priorities, and specifying a minimum volume level, you can effectively and creatively manage the many objects in your game while respecting any memory limitations that have been put upon you.

Playback limit and priority - example

Let's say you are composing music for a game that will have very restricted bandwidth. You have been told you can have no more than four voices playing back at once. In this case, you could set the Playback Limit of your top-level parent object to four. Each of your Music Segments will contain no more than two tracks, so when the pre-entry and post-exit parts of each track are played during a transition only two voices are taken up. This way, if two segments are playing at the same time, you will still only be within the four voices playback limit.

If, however, a Stinger is triggered by the game during a transition, you will surpass the maximum of four streams.

When the number of voices surpasses the playback limit, Wwise looks at the playback priority of each music object to see which one to stop playing. In this case, you would probably set the Stinger segment to a lower priority to ensure that the “regular” music continues to play. If, however, all five objects in this example had the same priority, you can choose to kill the newest or the oldest instance.

The following illustration shows how you might set up your Interactive Music Hierarchy along with the values you may assign for Playback Limit and Playback Priority in a case like this.

For more information about music objects and building your Interactive Music Hierarchy, refer to Building the Interactive Music Hierarchy.

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