Version
menu_open

Managing Effects

One way to enhance the sounds, music, and motion within your game is to apply one or more effects to the objects in your project's hierarchy. Using Wwise's open architecture, you can easily create and define your own Effect plug-ins. These varied Effects can add more vibrancy and realism to your game's sounds, music, and motion. In addition, to assist you in this process, Wwise comes with several Effect plug-ins and factory ShareSets.

For information about effects used to recreate environment acoustics, refer to Using Effects to implement environment acoustics.

Creating Effect ShareSets

Effects are made up of a collection of properties called an instance. When you define an instance, you can use it as a ShareSet, which allows you to apply it to many different objects within your project. The advantage of using a ShareSet is that you don't have to modify the Effect's properties for each object individually. However, if you prefer, you can also define custom instances tailored for one specific object.

When changes are made to the Effect properties of a ShareSet, all objects subscribing to that ShareSet are affected.

Most often, when you apply an effect to an object or bus in the hierarchy, you apply this effect as a ShareSet. Wwise comes with several default and pre-defined effect ShareSets, but you will probably want to expand this list by creating your own. Each effect ShareSet provides you with a different version of an effect that you can then apply to various objects in your project.

You can create effect ShareSets in two locations in Wwise:

  • In the Project Explorer

  • In the Property Editor

To create an effect ShareSet in the Project Explorer:

  1. In the Project Explorer, switch to the ShareSets tab.

  2. In the Effects section, right-click the Work Unit to create the ShareSet.

    The shortcut menu is displayed.

  3. Click New Child.

    The list of available effect plug-ins is displayed.

  4. Select the type of effect you want to create.

    A new instance appears as a child of the Work Unit in the hierarchy.

  5. Replace the default name with one that best represents the new ShareSet and press Enter.

    The new name of the ShareSet, along with the type of effect in brackets, is displayed in the Effects hierarchy.

    [Note]Note

    Each ShareSet name must be unique, and must only include letters, numbers, and underscores. It must begin with a letter or number. You can rename a ShareSet at any time by right-clicking it, selecting Rename, and typing a new name. Unless absolutely necessary, you shouldn't rename a ShareSet after it has been integrated into the game because it will require additional programming.

To create an effect ShareSet from within the Property Editor:

  1. Load an object into the Property Editor.

  2. Switch to the Effects tab.

    [Note]Note

    If the object is not a top-level object, you must select Override parent before you can select an Effect.

  3. In the Effects table, click the Selector button (>>).

    The list of available effects is displayed.

  4. Place the mouse cursor over the type of effect you want to apply.

    A list of corresponding effect ShareSets is displayed.

  5. Click New.

    The New Effect dialog opens.

  6. Select the Work Unit in which you want to create the Effect ShareSet.

  7. Type a name for the ShareSet.

    [Note]Note

    Each ShareSet name must be unique, and must only include letters, numbers, and underscores. It must begin with a letter or number. You can rename an instance at any time by right-clicking it, selecting Rename, and typing a new name.

  8. Click OK.

    The new ShareSet is created, and is applied to the selected object.

Deleting Effect ShareSets

You can delete a ShareSet if you no longer need it. Before deleting a ShareSet, you should make sure that objects are not still using it. If you delete a ShareSet, the ShareSet is automatically removed from all objects that subscribe to it.

To delete a ShareSet:

  1. In the Project Explorer, switch to the ShareSets tab.

  2. In the Effects section, click the ShareSet you want to delete.

  3. Press the Delete key.

    The ShareSet is deleted, and is removed from any objects to which it was applied.

Applying Effect ShareSets to Wwise objects

After you have created your Effect ShareSets, you can edit them and apply them to any Wwise object in your project hierarchy. You can apply up to 255 different effects to each Wwise object. If a chain of effects is applied, the Effects are processed in the order in which they appear in the list. The order in which effects are applied is important as it alters the end result of your object.

You can apply Effects to busses in the same way you apply them to other objects. When Effects are applied to a bus, all incoming audio data is sub-mixed before the Effect is applied.

Some effects can be quite CPU intensive, so it is important that you develop an efficient strategy for using them. For some tips on applying effects, refer to Effects tips and best practices.

[Tip]Tip

Applying time-based Effects (such as RoomVerb or Delay) to music objects is not recommended, as this can interfere with time-based properties and behaviors already assigned to these objects. To avoid this interference, you can instead apply the Effect to a bus the object is routed to.

To apply an effect ShareSet to an object:

  1. Load an object into the Property Editor.

  2. Switch to the Effects tab.

    [Note]Note

    If the object is not a top-level object, you must select Override parent before you can select an Effect.

  3. In the Effects table, click the Selector button (>>).

    A list of effects that can be applied to the object is displayed.

  4. Place the mouse cursor over the type of effect you want to apply.

    A list of corresponding effect ShareSets is displayed.

  5. Click the ShareSet you want to apply.

    The ShareSet is applied to the object.

  6. Repeat steps 3-5 to apply additional effects to the object.

    [Note]Note

    You can apply up to 255 different effects to an object.

Converting Effect ShareSets into custom instances

Effect instances in Wwise fall into two categories:

  • Custom effect instances that are applied to a single object only. When you change the properties of a custom instance, only this object is affected.

  • ShareSets that can be applied to many objects. When you change the properties of a ShareSet, all the objects using that ShareSet are affected.

By default, all effect instances you create begin as ShareSets. However, you might want to tweak a ShareSet for only one object. To do this, you can convert the Effect ShareSet into a custom effect instance. For example, let's say you've created a ShareSet called Funky_Reverb, but you want a special variant of that ShareSet just for a sound called Speech_1. You can apply Funky_Reverb to Speech_1, convert it to a custom instance, and then make your changes. The changes you make will apply only to Speech_1, and not to the objects that subscribe to the Funky_Reverb ShareSet.

To convert a ShareSet into a custom instance:

  1. Load an object which has the Effect applied to it into the Property Editor.

  2. Switch to the Effects tab.

  3. In the Effects table, select Define custom from the Mode list for the Effect that you want to convert to a custom instance.

    The name of the Effect instance has the word “Custom” appended to it. From now on, changes you make to the instance will only affect the one object that uses it.

    [Note]Note

    You can also create a custom effect instance by applying the Default (Custom) version of a ShareSet to an object. The original ShareSet still exists, and remains unchanged for any subscribed objects.

Bypassing Effects

After you apply an Effect to an object, you can audition the original unprocessed version by bypassing the Effect. You can apply several Effects to an object, and you can bypass each one individually or bypass all Effects. You can bypass Effects at any level in the hierarchy, and you can also bypass effects in-game by using the Bypass action in the Event Manager or by using an RTPC or a State.

Effects add to CPU usage at runtime. If CPU usage is a concern, you can bypass Effects and observe the impact on CPU usage in the Performance Monitor. Refer to Performance Monitor Settings for details on enabling CPU-related counters. For information on Effects and CPU usage, refer to Effects tips and best practices.

To bypass one or more Effects:

  1. Open an object in an Object Tab or the Property Editor.

  2. Select the Effects tab. The Effects table lists all of the Effects applied to the object. Each Effect appears in a separate row.

    [Note]Note

    If the object is not a top-level object, you must select Override parent before you can select an Effect.

  3. Bypass individual Effects or all Effects by doing one of the following:

    • To bypass an individual Effect, locate it in the table and select Bypass at the right side of the row. Repeat as required.

    • To bypass all Effects, select Bypass All at the bottom of the Effects table.

    The selected Effects are no longer processed.

Rendering Effects

You can render one or more Effects that have been applied to objects prior to packaging them into SoundBanks. This saves on processor power during gameplay, but prevents you from bypassing the Effect using the Bypass Effect Event Action. Rendering Effects also prevents you from using RTPC curves or State changes on the Effects.

When you render an Effect within an Effect chain, all previous Effects will automatically be rendered as well. For example, let's say you have a sound object with the following three Effects applied to it:

  • Matrix Reverb

  • Parametric EQ

  • Compressor

If you select the render option for the Parametric EQ Effect, both the Parametric EQ and Matrix Reverb Effects will be rendered prior to packaging into SoundBanks. Additionally, if the first Effect in an Effect chain is bypassed, you cannot Render any subsequent Effects, even if they are not bypassed by any means.

[Note]Note

If the Bypass option and the Render option are both selected for a particular Effect, the Bypass option will take precedence and the Effect will not be rendered.

To render an Effect:

  1. Load an object into the Property Editor.

  2. Switch to the Effects tab.

    [Note]Note

    If the object is not a top-level object, you must select Override parent before you can select an Effect.

  3. In the Effects table, select the Render option for each Effect that you want to render.

    The selected Effect(s) as well as all previous Effects will be pre-rendered on the object when the SoundBanks are generated.

    [Note]Note

    For more information on generating SoundBanks, refer to Generating SoundBanks for a project.

Editing Effect properties

You can edit the properties of any effect instance to suit your needs. In particular, you will probably want to edit the properties of new ShareSets or custom instances before applying them. If you don't, the Effect properties will be left at their default settings. You can further enhance the Effect instance by assigning RPTCs to some of its properties.

When you change the property values of a ShareSet, all objects using that instance will be affected. When you edit a custom effect instance, only the object to which the Effect is applied will change.

[Note]Note

You can use Presets to store Effect properties and speed up your creation of multiple Effect instances. For more information on Presets, refer to Using Presets.

To edit a ShareSet:

  1. In the ShareSets tab of the Project Explorer, double-click the ShareSet you want to edit. Or, click Edit in the Effect group in the Property Editor.

    The Effect Editor for the selected Effect opens.

  2. Define the Effect properties as you want them to sound in your project.

    [Note]Note

    For a complete description of the Effect properties, click the Help button in the corresponding Effect Editor.

To edit a custom effect instance:

  1. Load an object or bus into the Property Editor.

  2. Switch to the Effects tab.

  3. In the Effects table, click the Edit icon (...) for the custom instance you want to edit.

    The Effect Editor for the selected effect opens.

  4. Define the Effect properties as you want them to sound in your project.

    [Note]Note

    For a complete description of the Effect properties, click the Help button in the corresponding Effect Editor.

  5. To return the values of the properties in your custom effect instance to those of the ShareSet on which it is based, click Reset Effect Settings.

Re-ordering Effects

The order in which Effects are processed can have a dramatic impact on the end result of your object. Therefore, it is important that you apply effects in the correct order. Wwise processes the Effects in the order in which they appear in the table. If you need to, you can easily re-order the list of effects by dragging an Effect to a different position in the list.

To re-order effects:

  1. Load an object or bus into the Property Editor.

  2. Switch to the Effects tab.

  3. In the Effects table, select the Effect that you want to move up or down in the list.

    The entire row becomes highlighted.

  4. Drag the Effect to the new position in the list.

    A red line indicates where the Effect will be placed in the list.


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