Tutorials - alessandrofama/wwise-godot-integration GitHub Wiki
Tutorials
Table of Contents
- Loading Banks
- Registering a Listener
- Posting your first Event
- Using the Area and Body Entered/Exited Signals
Loading Banks
Loading Banks by using the AkBank node
Create a new node and select the AkBank node from the node list:

In the inspector, select your desired bank and specify when the bank should be loaded or unloaded in Load On and Unload on:

Make sure to load the automatically exported Init bank before other banks in your project.
Loading Banks with GDScript
To load a bank with GDScript call load_bank or load_bank_id .
Note: The first string version will only work if you checked the Use SoundBank names in the SoundBanks project settings in the authoring app.
Example:
var result = Wwise.load_bank_id(AK.BANKS.INIT)
print(result)
Registering a Listener
Registering a Listener using the AkListener node
To register a listener, create a new node and select the AkListener from the node list:

That's it! The listener's position will be updated according to the node's position in the scene.
Registering a Listener with GDScript
To register a listener in code call register_listener . Make sure to update the listener position by calling set_3d_position .
Example:
Wwise.register_listener(self)
Wwise.set_3d_position(self, self.get_global_transform())
Posting your first Event
After loading the banks and registering a listener, is it time to play some sounds!
Posting an Event by using the AkEvent node
Create a new node and select the AkEvent node from the node list:

In the inspector of the AkEvent node you will find various fields:

If you have converted the Wwise IDs with the provided tool, you will be able to select your desired event from the Event drop down list. Select when the event should be posted in Trigger On.
Posting an Event with GDScript
To post an Event in code first register a GameObject by calling register_game_obj and then call post_event or post_event_id on the registered GameObject.
Example:
Wwise.register_game_obj(self, self.get_name())
Wwise.post_event_id(AK.EVENTS.MUSIC, self)
Using the Area and Body Entered/Exited Signals
Often we don't want to post an Event or to set a Switch as soon as the game starts. The integration makes use of the area_entered, area_exited, body_entered and body_exited signals to trigger an action on the custom Wwise nodes.
Let's have a look at this example scene:

We would like to post the Event as soon as it enters the Area on the right. At the same time we can stop the Event when it leaves the area. To achieve this behaviour we select Area Enter and Area Exit in the Trigger On and Stop On fields of the AkEvent node:

After that, select the Area on the right in the scene tree, switch to the signals tab and connect the area_entered signal to the AkEvent node:

Make sure to rename the receiver method to on_area_entered, since by default Godot inserts the node's name into the method's name. Repeat this step for the area_exited signal. Now by moving the AkEvent with the Area on the left side to the Area on the right side will trigger the Event, while moving the AkEvent back will stop the Event.

Note: every Area entering the Area on the right will trigger the Event. To properly filter out which exact Area node should post the Event, add a group tag to the AkEvent node:

and add the Area that is owned by the AkEvent node to a group with the same name.