Object playback tips and best practices

Before deciding on the playback behaviors for the objects in your project hierarchy, review the following sections. They provide tips and best practices that can help get the results you want.

Streaming sounds

Generally, the best practice is to stream sounds that are too large to store in memory, for example music, ambient room tones, and even voices, if there are many of them. However, many different things come into play when determining which option is best.

At the beginning of your project, we recommend that you speak to the development team to determine the following:

  • How many streams will be available for audio?

  • What is the bandwidth of each stream?

  • Will these streams be shared?

  • How many concurrent streams can you use?

  • Will the streaming occur from the platform hard drive, directly from disc, or from a remote server?

With this information, along with a sound's sample rate and compression format, you can perform some calculations and then make informed decisions about whether to stream sounds or not.

Streaming and prefetch

The more streams you have playing concurrently, the more prefetch time will be required. You can start out using a short prefetch time, but as the number of concurrent streams increases over the course of your project, you might need to increase it.

Random Containers

Avoiding repetition of sounds within Random Containers that have a scope set to “global” - the purpose of using a continuous Random Container in shuffle mode is to avoid the repetition of sounds. If, however, your container has a limited number of sounds and you have many instances of this container playing back, you might experience some repetition. To avoid this type of behavior, make sure that the number of sound objects within the container is at least twice the number of playback instances. For example, if you have three playback instances of the same Random Container, we recommend that your Container contain at least six different sound objects to avoid repetition.

Blend Containers

  • CPU usage: be aware that when you play a Blend Container, all the objects in it will play simultaneously and can therefore use up a large amount of memory. You can use the virtual voices settings to reduce CPU use, but this might result in glitches if crossfades are short and frequent. For more information on using virtual voices, refer to Volume threshold and virtual voices.

  • Deciding between Switches and Blend Containers: during gameplay, both Switch Containers and Blend Containers can be used with RTPCs and produce similar results. According to your requirements, consider the following:

    • If you want different objects to be played at different times, and crossfades are unimportant, you can use a Switch Container.

    • If you want all objects to be played at all times, and if crossfades are required, use a Blend Container.

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