Version

menu_open
Wwise Unity Integration Documentation
Adding New Triggers for Wwise Events

In most Wwise components for Unity, there is a "Trigger On" property from which you can select which Unity notification/event will trigger the Wwise component (Event, Switch, State, etc.). This list contain only a subset of what is possible in Unity. However, the triggering system is extensible, without modifying the Integration code itself.

To add a new trigger, you simply have to write a C# class that derives from AkTriggerBase. All classes derived from AkTriggerBase will be found through reflection and added to the "Trigger On" drop list. This class contains a delegate, triggerDelegate(GameObject in_target), that you must call when the conditions for your trigger occur. The "target" object is optional and currently used to give collided objects when used with Colliders. This allows Wwise components to post Events on the "collidee" instead of the Collider.

While entirely optional, you could use this system to trigger audio components from your game code too. You can simply call GetComponent<YourTriggerClass>().triggerDelegate(GameObject in_target) from your code whenever your trigger condition occurs (or have a custom function).

Note: Currently the maximum number of derivative classes of AkTriggerBase is 32.

Here is an example with a custom function:

public class TriggerOnGunHit : AkTriggerBase
{
void Hit()
{
if(triggerDelegate != null)
{
}
}
}

From your game code, you could have this code:

if (playerIsShot)
{
GetComponent<TriggerOnGunHit>().Hit();
}

Any Wwise component linked to the TriggerOnGunHit trigger would then do its job. Note that in many simple situations, this is completely superfluous; you could also simply call the base Wwise SDK through AkSoundEngine.PostEvent("GunHit", gameObject) and let the sound designer handle the effect of this Event in Wwise.

Trigger triggerDelegate
All components reacting to the trigger will be registered in this delegate.
Definition: AkTriggerBase.cs:19
Base class for the generic triggering mechanism for Wwise Integration. All Wwise components will use ...
Definition: AkTriggerBase.cs:12

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