Posted on

Integrating Wwise into Unity with Wwise Launcher

This post is the first in a short series designed to teach you some simple, but neat, technical implementation tricks with Wwise and Unity.

Before we get to the super fun stuff, I need to make sure you’re all up to speed on how to get the two applications talking to each other.  If you’ve been doing game audio for even a short length of time, you likely know how to do this – that’s totally okay.  I’d suggest reading along regardless, some things have changed!

Integrating Wwise and Unity in 2018

Relatively recently, Wwise began to ship with a utility called the “Wwise Launcher”.  This is a standalone “management” application designed to help you access multiple versions of Wwise and integrate the system into popular engines – namely Unity3D and Unreal Engine 4.

It used to be that you had to download a separate “integrator” application, put it in the right place on your drive, and cross your fingers to get Wwise integrated to an engine.  I’m sure at one time it was more difficult than that.

As of the latest version of Wwise (2017.2.6 as of this writing), you don’t even need to create a Wwise project before integrating.  To say it’s insanely simple is just… putting it lightly.

Prior to doing this, you obviously need both a working copy of Unity3D and Wwise itself.

Once you have copies of both programs, create (or open) a Unity project and make sure it’s saved properly on your drive.

From there, open the Wwise Launcher.  You’ll see something like this:

Notice how you have options for Unreal Engine and Unity at the top!

Go ahead and click the Unity button.  So long as you’ve saved your project to disk and opened it recently, it should pop up in the list like below.

(I hope you love my sweet titles and typos – I’m available for work, feel free to hire me)

Notice that projects without Wwise integrations have a nice big blue button that says “Integrate Wwise into Project”

Beautiful, right?

Again, the crazy thing here is – with “Space Shooter” above as an example – you don’t even need to make a Wwise Project separately anymore.  Just hit the integrate button and you’ll see this.

As you can see, you get all the options for endpoints, extensions, etc.  If you leave the Wwise project path blank, a new project will automatically be created for you!

Once that’s done, you’ve officially integrated.  It’s that simple!

Caveats

While that’s all super simple and wonderful, especially if you’re a student, do realize that during real production there’s a decent likelihood that you wouldn’t actually integrate Wwise like this.

Wwise hooks into an existing codebase, and if your programming team has modified the engine you’re working with much at all – a standard integration tool like this may or may not work.  In a real production situation, it’s much more wise to work with your engineers and make sure that Wwise gets integrated properly.

What do I mean by “properly”?

I mean in a way that works for the team, specifically the engineers.  Wwise is a large hunk of code, which is not at all optimized to your game or your game’s engine initially.  It’s best to make sure that the engineering team knows and understands how Wwise gets implemented into the engine (and likely even does the work themselves).

My point?  Don’t walk into a situation and go “oh yeah, I know how to integrate Wwise”.  Instead, know how to run the Launcher integration, and work with your team to make sure that’s the best way of going about it.

What does the “integration” do?

Integrating Wwise into Unity, in layman’s terms, means that Wwise takes over the audio system from stock Unity.

Instead of using Unity audio system tools (Audio Listener, Audio Sources, Reverb Zones, Mixer, Effects, etc), those are bypassed in favor of Wwise’s own versions of all of those utilities.

You also get custom Wwise-related UI to help you traverse the project from within Unity itself and use sounds/create events more easily.

What’s Next?

There are a number of resources that already show you how to make events work within the Unity UI.  What I’m going to show you next is a bit more technical implementation – playing with code.

If you’ve ever used the Wwise Profiler, you know that you can get important messages and telemetry back from your game using it.  I’m going to show you how to send your own custom commands to it with C#!

Interested in More?

If you like this series and you’re interested in learning more about technical implementation with Wwise and Unity, including programming your own basic custom triggers, sending messages, affecting RTPCs, etc. then enter your contact information below to get on a waiting list for “Basic C# Implementation with Wwise and Unity” – a video course I’m in the process of developing.

By entering your information below you will be signed up to my email newsletter, and your name/email will be attached to a specific interest group that will get further information on the course.  Even if you’re on my list, please enter your information again if you’re interested in more information!


Copyright 2016-2021, NIR LLC, all rights reserved.