Wwise Unity Integration Documentation: Wwise Unity Integration

Wwise Unity Integration Documentation
Wwise Unity Integration

The Wwise Unity Integration is a collection of resources that allows the use of the Wwise Sound Engine in Unity games. It is referred to as the "Integration" in the rest of the document. The Integration consists of a Unity plug-in library, the Wwise SDK API bindings in C#, and multiple helpful components and Editor windows. To understand the fundamental features of the Wwise SDK, refer to its documentation available both online and as a CHM with your Wwise installation.

This Integration documentation provides information about the Unity-Wwise Integration and the Wwise API. If you need information about the Wwise authoring application (for sound designers), refer to the appropriate help file, available both online and with your local installation (usually in C:\Program Files(x86)\Audiokinetic\Wwise [version] \Authoring\Help).

  • Requirements
  • Release Notes - Wwise Unity Integration 2024.1.5
  • Previous Release Notes
  • Installing or Upgrading the Integration in a Unity Project
  • Uninstalling the Wwise Integration Package
  • Source Control Best Practices for Integrated Projects
  • Adjusting Unity Editor Settings
  • Adjusting Wwise Initialization Settings
  • Managing SoundBanks
  • Using the Wwise Unity Integration
    • Wwise Picker
    • WAAPI Utilities
  • Build your Unity Game for a Target Platform
  • Making DLCs with Wwise and Unity
  • Build the Native Integration Plug-in from Source
  • Enter Play Mode Behaviors
  • Known Issues and Limitations
  • Platform-Specific Information
  • Wwise Demo Scene
  • Spatial Audio in Unity
  • The Wwise Addressables Package for Unity
    • Installing the Wwise Unity Addressables Package
    • Basic Tutorial For Packaging DLC
    • Wwise Addressable Samples
  • Troubleshooting
  • Copyright

Contact Us

If you have questions about this integration, post your questions to our Community Q&A forum. If you have purchased the support package, contact Audiokinetic support.

See also
  • Audiokinetic Launcher: Integrating Wwise into a Unity Project
  • Wwise-301: Wwise Unity Integration


Wwise Unity Integration Documentation: Requirements

Requirements

Unity

Each release of the Wwise Unreal Integration is customized for certain versions of Unity. Be sure to use one of the supported versions of unity, as indicated in Release Notes - Wwise Unity Integration 2024.1.5.

Wwise

This Integration is based on Wwise 2024.1.5. Although it is possible to use a different version of the Wwise SDK, modifications to the plug-in code might be necessary.

Platforms

This integration has been tested on Windows, Mac, Linux, Xbox One, Xbox Series X, Playstation 4, Playstation 5, Nintendo Switch, Android, iOS, and tvOS. Modifications might be required to target other platforms.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2024.1.5

Release Notes - Wwise Unity Integration 2024.1.5

This release delivers the Wwise SDK update for Wwise 2024.1.5.

Compatibility:

  • Wwise SDK: 2024.1.5
  • Unity: The integration was tested with Unity 6000.0.45f1. The minimum supported version is Unity 2022.3 and the maximum supported version is Unity 6.0.

Platform-specific information can be found here:

Mac, iOS, tvOS and visionOS 2024.1.5

For earlier versions, please refer to Previous Release Notes.

  • New Features
  • Bug Fixes
  • Fixes for Community-Reported Bugs

New Features

  • WG-75862 Added the Wwise Addressables Installer. See Using the Wwise Addressables Installer for details.

Bug Fixes

  • WG-77709 Fixed: Crash when building the Wwise Unity Integration with Unity 2022.3.61f1.

Fixes for Community-Reported Bugs

  • WG-77455 Fixed: Deprecation warning of AkSoundEngine isn't clear.


Wwise Unity Integration Documentation: Previous Release Notes

Previous Release Notes

The following pages contain information about changes to the integration made in previous releases.

  • Release Notes - Wwise Unity Integration 2024.1.4
  • Release Notes - Wwise Unity Integration 2024.1.3
  • Release Notes - Wwise Unity Integration 2024.1.2
  • Release Notes - Wwise Unity Integration 2024.1.1
  • Release Notes - Wwise Unity Integration 2024.1.0
  • Release Notes - Wwise Unity Integration 2023.1.10
  • Release Notes - Wwise Unity Integration 2023.1.9
  • Release Notes - Wwise Unity Integration 2023.1.8
  • Release Notes - Wwise Unity Integration 2023.1.7
  • Release Notes - Wwise Unity Integration 2023.1.6
  • Release Notes - Wwise Unity Integration 2023.1.5.8522.3119
  • Release Notes - Wwise Unity Integration 2023.1.4.8496.3091
  • Release Notes - Wwise Unity Integration 2023.1.3.8471.3062
  • Release Notes - Wwise Unity Integration 2023.1.2.8444.3033
  • Release Notes - Wwise Unity Integration 2023.1.1.8417.3007
  • Release Notes - Wwise Unity Integration 2023.1.0.8367.2953
  • Release Notes - Wwise Unity Integration 2022.1.17
  • Release Notes - Wwise Unity Integration 2022.1.16
  • Release Notes - Wwise Unity Integration 2022.1.15
  • Release Notes - Wwise Unity Integration 2022.1.14.8476.3076
  • Release Notes - Wwise Unity Integration 2022.1.13.8454.3050
  • Release Notes - Wwise Unity Integration 2022.1.12.8435.3027
  • Release Notes - Wwise Unity Integration 2022.1.11.8414.3000
  • Release Notes - Wwise Unity Integration 2022.1.10.8393.2975
  • Release Notes - Wwise Unity Integration 2022.1.9.8365.2941
  • Release Notes - Wwise Unity Integration 2022.1.8.8316.2888
  • Release Notes - Wwise Unity Integration 2022.1.7.8290.2858
  • Release Notes - Wwise Unity Integration 2022.1.6.8263.2826
  • Release Notes - Wwise Unity Integration 2022.1.5.8242.2798
  • Release Notes - Wwise Unity Integration 2022.1.4.8200.2750
  • Release Notes - Wwise Unity Integration 2022.1.3.8179.2728
  • Release Notes - Wwise Unity Integration 2022.1.2.8150.2694
  • Release Notes - Wwise Unity Integration 2022.1.1.8100.2644
  • Release Notes - Wwise Unity Integration 2022.1.0.8070.2611
  • Release Notes - Wwise Unity Integration 2021.1.14.8108.2676
  • Release Notes - Wwise Unity Integration 2021.1.13.8036.2602
  • Release Notes - Wwise Unity Integration 2021.1.12.7973.2529
  • Release Notes - Wwise Unity Integration 2021.1.11.7933.2488
  • Release Notes - Wwise Unity Integration 2021.1.10.7883.2429
  • Release Notes - Wwise Unity Integration 2021.1.9.7847.2389
  • Release Notes - Wwise Unity Integration 2021.1.8.7831.2373
  • Release Notes - Wwise Unity Integration 2021.1.7.7796.2335
  • Release Notes - Wwise Unity Integration 2021.1.6.7774.2308
  • Release Notes - Wwise Unity Integration 2021.1.5.7749.2277
  • Release Notes - Wwise Unity Integration 2021.1.4.7707.2232
  • Release Notes - Wwise Unity Integration 2021.1.3.7665.2179
  • Release Notes - Wwise Unity Integration 2021.1.2.7629.2141
  • Release Notes - Wwise Unity Integration 2021.1.1.7601.2102
  • Release Notes - Wwise Unity Integration 2021.1.0.7575.2069
  • Release Notes - Wwise Unity Integration 2019.2.15.7667.2215
  • Release Notes - Wwise Unity Integration 2019.2.14.7616.2152
  • Release Notes - Wwise Unity Integration 2019.2.13.7577.2104
  • Release Notes - Wwise Unity Integration 2019.2.12.7544.2058
  • Release Notes - Wwise Unity Integration 2019.2.11.7512.2017
  • Release Notes - Wwise Unity Integration 2019.2.10.7490.1989
  • Release Notes - Wwise Unity Integration 2019.2.9.7459.1949
  • Release Notes - Wwise Unity Integration 2019.2.8.7432.1919
  • Release Notes - Wwise Unity Integration 2019.2.7.7402.1888
  • Release Notes - Wwise Unity Integration 2019.2.6.7381.1867
  • Release Notes - Wwise Unity Integration 2019.2.5.7349.1831
  • Release Notes - Wwise Unity Integration 2019.2.4.7329.1806
  • Release Notes - Wwise Unity Integration 2019.2.3.7304.1778
  • Release Notes - Wwise Unity Integration 2019.2.2.7275.1749
  • Release Notes - Wwise Unity Integration 2019.2.1.7250.1718
  • Release Notes - Wwise Unity Integration 2019.2.0.7216.1681
  • Release Notes - Wwise Unity Integration 2019.1.11.7296.1786
  • Release Notes - Wwise Unity Integration 2019.1.10.7250.1738
  • Release Notes - Wwise Unity Integration 2019.1.9.7221.1704
  • Release Notes - Wwise Unity Integration 2019.1.8.7173.1654
  • Release Notes - Wwise Unity Integration 2019.1.7.7135.1611
  • Release Notes - Wwise Unity Integration 2019.1.6.7110.1585
  • Release Notes - Wwise Unity Integration 2019.1.5.7093.1568
  • Release Notes - Wwise Unity Integration 2019.1.4.7065.1538
  • Release Notes - Wwise Unity Integration 2019.1.3.7048.1516
  • Release Notes - Wwise Unity Integration 2019.1.2.7018.1481
  • Release Notes - Wwise Unity Integration 2019.1.2.7018.1480
  • Release Notes - Wwise Unity Integration 2019.1.1.6977.1430
  • Release Notes - Wwise Unity Integration 2019.1.0.6947.1394
  • Release Notes - Wwise Unity Integration 2018.1.6.6858.1313
  • Release Notes - Wwise Unity Integration 2018.1.5.6835.1288
  • Release Notes - Wwise Unity Integration 2018.1.4.6807.1258
  • Release Notes - Wwise Unity Integration 2018.1.3.6784.1233
  • Release Notes - Wwise Unity Integration 2018.1.2.6762.1211
  • Release Notes - Wwise Unity Integration 2018.1.1.6727.1172
  • Release Notes - Wwise Unity Integration 2018.1.0.6714.1154
    • New Features 2018.1
  • Release Notes - Wwise Unity Integration 2017.2.9.6726.1210
  • Release Notes - Wwise Unity Integration 2017.2.8.6698.1171
  • Release Notes - Wwise Unity Integration 2017.2.7.6661.1133
  • Release Notes - Wwise Unity Integration 2017.2.6.6636.1107
  • Release Notes - Wwise Unity Integration 2017.2.5.6619.1090
  • Release Notes - Wwise Unity Integration 2017.2.4.6590.1064
  • Release Notes - Wwise Unity Integration 2017.2.4.6590.1054
  • Release Notes - Wwise Unity Integration 2017.2.3.6575.1037
  • Release Notes - Wwise Unity Integration 2017.2.2.6553.1015
  • Release Notes - Wwise Unity Integration 2017.2.1.6524.980
  • Release Notes - Wwise Unity Integration 2017.2.0.6500.947
    • New Features 2017.2
    • Important Migration Notes 2017.2
  • Release Notes - Wwise Unity Integration 2017.1.9.6501.947
  • Release Notes - Wwise Unity Integration 2017.1.8.6488.933
  • Release Notes - Wwise Unity Integration 2017.1.7.6467.910
  • Release Notes - Wwise Unity Integration 2017.1.6.6446.890
  • Release Notes - Wwise Unity Integration 2017.1.5.6429.870
  • Release Notes - Wwise Unity Integration 2017.1.4.6407.845
  • Release Notes - Wwise Unity Integration 2017.1.3.6377.812
  • Release Notes - Wwise Unity Integration 2017.1.2.6361.791
  • Release Notes - Wwise Unity Integration 2017.1.1.6340.770
  • Release Notes - Wwise Unity Integration 2017.1.0.6302.726
    • New Features 2017.1
    • Important Migration Notes 2017.1
  • Release Notes - Wwise Unity Integration 2016.2.6.6153.595
  • Release Notes - Wwise Unity Integration 2016.2.5.6121.560
  • Release Notes - Wwise Unity Integration 2016.2.4.6098.531
  • Release Notes - Wwise Unity Integration 2016.2.3.6077.504
  • Release Notes - Wwise Unity Integration 2016.2.2.6022.430
  • Release Notes - Wwise Unity Integration 2016.2.1.5995.409
  • Release Notes - Wwise Unity Integration 2016.2.1
  • Release Notes - Wwise Unity Integration 2016.2.0
  • Release Notes - Wwise Unity Integration 2016.1.6
  • Release Notes - Wwise Unity Integration 2016.1.5
  • Release Notes - Wwise Unity Integration 2016.1.4
  • Release Notes - Wwise Unity Integration 2016.1.3
  • Release Notes - Wwise Unity Integration 2016.1.2
  • Release Notes - Wwise Unity Integration 2016.1.1
  • Release Notes - Wwise Unity Integration 2016.1
  • Release Notes - Wwise Unity Integration 2015.1.9
  • Release Notes - Wwise Unity Integration 2015.1.8
  • Release Notes - Wwise Unity Integration 2015.1.7
  • Release Notes - Wwise Unity Integration 2015.1.6
  • Release Notes - Wwise Unity Integration 2015.1.5
  • Release Notes - Wwise Unity Integration 2015.1.4
  • Release Notes - Wwise Unity Integration 2015.1.3
  • Release Notes - Wwise Unity Integration 2015.1.2
  • Release Notes - Wwise Unity Integration 2015.1.1
  • Release Notes - Wwise Unity Integration 2015.1
  • Release Notes - Wwise Unity Integration 2014.1.6
  • Release Notes - Wwise Unity Integration 2014.1.5
  • Release Notes - Wwise Unity Integration 2014.1.4
  • Release Notes - Wwise Unity Integration 2014.1.3
  • Release Notes - Wwise Unity Integration 2014.1.2
  • Release Notes - Wwise Unity Integration 2014.1.1
  • Release Notes - Wwise Unity Integration 2014.1
  • Release Notes - Wwise Unity Integration 2013.2.10
  • Release Notes - Wwise Unity Integration 2013.2.9
  • Release Notes - Wwise Unity Integration 2013.2.8
  • Release Notes - Wwise Unity Integration 2013.2.5
  • Release Notes - Wwise Unity Integration 2013.2.4
  • Release Notes - Wwise Unity Integration 2013.2.1
  • Release Notes - Wwise Unity Integration 2013.1.1
  • Release Notes - Wwise Unity Integration 2013.1


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2024.1.4

Release Notes - Wwise Unity Integration 2024.1.4

This release delivers the Wwise SDK update for Wwise 2024.1.4.

Compatibility:

  • Wwise SDK: 2024.1.4
  • Unity: The integration was tested with Unity 6000.0.26f1. The minimum supported version is 2022.3 and the maximum supported version is 6.0.

For earlier versions, please refer to Previous Release Notes.

  • Behavior Changes
  • Bug Fixes
  • Fixes for Community-Reported Bugs

Behavior Changes

  • WG-76665 Changing the Soundbanks Path in the Wwise Integration settings now automatically adjusts the Base Path in the Wwise Initialization settings.

Bug Fixes

  • WG-76354 Fixed: Native code solutions improperly use absolute paths for Wwise SDK header include paths and library paths.
  • WG-76704 Fixed: Clicking Generate SoundBanks multiple times attempts to generate SoundBanks multiple times.
  • WG-76942 Fixed: Selecting Tools > Reload All Scenes attempts to open the packages of read-only scenes.
  • WG-77062 Fixed: Select in Wwise Picker option is missing in shortcut menu of AkWwiseTrigger component.
  • WG-77137 Fixed: Wrong plug-ins are packaged in game when the plug-ins used for the built platform differ from the Editor platform.

Fixes for Community-Reported Bugs

  • WG-76225 Fixed: Crash when an Event has a callback playing when closing the game.
  • WG-76733 Fixed: IsAutoBankLoaded is serialized.
  • WG-76830 Clarified log message explaining that SoundBanksInfo.xml can be used in the 2024.1 Wwise Unity Integration but is not recommended.
  • WG-76832 Fixed: SoundBankHeaderFilePath is unnecessarily modified when updating Unity Integration.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2024.1.3

Release Notes - Wwise Unity Integration 2024.1.3

This release delivers the Wwise SDK update for Wwise 2024.1.3.

Compatibility:

  • Wwise SDK: 2024.1.3
  • Unity: The integration was tested with Unity 6000.0.26f1. The minimum supported version is 2022.3 and the maximum supported version is 6.0.

For earlier versions, please refer to Previous Release Notes.

  • Fixes for Community-Reported Bugs

Fixes for Community-Reported Bugs

  • WG-75434 Fixed: When an Event fails to post, a memory leak occurs because its callback package is never deleted.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2024.1.2

Release Notes - Wwise Unity Integration 2024.1.2

This release delivers the Wwise SDK update for Wwise 2024.1.2.

Compatibility:

  • Wwise SDK: 2024.1.2
  • Unity: The integration was tested with Unity 6000.0.26f1. The minimum supported version is 2022.3 and the maximum supported version is 6.0.

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes
  • Fixes for Community-Reported Bugs

Bug Fixes

  • WG-75925 Fixed: Modifying scaling factor while the AkObject is disabled creates faulty call to the sound engine.

Fixes for Community-Reported Bugs

  • WG-75201 Fixed: Files for built-in plug-ins are present in the Integration's Plugins folder.
  • WG-75715 Fixed: On all platforms except Android, sound doesn't play when Create Sub-Folders for Generated Files is enabled in the Wwise Project.
  • WG-75835 Fixed: Improved logging when WwiseProjectDatabase.dll or WwiseProjectDatabase.dylib is missing from the Asset folder.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2024.1.1

Release Notes - Wwise Unity Integration 2024.1.1

This release delivers the Wwise SDK update for Wwise 2024.1.1.

Compatibility:

  • Wwise SDK: 2024.1.1
  • Unity: The integration was tested with Unity 6000.0.26f1. The minimum supported version is 2022.3 and the maximum supported version is 6.0.

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes

Bug Fixes

  • WG-74954 Fixed: Unity Editor hangs when using Load Bank Asynchronously option with Addressables.
  • WG-75005 Fixed: Compilation warnings in Unity 6.
  • WG-75100 Fixed: Long relative path to the generated SoundBank can fail the initialization of the project database.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2024.1.0

Release Notes - Wwise Unity Integration 2024.1.0

This release delivers the Wwise SDK update for Wwise 2024.1.0.

  • Important Migration Notes 2024.1

Compatibility:

  • Wwise SDK: 2024.1.0
  • Unity: The integration was tested with Unity 2022.3.40f1. The minimum supported version is 2022.3 and the maximum supported version is 6.0.

For earlier versions, please refer to Previous Release Notes.

  • New Features
  • API Changes
  • Behavior Changes
  • Bug Fixes
  • Fixes for Community-Reported Bugs

New Features

  • WG-55823 Added support for auto-defined SoundBanks.

API Changes

  • WG-71970 Memory management configuration settings now control the new AkMemoryArenas added to the Wwise SDK. MemoryAllocationSizeLimit and MemorySpanCount were removed from AkCommonAdvancedSettings, and new settings control the Primary and Media memory arenas instead. There are separate memory reservation limits for each arena, as well as controls for how the Memory Arenas allocate and reserve memory.

Behavior Changes

  • WG-73675 With the addition of support for Auto-banks in Unity, DecodedBanks are now deprecated.

Bug Fixes

  • WG-73268 Fixed: Footsteps sound the same on all surfaces in the Wwise Demo Scene.
  • WG-74648 Fixed: Custom inspector not displayed for classes inheriting from AK components, such as AkEvent or AkAmbient.

Fixes for Community-Reported Bugs

  • WG-50241 Fixed: Lag when moving a game object that has an AkGameObj component.
  • WG-60014 Fixed: (WAAPI) Errors when subscribing to topics without options.
  • WG-69057 Fixed: Names too similar. Renamed Unity's AkSoundEngine to AkUnitySoundEngine to avoid confusion.


Wwise Unity Integration Documentation: Important Migration Notes 2024.1

Important Migration Notes 2024.1

Auto-defined SoundBanks in Unity

With the introduction of auto-defined SoundBanks, which rely on the Project Database to work, the default Wwise Project Settings after integrating with Unity have changed. They now include the following settings, which are mandatory:

  • Generate JSON Metadata
  • Object GUID
  • Object Path

Due to these changes, the use of XML files is now discontinued. However, keeping the previously generated XML files won't harm the project.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2023.1.10

Release Notes - Wwise Unity Integration 2023.1.10

This release delivers the Wwise SDK update for Wwise 2023.1.10.

Compatibility:

  • Wwise SDK: 2023.1.10
  • Unity: The integration was tested with Unity 6000.0.26f1. The minimum supported version is 2020.3 and the maximum supported version is 6.0.

For earlier versions, please refer to Previous Release Notes.

  • Fixes for Community-Reported Bugs

Fixes for Community-Reported Bugs

  • WG-70146 Fixed: Unity XML Error Message Translator remains activated even when SoundBankInfo.xml is not generated.
  • WG-75201 Fixed: Files for built-in plug-ins are present in the Integration's Plugins folder.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2023.1.9

Release Notes - Wwise Unity Integration 2023.1.9

This release delivers the Wwise SDK update for Wwise 2023.1.9.

Compatibility:

  • Wwise SDK: 2023.1.9
  • Unity: The integration was tested with Unity 6000.0.26f1. The minimum supported version is 2020.3 and the maximum supported version is 6.0.

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes

Bug Fixes

  • WG-74648 Fixed: Custom inspector not displayed for classes inheriting from AK components, such as AkEvent or AkAmbient.
  • WG-74954 Fixed: Unity Editor hangs when using Load Bank Asynchronously option with Addressables.
  • WG-75005 Fixed: Compilation warnings in Unity 6.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2023.1.8

Release Notes - Wwise Unity Integration 2023.1.8

This release delivers the Wwise SDK update for Wwise 2023.1.8.

Compatibility:

  • Wwise SDK: 2023.1.8
  • Unity: The integration was tested with Unity 2022.3.40f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

For earlier versions, please refer to Previous Release Notes.

  • New Features
  • Bug Fixes

New Features

  • WG-50767 Added new functions to set the parameters of the Outdoors Room of Spatial Audio.

Bug Fixes

  • WG-70709 Fixed: Unexpected SetGeometryInstance errors when an AkSurfaceReflector component is set with no mesh.
  • WG-73618 Fixed: (Spatial Audio) Unexpected boundary edges on AkSurfaceReflector components with a mesh with more than one submesh.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2023.1.7

Release Notes - Wwise Unity Integration 2023.1.7

This release delivers the Wwise SDK update for Wwise 2023.1.7.

Compatibility:

  • Wwise SDK: 2023.1.7
  • Unity: The integration was tested with Unity 2022.3.40f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

Platform-specific information can be found here:

Mac, iOS, tvOS and visionOS 2023.1.7

For earlier versions, please refer to Previous Release Notes.

  • Miscellaneous Changes
  • Fixes for Community-Reported Bugs

Miscellaneous Changes

  • WG-73152 Improved log messages when Wwise SDK platforms are not properly installed.

Fixes for Community-Reported Bugs

  • WG-50286 Fixed: GetSourcePlayPosition and GetPlayingSegmentInfo always return AK_Fail.
  • WG-53140 Fixed: In Unity, dragging a SoundBank from the Wwise Picker and reloading the scene changes what is loaded in the AkBank component.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2023.1.6

Release Notes - Wwise Unity Integration 2023.1.6

This release delivers the Wwise SDK update for Wwise 2023.1.6.

Compatibility:

  • Wwise SDK: 2023.1.6
  • Unity: The integration was tested with Unity 2023.2.18f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

For earlier versions, please refer to Previous Release Notes.

  • Behavior Changes
  • Bug Fixes
  • Fixes for Community-Reported Bugs
  • Documentation Improvements

Behavior Changes

  • WG-73207 Due to the removal of NX32 support, the library path for the Switch platform has been changed from Wwise\API\Runtime\Plugins\Switch\SDKxx\NX64 to Wwise\API\Runtime\Plugins\Switch\SDKxx.

Bug Fixes

  • WG-63509 Fixed: Pressing play on an AkEvent component marks the scene as dirty.
  • WG-73332 Fixed: Typo in package name in Package Manager.

Fixes for Community-Reported Bugs

  • WG-59162 Fixed: Typo in package.json file.
  • WG-72393 Fixed: The GetDeviceList function in Unity returns an empty list. Added the new API AkSoundEngine.GetNumOutputDevices to get the number of available audio output devices. This allows the allocation of an AkDeviceDescriptionArray of the proper size before calling AkSoundEngine.GetDeviceList.
  • WG-72799 Fixed: Banks assigned to non-default addressables group lose their assignment when SoundBanks are generated.

Documentation Improvements

  • WG-66844 Added Requirements and Known Issues and Limitations pages.
  • WG-73242 Clarified which units to use in transitionDuration.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2023.1.5.8522.3119

Release Notes - Wwise Unity Integration 2023.1.5.8522.3119

This release delivers the Wwise SDK update for Wwise 2023.1.5.

Compatibility:

  • Wwise SDK: 2023.1.5
  • Unity: The integration was tested with Unity 2023.2.18f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes

Bug Fixes

  • WG-72246 Fixed: Wrong path to GeneratedSoundBanks after adding the Wwise Addressables Package.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2023.1.4.8496.3091

Release Notes - Wwise Unity Integration 2023.1.4.8496.3091

This release delivers the Wwise SDK update for Wwise 2023.1.4.

Compatibility:

  • Wwise SDK: 2023.1.4
  • Unity: The integration was tested with Unity 2023.2.18f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

For earlier versions, please refer to Previous Release Notes.

  • New Features
  • Fixes for Community-Reported Bugs
  • Documentation Improvements

New Features

  • WG-70570 Added the setting Default Scaling Factor to allow setting the value of the attenuation factor when creating a component.

Fixes for Community-Reported Bugs

  • WG-60205 Fixed: Multiple Timeline playback issues in the Editor.
  • WG-62773 Fixed: Using global Game Parameters returns errors.
  • WG-70891 Fixed: False error logged when scrubbing or seeking in a Timeline with an interactive Music Event.

Documentation Improvements

  • WG-70661 Updated the Wwise Unity Integration page to include the minimum recommended version of Unity.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2023.1.3.8471.3062

Release Notes - Wwise Unity Integration 2023.1.3.8471.3062

This release delivers the Wwise SDK update for Wwise 2023.1.3.

Compatibility:

  • Wwise SDK: 2023.1.3
  • Unity: The integration was tested with Unity 2023.2.3f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

Platform-specific information can be found here:

Mac, iOS, tvOS and visionOS 2023.1.3

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes
  • Fixes for Community-Reported Bugs

Bug Fixes

  • WG-70886 Fixed: Two instances of Master Bus are present when playing in editor with Reload Domain disabled and Load Sound Engine in Edit Mode enabled.
  • WG-70941 Fixed: Stack overflow when adding the Wwise Addressables package.
  • WG-71048 Fixed: Excessive load time on exiting Play mode with Reload Domain disabled.

Fixes for Community-Reported Bugs

  • WG-55173 Fixed: Events with only SetState as Action are not executed.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2023.1.2.8444.3033

Release Notes - Wwise Unity Integration 2023.1.2.8444.3033

This release delivers the Wwise SDK update for Wwise 2023.1.2.

Compatibility:

  • Wwise SDK: 2023.1.2
  • Unity: The integration was tested with Unity 2023.2.3f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

For earlier versions, please refer to Previous Release Notes.

  • Behavior Changes
  • Bug Fixes
  • Documentation Improvements

Behavior Changes

  • WG-69972 The Wwise SoundEngine is now initialized by default in Edit mode.

Bug Fixes

  • WG-69952 Fixed: Wrong Addressables version indicated in Package Manager.
  • WG-69977 Fixed: Using the Wwise Picker can break AkBank references.
  • WG-69989 Fixed: (Spatial Audio) Error thrown when calling SetPortalObstructionAndOcclusion at start of level.
  • WG-69997 Fixed: (Spatial Audio) Disabled AkSurfaceReflector leads to errors when exiting Play mode.

Documentation Improvements

  • WG-57242 Added Source Control Best Practices for Integrated Projects, which explains which files to include and exclude from your source control system.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2023.1.1.8417.3007

Release Notes - Wwise Unity Integration 2023.1.1.8417.3007

This release delivers the Wwise SDK update for Wwise 2023.1.1.

Compatibility:

  • Wwise SDK: 2023.1.1
  • Unity: The integration was tested with Unity 2023.2.3f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

Platform-specific information can be found here:

Mac, iOS, tvOS and visionOS 2023.1.1

For earlier versions, please refer to Previous Release Notes.

  • Performance Changes
  • Miscellaneous Changes
  • Bug Fixes
  • Fixes for Community-Reported Bugs

Performance Changes

  • WG-69395 Support for the Memory Span Count setting introduced by WG-68992 has been added in the Advanced Settings. This can be used to significantly reduce the amount of memory reserved by Wwise at a small cost to overall CPU performance.

Miscellaneous Changes

  • WG-68202 Changed the default value of the Reverb Zone's Transition Region to a non-zero value.

Bug Fixes

  • WG-68461 Fixed: (Spatial Audio) Reverb Zone requires AKSurfaceReflector component to enable the Transition Region.
  • WG-68629 Fixed: Crash when sound engine errors are printed in Unity.
  • WG-68716 Fixed: (Spatial Audio) Portals that connect sibling Reverb Zones are not displayed in red despite being invalid.
  • WG-68980 Fixed: (Spatial Audio) Portal doesn't update if moved while still keeping the same front and back rooms.

Fixes for Community-Reported Bugs

  • WG-69036 Fixed: InvalidOperationException in Unity when the debugger is attached.
  • WG-69340 Fixed: ProjectData creations sometimes fail on editor startup.
  • WG-69422 Fixed: (Spatial Audio) Unity Portals don't open if they are closed on initial state.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2023.1.0.8367.2953

Release Notes - Wwise Unity Integration 2023.1.0.8367.2953

This release delivers the Wwise SDK update for Wwise 2023.1.0.

  • Important Migration Notes 2023.1

Compatibility:

  • Wwise SDK: 2023.1.0
  • Unity: The integration was tested with Unity 2022.3.2f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

For earlier versions, please refer to Previous Release Notes.

  • New Features
  • API Changes
  • Behavior Changes
  • Miscellaneous Changes
  • Bug Fixes
  • Fixes for Community-Reported Bugs

New Features

  • WG-51085 Added support for Enter Play Mode.
  • WG-53593 Added option not to suspend audio when game loses focus.
  • WG-65226 Added an option to display transition zones in the 3D viewer.

API Changes

  • WG-64048 (Spatial Audio) Added AkSpatialAudioInitSettings::uMaxEmitterRoomAuxSends to limit the maximum number of game-defined auxiliary sends that can originate from a single emitter.
  • WG-65130 (Spatial Audio) Removed AkGeometryParams::EnableTriangles and replaced it with AkGeometryInstanceParams::UseForReflectionAndDiffraction.
  • WG-66244 (Spatial Audio) The use of AkGeometryInstanceParams::RoomID is now deprecated and the parameter will be removed in a future version. We recommend that you do not use RoomID and instead leave it set to the default value (-1).

Behavior Changes

  • WG-65242 Improved user experience for Wwise Initialization Settings.

Miscellaneous Changes

  • WG-66693 Wwise Unity Integration requires Audiokinetic Launcher 2023.1.1 or later.

Bug Fixes

  • WG-66259 Fixed: "Failed load Init.bnk with result: AK_Fail" error appears when stopping a Play Session with "Load Sound Engine in Edit Mode" disabled.
  • WG-68085 Fixed: Wwise Picker is empty after entering Play mode.

Fixes for Community-Reported Bugs

  • WG-56018 Fixed: AkRoom causes unwanted physics interactions.
  • WG-61124 Fixed: Addressables Group is not updated properly when streaming is disabled on sounds.


Wwise Unity Integration Documentation: Important Migration Notes 2023.1

Important Migration Notes 2023.1

Spatial Audio

Continuous Ray Casting

Spatial Audio uses a raytracing engine to efficiently evaluate reflection and diffraction paths. In the previous version of Wwise, when the emitter or listener movement exceeded a predefined threshold (see the Movement Threshold Spatial Audio Setting), a number of rays were cast, and the reflection and diffraction paths were recalculated. The combination of the ray casts with the recalculation increased the load on the frame, which caused CPU peaks. In Wwise 2023.1, rays are continuously cast on each frame until a recalculation is triggered. This helps spread the load of ray casting over several frames, which prevents CPU peaks.

For this reason, the default value of the Number Of Primary Rays Spatial Audio Setting has been lowered from 100 to 35. Make sure you re-evaluate the preferred number of primary rays for your project after migrating.

Watertight Geometry

In 23.1, we have introduced new Spatial Audio features that require the Geometry of Rooms to be watertight in order to calculate containment and proximity to transition regions. This means that there can be no holes in the Geometry; every edge connects exactly two triangles. When a Room is sent to Spatial Audio, the Room's Geometry is searched for boundary edges. If any boundary edges are found, the Geometry is not watertight and an error message appears.

If the Room is a Reverb Zone, its Geometry must be watertight. If you encounter the error message, fix the Geometry by looking for holes and boundary edges. Any hole can be covered by a surface with a Transmission Loss value of 0. If there are no apparent holes, look for boundary edges caused by overlapping edges or surfaces.

Note that it is also important to have a watertight Geometry if you depend on Spatial Audio to do room containment. However, the Unity integration does not use this feature by default. In any other scenario, you can disregard the error message.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.17

Release Notes - Wwise Unity Integration 2022.1.17

This release delivers the Wwise SDK update for Wwise 2022.1.17.

Compatibility:

  • Wwise SDK: 2022.1.17
  • Unity: The integration was tested with Unity 2022.3.40f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

For earlier versions, please refer to Previous Release Notes.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.16

Release Notes - Wwise Unity Integration 2022.1.16

This release delivers the Wwise SDK update for Wwise 2022.1.16.

Compatibility:

  • Wwise SDK: 2022.1.16
  • Unity: The integration was tested with Unity 2022.3.40f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

For earlier versions, please refer to Previous Release Notes.

  • Miscellaneous Changes
  • Fixes for Community-Reported Bugs

Miscellaneous Changes

  • WG-73152 Improved log messages when Wwise SDK platforms are not properly installed.

Fixes for Community-Reported Bugs

  • WG-50286 Fixed: GetSourcePlayPosition and GetPlayingSegmentInfo always return AK_Fail.
  • WG-53140 Fixed: In Unity, dragging a SoundBank from the Wwise Picker and reloading the scene changes what is loaded in the AkBank component.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.15

Release Notes - Wwise Unity Integration 2022.1.15

This release delivers the Wwise SDK update for Wwise 2022.1.15.

Compatibility:

  • Wwise SDK: 2022.1.15
  • Unity: The integration was tested with Unity 2023.2.18f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

For earlier versions, please refer to Previous Release Notes.

  • Behavior Changes
  • Bug Fixes
  • Fixes for Community-Reported Bugs
  • Documentation Improvements

Behavior Changes

  • WG-73207 Due to the removal of NX32 support, the library path for the Switch platform has been changed from Wwise\API\Runtime\Plugins\Switch\SDKxx\NX64 to Wwise\API\Runtime\Plugins\Switch\SDKxx.

Bug Fixes

  • WG-63509 Fixed: Pressing play on an AkEvent component marks the scene as dirty.
  • WG-73332 Fixed: Typo in package name in Package Manager.

Fixes for Community-Reported Bugs

  • WG-59162 Fixed: Typo in package.json file.
  • WG-72393 Fixed: The GetDeviceList function in Unity returns an empty list. Added the new API AkSoundEngine.GetNumOutputDevices to get the number of available audio output devices. This allows the allocation of an AkDeviceDescriptionArray of the proper size before calling AkSoundEngine.GetDeviceList.
  • WG-72799 Fixed: Banks assigned to non-default addressables group lose their assignment when SoundBanks are generated.

Documentation Improvements

  • WG-66844 Added Requirements and Known Issues and Limitations pages.
  • WG-73242 Clarified which units to use in transitionDuration.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.14.8476.3076

Release Notes - Wwise Unity Integration 2022.1.14.8476.3076

This release delivers the Wwise SDK update for Wwise 2022.1.14.

Compatibility:

  • Wwise SDK: 2022.1.14
  • Unity: The integration was tested with Unity 2023.2.18f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes

Bug Fixes

  • WG-72246 Fixed: Wrong path to GeneratedSoundBanks after adding the Wwise Addressables Package.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.13.8454.3050

Release Notes - Wwise Unity Integration 2022.1.13.8454.3050

This release delivers the Wwise SDK update for Wwise 2022.1.13.

Compatibility:

  • Wwise SDK: 2022.1.13
  • Unity: The integration was tested with Unity 2023.2.18f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

For earlier versions, please refer to Previous Release Notes.

  • New Features
  • Fixes for Community-Reported Bugs
  • Documentation Improvements

New Features

  • WG-70570 Added the setting Default Scaling Factor to allow setting the value of the attenuation factor when creating a component.

Fixes for Community-Reported Bugs

  • WG-60205 Fixed: Multiple Timeline playback issues in the Editor.
  • WG-62773 Fixed: Using global Game Parameters returns errors.
  • WG-70891 Fixed: False error logged when scrubbing or seeking in a Timeline with an interactive Music Event.

Documentation Improvements

  • WG-70661 Updated the Wwise Unity Integration page to include the minimum recommended version of Unity.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.12.8435.3027

Release Notes - Wwise Unity Integration 2022.1.12.8435.3027

This release delivers the Wwise SDK update for Wwise 2022.1.12.

Compatibility:

  • Wwise SDK: 2022.1.12
  • Unity: The integration was tested with Unity 2023.2.3f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

Platform-specific information can be found here:

Mac, iOS, tvOS and visionOS 2022.1.12

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes
  • Fixes for Community-Reported Bugs

Bug Fixes

  • WG-70941 Fixed: Stack overflow when adding the Wwise Addressables package.
  • WG-71048 Fixed: Excessive load time on exiting Play mode with Reload Domain disabled.

Fixes for Community-Reported Bugs

  • WG-55173 Fixed: Events with only SetState as Action are not executed.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.11.8414.3000

Release Notes - Wwise Unity Integration 2022.1.11.8414.3000

This release delivers the Wwise SDK update for Wwise 2022.1.11.

Compatibility:

  • Wwise SDK: 2022.1.11
  • Unity: The integration was tested with Unity 2023.2.3f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes
  • Documentation Improvements

Bug Fixes

  • WG-69977 Fixed: Using the Wwise Picker can break AkBank references.

Documentation Improvements

  • WG-57242 Added Source Control Best Practices for Integrated Projects, which explains which files to include and exclude from your source control system.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.10.8393.2975

Release Notes - Wwise Unity Integration 2022.1.10.8393.2975

This release delivers the Wwise SDK update for Wwise 2022.1.10.

Compatibility:

  • Wwise SDK: 2022.1.10
  • Unity: The integration was tested with Unity 2023.2.3f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

For earlier versions, please refer to Previous Release Notes.

  • Performance Changes
  • Fixes for Community-Reported Bugs

Performance Changes

  • WG-69395 Support for the Memory Span Count setting introduced by WG-68992 has been added in the Advanced Settings. This can be used to significantly reduce the amount of memory reserved by Wwise at a small cost to overall CPU performance.

Fixes for Community-Reported Bugs

  • WG-69036 Fixed: InvalidOperationException in Unity when the debugger is attached.
  • WG-69340 Fixed: ProjectData creations sometimes fail on editor startup.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.9.8365.2941

Release Notes - Wwise Unity Integration 2022.1.9.8365.2941

This release delivers the Wwise SDK update for Wwise 2022.1.9.

Compatibility:

  • Wwise SDK: 2022.1.9
  • Unity: The integration was tested with Unity 2022.2.2f1 and 2022.3.2f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

For earlier versions, please refer to Previous Release Notes.

  • New Features
  • Bug Fixes

New Features

  • WG-53593 Added option not to suspend audio when game loses focus.

Bug Fixes

  • WG-68085 Fixed: Wwise Picker is empty after entering Play mode.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.8.8316.2888

Release Notes - Wwise Unity Integration 2022.1.8.8316.2888

This release delivers the Wwise SDK update for Wwise 2022.1.8.

Compatibility:

  • Wwise SDK: 2022.1.8
  • Unity: The integration was tested with Unity 2022.2.2f1 and 2022.3.2f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes
  • Fixes for Community-Reported Bugs

Bug Fixes

  • WG-67267 Fixed: XMLErrorTranslator's s_reader isn't always initialized.

Fixes for Community-Reported Bugs

  • WG-64307 Fixed: AkUnityAssertHook() causes an assert when the expression or file name exceeds a certain number of characters.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.7.8290.2858

Release Notes - Wwise Unity Integration 2022.1.7.8290.2858

This release delivers the Wwise SDK update for Wwise 2022.1.7.

Compatibility:

  • Wwise SDK: 2022.1.7
  • Unity: The integration was tested with Unity 2022.2.2f1 and 2022.3.2f1. The minimum supported version is 2020.3 and the maximum supported version is 2023.2.

For earlier versions, please refer to Previous Release Notes.

  • Fixes for Community-Reported Bugs
  • Documentation Improvements

Fixes for Community-Reported Bugs

  • WG-62495 Fixed: Wwise Unity Addressables bank manager doesn't handle the AK_BankAlreadyLoaded result properly.
  • WG-63623 Fixed: AVAudioSession.Playback is not supported.
  • WG-66686 Fixed: Assets fail to import when the Wwise project isn't found.

Documentation Improvements

  • WG-66192 Updated Basic Tutorial For Packaging DLC to match the new user interface of the Addressables package.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.6.8263.2826

Release Notes - Wwise Unity Integration 2022.1.6.8263.2826

This release delivers the Wwise SDK update for Wwise 2022.1.6.

Compatibility:

  • Wwise SDK: 2022.1.6
  • Unity: This integration compiles against Unity 2020.3, 2021.3, 2022.1 and 2022.2. It was tested against Unity 2022.2.2f1. Any Unity version more recent than the aforementioned is not currently supported, but will be in a subsequent patch release.

For earlier versions, please refer to Previous Release Notes.

  • Miscellaneous Changes
  • Bug Fixes
  • Fixes for Community-Reported Bugs

Miscellaneous Changes

  • WG-66643 Unity Wwise Integration requires Audiokinetic Launcher 2023.1.1 or later.

Bug Fixes

  • WG-66276 Fixed: Waapi Picker context menu does not open on State and Switch groups.

Fixes for Community-Reported Bugs

  • WG-56968 Fixed: Triggers Game Sync not exposed in the Unity Wwise Picker.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.5.8242.2798

Release Notes - Wwise Unity Integration 2022.1.5.8242.2798

This release delivers the Wwise SDK update for Wwise 2022.1.5.

Compatibility:

  • Wwise SDK: 2022.1.5
  • Unity: This integration compiles against Unity 2020.3, 2021.3, 2022.1 and 2022.2. It was tested against Unity 2022.2.2f1. Any Unity version more recent than the aforementioned is not currently supported, but will be in a subsequent patch release.

Platform-specific information can be found here:

Mac, iOS and tvOS 2022.1.5

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes
  • Fixes for Community-Reported Bugs

Bug Fixes

  • WG-63104 Fixed: Cube spawned unexpectedly when interacting with the AkRoom component.
  • WG-63120 Fixed: Error removing Geometry Set after toggling Spatial Audio components in Unity Editor.
  • WG-63187 Fixed: (Spatial Audio) Geometry is not updated when expected.
  • WG-65420 Fixed: Invalid Portal placement message is an Error instead of a Warning.

Fixes for Community-Reported Bugs

  • WG-63156 Fixed: SoundbanksInfo.xml is not parsed or put into Unity cache.
  • WG-64381 Fixed: Erroneous assert in Debug configuration when unloading a SoundBank containing a Switch Container with active state transitions.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.4.8200.2750

Release Notes - Wwise Unity Integration 2022.1.4.8200.2750

This release delivers the Wwise SDK update for Wwise 2022.1.4.

Compatibility:

  • Wwise SDK: 2022.1.4
  • Unity: This integration compiles against Unity 2020.3, 2021.3, 2022.1 and 2022.2. It was tested against Unity 2022.2.2f1. Any Unity version more recent than the aforementioned is not currently supported, but will be in a subsequent patch release.

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes

Bug Fixes

  • WG-64673 Fixed: Debug builds do not contain all sound engine debugging symbols.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.3.8179.2728

Release Notes - Wwise Unity Integration 2022.1.3.8179.2728

This release delivers the Wwise SDK update for Wwise 2022.1.3.

Compatibility:

  • Wwise SDK: 2022.1.3
  • Unity: This integration compiles against Unity 2020.3, 2021.3, 2022.1 and 2022.2. It was tested against Unity 2022.2.2f1. Any Unity version more recent than the aforementioned is not currently supported, but will be in a subsequent patch release.

For earlier versions, please refer to Previous Release Notes.

  • Miscellaneous Changes
  • Bug Fixes
  • Fixes for Community-Reported Bugs

Miscellaneous Changes

  • WG-63931 Added missing Audiokinetic copyright to integration C# code files.

Bug Fixes

  • WG-63983 Fixed: NullReferenceException in RoomAwareManager after enabling a RoomAwareObject.

Fixes for Community-Reported Bugs

  • WG-54630 Fixed: Unnecessary call to SetBasePath on iOS platforms with Wwise Unity Addressables logs an error message.
  • WG-63727 Fixed: Unity AkEmitterObstructionOcclusion component does not immediately block the sound.
  • WG-64433 Fixed: Excessive IO calls caused by FileSystemWatcher.
  • WG-64493 Fixed: Wwise Component Picker drawn at incorrect screen position.
  • WG-64498 Fixed: "Unable to load Wwise Data: UnityEngine.UnityException: LoadAssetAtPath can only be called from the main thread." error when reloading domain.
  • WG-64499 Fixed: Performance issues in Asset Import processes.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.2.8150.2694

Release Notes - Wwise Unity Integration 2022.1.2.8150.2694

This release delivers the Wwise SDK update for Wwise 2022.1.2.

Compatibility:

  • Wwise SDK: 2022.1.2
  • Unity: This integration compiles against Unity 2020.3, 2021.3, 2022.1 and 2022.2. It was tested against Unity 2022.2.2f1. Any Unity version more recent than the aforementioned is not currently supported, but will be in a subsequent patch release.

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes
  • Fixes for Community-Reported Bugs

Bug Fixes

  • WG-63482 Fixed: After playing an Event from the Inspector, sound plays after opening a different scene.

Fixes for Community-Reported Bugs

  • WG-63469 Fixed: AkGameObj component modifications to Environment Aware property in prefab do not save.
  • WG-64036 Improved migration times for projects using Wwise 2019.1 or later


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.1.8100.2644

Release Notes - Wwise Unity Integration 2022.1.1.8100.2644

This release delivers the Wwise SDK update for Wwise 2022.1.1.

Compatibility:

  • Wwise SDK: 2022.1.1
  • Unity: This integration compiles against Unity 2020.3, 2021.3 and 2022.1. It was tested against Unity 2021.3.16f1. Any Unity version more recent than the aforementioned is not currently supported, but will be in a subsequent patch release.

For earlier versions, please refer to Previous Release Notes.

  • Miscellaneous Changes
  • Bug Fixes
  • Fixes for Community-Reported Bugs

Miscellaneous Changes

  • WG-62355 Improved Unity Spatial Audio code according to best practices.

Bug Fixes

  • WG-62061 Fixed: (Spatial Audio) Duplicate room visualization in Game Object 3D Viewer when moving a room during playback.
  • WG-62388 Fixed: (Spatial Audio) Room previously associated with AkGeometry is not updated properly.
  • WG-62411 Fixed: (Spatial Audio) AkRoom does not scale correctly after transforming its parent GameObject.
  • WG-62690 Fixed: After migrating, the following errors appear in the Unity console:
    • WwiseUnity: The platform SoundBank subfolder within the Wwise project could not be found.
    • WwiseUnity: Could not find source folder for <Assets> platform. Did you remember to generate your banks?
    • NullReferenceException: Object reference not set to an instance of an object
    • Asset import failed, "Assets/WwiseData/Banks/iOS/Subtitles.bnk" > NullReferenceException: Object reference not set to an instance of an object
  • WG-63116 Fixed: (Spatial Audio) A deadlock encountered when updating a geometry set that overlaps a portal.
  • WG-63119 Fixed: Errors are thrown when stopping an AkAmbient.

Fixes for Community-Reported Bugs

  • WG-62051 Fixed: Modifications to the AkGameObj position offset aren't saved properly in a prefab.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2022.1.0.8070.2611

Release Notes - Wwise Unity Integration 2022.1.0.8070.2611

This release delivers the Wwise SDK update for Wwise 2022.1.0.

Compatibility:

  • Wwise SDK: 2022.1.0
  • Unity: This integration compiles against Unity 2020.3, 2021.3 and 2022.1. It was tested against 2021.3.0f1 and 2022.1.8f1. Any Unity version more recent than the aforementioned is not currently supported, but will be in a subsequent patch release.

Platform-specific information can be found here:

Mac, iOS and tvOS 2022.1

For earlier versions, please refer to Previous Release Notes.

  • New Features
  • API Changes
  • Behavior Changes
  • Miscellaneous Changes
  • Fixes for Community-Reported Bugs

New Features

  • WG-54310 Added an auto-defined SoundBanks option. When enabled, Wwise automatically defines SoundBanks for each Event and Aux Bus, where possible. Refer to Automatically Defining SoundBanks for more details.

Auto-defined SoundBanks are enabled via the SoundBank Settings. Refer to SoundBank Settings for more details.

  • WG-54685 The Task Scheduler API has been replaced with the new Job Manager for more flexible concurrent execution of sound engine processing tasks.
  • WG-59193 In relation to the new error message translators, added two new Wwise Editor Project Settings to adjust the timeout values for XML and WAAPI. These are found under a new section called Wwise Error Message Translator.

API Changes

  • WG-55811 Added a minimal implementation of WwiseExternalSourceManager, called WwiseSimpleExternalSourceManager, which is used in the Wwise Demo Game.
  • WG-56860 SetPosition and SetMultiplePositions have a new in_eFlags parameter to allow setting emitter and listener positions independently for the same game object.

Behavior Changes

  • WG-60908 Changed the default value of AkCommonUserSettings::m_SamplesPerFrame to 512 on all platforms. This increases out-of-the-box CPU usage in Wwise slightly but significantly reduces the total audio latency in the sound engine. It is still recommended to tune "Samples Per Frame" and "Number of Refills In Voice" to balance your game's total audio latency against the available computing resources.

Miscellaneous Changes

  • WG-57028 Numeral types are now provided by stdint.h on all platforms.

Fixes for Community-Reported Bugs

  • WG-61295 Fixed: Unity Integration is disabled on server build by default.
  • WG-61373 Fixed: (Wwise Unity Addressables) References to the Init bank in unopened scenes are invalidated if the Init WwiseAddressableSoundBank is deleted and regenerated.
  • WG-62390 Fixed: WwiseAddressableSoundBank RefCount can be serialized with LoadCount >0. The value no longer needs serialization.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2021.1.14.8108.2676

Release Notes - Wwise Unity Integration 2021.1.14.8108.2676

This release delivers the Wwise SDK update for Wwise 2021.1.14.

Compatibility:

  • Wwise SDK: 2021.1.14
  • Unity: This integration compiles against Unity 2020.3, 2021.3, 2022.1 and 2022.2. It was tested against 2022.2.2f1. Any Unity version more recent than the aforementioned is not currently supported, but will be in a subsequent patch release.

Platform-specific information can be found here:

Mac, iOS, tvOS and visionOS 2021.1.14

For earlier versions, please refer to Previous Release Notes.

  • New Features
  • Miscellaneous Changes
  • Bug Fixes

New Features

  • WG-53593 Added option not to suspend audio when game loses focus.

Miscellaneous Changes

  • WG-66693 Wwise Unity Integration requires Audiokinetic Launcher 2023.1.1 or later.

Bug Fixes

  • WG-68085 Fixed: Wwise Picker is empty after entering Play mode.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2021.1.13.8036.2602

Release Notes - Wwise Unity Integration 2021.1.13.8036.2602

This release delivers the Wwise SDK update for Wwise 2021.1.13.

Compatibility:

  • Wwise SDK: 2021.1.13
  • Unity: This integration compiles against Unity 2020.3, 2021.3, 2022.1 and 2022.2. It was tested against 2022.2.2f1. Any Unity version more recent than the aforementioned is not currently supported, but will be in a subsequent patch release.

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes
  • Fixes for Community-Reported Bugs

Bug Fixes

  • WG-63983 Fixed: NullReferenceException in RoomAwareManager after enabling a RoomAwareObject.

Fixes for Community-Reported Bugs

  • WG-54630 Fixed: Unnecessary call to SetBasePath on iOS platforms with Wwise Unity Addressables logs an error message.
  • WG-63727 Fixed: Unity AkEmitterObstructionOcclusion component does not immediately block the sound.
  • WG-64036 Fixed: Long migration times.
  • WG-64493 Fixed: Wwise Component Picker drawn at incorrect screen position.
  • WG-64498 Fixed: "Unable to load Wwise Data: UnityEngine.UnityException: LoadAssetAtPath can only be called from the main thread." error when reloading domain.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2021.1.12.7973.2529

Release Notes - Wwise Unity Integration 2021.1.12.7973.2529

This release delivers the Wwise SDK update for Wwise 2021.1.12.

Compatibility:

  • Wwise SDK: 2021.1.12
  • Unity: This integration compiles against Unity 2020.3, 2021.3, 2022.1 and 2022.2. It was tested against 2022.2.2f1. Any Unity version more recent than the aforementioned is not currently supported, but will be in a subsequent patch release.

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes
  • Fixes for Community-Reported Bugs

Bug Fixes

  • WG-63119 Fixed: Errors are thrown when stopping an AkAmbient.

Fixes for Community-Reported Bugs

  • WG-62051 Fixed: Modifications to the AkGameObj position offset aren't saved properly in a prefab.
  • WG-63469 Fixed: AkGameObj component modifications to Environment Aware property in prefab do not save.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2021.1.11.7933.2488

Release Notes - Wwise Unity Integration 2021.1.11.7933.2488

This release delivers the Wwise SDK update for Wwise 2021.1.11.

Compatibility:

  • Wwise SDK: 2021.1.11
  • Unity: This integration compiles against Unity 2020.3, 2021.3 and 2022.1. It was tested against 2021.3.14f1. Any Unity version more recent than the aforementioned is not currently supported, but will be in a subsequent patch release.

For earlier versions, please refer to Previous Release Notes.

  • Fixes for Community-Reported Bugs

Fixes for Community-Reported Bugs

  • WG-61295 Fixed: Unity Integration is disabled on server build by default.
  • WG-61373 Fixed: (Wwise Unity Addressables) References to the Init bank in unopened scenes are invalidated if the Init WwiseAddressableSoundBank is deleted and regenerated.
  • WG-62390 Fixed: WwiseAddressableSoundBank RefCount can be serialized with LoadCount >0. The value no longer needs serialization.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2021.1.10.7883.2429

Release Notes - Wwise Unity Integration 2021.1.10.7883.2429

This release delivers the Wwise SDK update for Wwise 2021.1.10.

Compatibility:

  • Wwise SDK: 2021.1.10
  • Unity: This integration compiles against Unity 2019.4, 2020.3 and 2021.3. It was tested against 2021.3.8f1. Any Unity version more recent than the aforementioned is not currently supported, but will be in a subsequent patch release.

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes
  • Fixes for Community-Reported Bugs

Bug Fixes

  • WG-60348 Fixed: SetGameObjectRadius API call does not return its Game Object ID.

Fixes for Community-Reported Bugs

  • WG-57736 Fixed: Errors are thrown when using the command line to migrate any assets that require AkAmbient.cs.
  • WG-61133 Fixed: Unity integration can cause a memory leak if the Wwise Project is not found.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2021.1.9.7847.2389

Release Notes - Wwise Unity Integration 2021.1.9.7847.2389

This release delivers the Wwise SDK update for Wwise 2021.1.9.

Compatibility:

  • Wwise SDK: 2021.1.9
  • Unity: This integration compiles against Unity 2019.4, 2020.3 and 2021.2. It was tested against 2021.2.17f1. Any Unity version more recent than the aforementioned is not currently supported, but will be in a subsequent patch release.

Platform-specific information can be found here:

Mac, iOS and tvOS 2021.1.9

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes

Bug Fixes

  • WG-59609 Fixed: Error messages asking for other platforms when calling GenerateApiBinding.py for a specific platform.
  • WG-60097 Fixed: SetGameObjectRadius is called every frame when playing in the Unity Editor.
  • WG-60099 Fixed: Spatial Audio Initialization Setting Movement Threshold is too high by default in Unity and in the Unity Demo Game.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2021.1.8.7831.2373

Release Notes - Wwise Unity Integration 2021.1.8.7831.2373

This release delivers the Wwise SDK update for Wwise 2021.1.8.

Compatibility:

  • Wwise SDK: 2021.1.8
  • Unity: This integration compiles against Unity 2019.4, 2020.3 and 2021.2. It was tested against 2021.2.17f1. Any Unity version more recent than the aforementioned is not currently supported, but will be in a subsequent patch release.

Platform-specific information can be found here:

Mac, iOS and tvOS 2021.1.8

For earlier versions, please refer to Previous Release Notes.

  • Miscellaneous Changes
  • Bug Fixes
  • Fixes for Community-Reported Bugs

Miscellaneous Changes

  • WG-53953 Wwise initialization errors are reported earlier in the local output.

Bug Fixes

  • WG-59456 Fixed: Game objects set in the default room "Outdoors" are using the wrong ID in Unity 2020.
  • WG-59563 Fixed: No warning is printed at sound engine initialization when SoundBanks are not found in the Unity Editor.
  • WG-59812 Fixed: Unity Editor crashes when AkRoom tone plays within OnDisable.

Fixes for Community-Reported Bugs

  • WG-58413 Fixed: 'Unknown game object ID' error message when disabling rooms while playing in Unity.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2021.1.7.7796.2335

Release Notes - Wwise Unity Integration 2021.1.7.7796.2335

This release delivers the Wwise SDK update for Wwise 2021.1.7.

Compatibility:

  • Wwise SDK: 2021.1.7
  • Unity: Unity 2019.4.22f1 and 2020.3.1f1 (Personal or Pro).
    Note: This integration does not support Unity 4. This list includes only the Unity versions for which rigorous compatibility testing has been performed. While compatibility with other Unity versions can be reasonably expected, it is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac (editor and runtime) Windows (editor and runtime) Linux (runtime only) PS4 PS5 Switch Xbox One (Game Core) Xbox Series X iOS Android | Unity 2021.1.10f1
Xbox One tvOS UWP (Universal Windows Platform) Stadia | Unity 2020.1.16f1

For earlier versions, please refer to Previous Release Notes.

  • New Features
  • Fixes for Community-Reported Bugs

New Features

  • WG-58565 Added sample script to Addressables package that performs serialization and restoration of addressables metadata for Wwise assets.

Fixes for Community-Reported Bugs

  • WG-54625 Fixed: AkAddressableBankManager fails to load the AK.Wwise.Unity.API.WwiseTypes assembly on non-Windows platforms.
  • WG-54627 Fixed: Addressables Wwise Build script only builds the editor platform asset bundle and WwiseAddressableSoundBank always serializes the Editor platform AssetReferences instead of those of the target build platform.
  • WG-58396 Fixed: Poor logging during edge cases of Wwise Work Unit parsing. Added the Auto-delete WwiseObjectReferences setting, which lets users disable asset deletion operations performed by the Work Unit parser.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2021.1.6.7774.2308

Release Notes - Wwise Unity Integration 2021.1.6.7774.2308

This release delivers the Wwise SDK update for Wwise 2021.1.6.

Compatibility:

  • Wwise SDK: 2021.1.6
  • Unity: Unity 2019.4.22f1 and 2020.3.1f1 (Personal or Pro).
    Note: This integration does not support Unity 4. This list includes only the Unity versions for which rigorous compatibility testing has been performed. While compatibility with other Unity versions can be reasonably expected, it is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac (editor and runtime) Windows (editor and runtime) Linux (runtime only) PS4 PS5 Switch Xbox One (Game Core) Xbox Series X iOS Android | Unity 2021.1.10f1
Xbox One tvOS UWP (Universal Windows Platform) Stadia | Unity 2020.1.16f1

For earlier versions, please refer to Previous Release Notes.

  • Miscellaneous Changes

Miscellaneous Changes

  • WG-57492 Two new initialization settings are exposed: MemoryAllocationSizeLimit (limits memory usage) and MemoryDebugLevel (for debugging memory issues).


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2021.1.5.7749.2277

Release Notes - Wwise Unity Integration 2021.1.5.7749.2277

This release delivers the Wwise SDK update for Wwise 2021.1.5.

Compatibility:

  • Wwise SDK: 2021.1.5
  • Unity: Unity 2019.4.22f1 and 2020.3.1f1 (Personal or Pro).
    Note: This integration does not support Unity 4. This list includes only the Unity versions for which rigorous compatibility testing has been performed. While compatibility with other Unity versions can be reasonably expected, it is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac (editor and runtime) Windows (editor and runtime) Linux (runtime only) PS4 PS5 Switch Xbox One (Game Core) Xbox Series X iOS Android | Unity 2021.1.10f1
Xbox One tvOS UWP (Universal Windows Platform) Stadia | Unity 2020.1.16f1

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes

Bug Fixes

  • WG-56969 Fixed: Offline rendering can't be started before the second frame of game time.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2021.1.4.7707.2232

Release Notes - Wwise Unity Integration 2021.1.4.7707.2232

This release delivers the Wwise SDK update for Wwise 2021.1.4.

Compatibility:

  • Wwise SDK: 2021.1.4
  • Unity: Unity 2019.4.22f1 and 2020.3.1f1 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. This list includes only the Unity versions for which rigorous compatibility testing has been performed. While compatibility with other Unity versions can be reasonably expected, it is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac Windows Linux PS4 PS5 Switch Xbox One (Game Core) Xbox Series X iOS Android | Unity 2021.1.10f1
Xbox One tvOS UWP (Universal Windows Platform) Stadia | Unity 2020.1.16f1

Platform-specific information can be found here:

Mac, iOS and tvOS 2021.1.4

For earlier versions, please refer to Previous Release Notes.

  • New Features
  • Performance Changes
  • Miscellaneous Changes
  • Bug Fixes
  • Fixes for Community-Reported Bugs

New Features

  • WG-29814 Added support for offline rendering.

Performance Changes

  • WG-55340 Improved performance of both Wwise Picker modes when parsing or fetching large project hierarchies.

Miscellaneous Changes

  • WG-55912 Unity C# bindings are now generated from SWIG 4.0.2.
  • WG-56370 Community Reported: JsonSerialize Unity package is required in order to migrate from older versions to Wwise 2021.1.1 and newer.

Bug Fixes

  • WG-55639 Fixed: (Spatial Audio) Room lost when disabled and then re-enabled.

Fixes for Community-Reported Bugs

  • WG-55076 Fixed: Assembly load of WwiseTypes only works on Windows platforms in built games.
  • WG-55077 Fixed: When a SoundBank fails to load, attempts to access the list of Events in the SoundBank cause NullReferenceExceptions.
  • WG-55078 Fixed: Poor handling of edge cases where SoundBanks are unloaded before they are done loading asynchronously.
  • WG-55704 Fixed: Unable to integrate Wwise in Unity project containing plugins with a file path containing "Runtime/Plugins"


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2021.1.3.7665.2179

Release Notes - Wwise Unity Integration 2021.1.3.7665.2179

This release delivers the Wwise SDK update for Wwise 2021.1.3.

Compatibility:

  • Wwise SDK: 2021.1.3
  • Unity: Unity 2019.4.22f1 and 2020.3.1f1 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. This list includes only the Unity versions for which rigorous compatibility testing has been performed. While compatibility with other Unity versions can be reasonably expected, it is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac Windows Linux PS4 PS5 Switch Xbox One (Game Core) Xbox Series X iOS Android | Unity 2021.1.10f1
Xbox One tvOS UWP (Universal Windows Platform) Stadia | Unity 2020.1.16f1

Platform-specific information can be found here:

Mac, iOS and tvOS 2021.1.3

For earlier versions, please refer to Previous Release Notes.

  • Miscellaneous Changes
  • Bug Fixes
  • Fixes for Community-Reported Bugs

Miscellaneous Changes

  • WG-47576 Upgraded the Integration scripts from Python 2 to Python 3.

Bug Fixes

  • WG-55388 Fixed: Unity WwiseDemoScene's reports an AkSpatialAudioListener error.

Fixes for Community-Reported Bugs

  • WG-54782 Fixed: Bad define in AkWwiseProjectInfo causes issues when creating the AkWwiseProjectData asset on editor open when using AssetDatabase V2.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2021.1.2.7629.2141

Release Notes - Wwise Unity Integration 2021.1.2.7629.2141

This release delivers the Wwise SDK update for Wwise 2021.1.2.

Compatibility:

  • Wwise SDK: 2021.1.2
  • Unity: Unity 2017.4, 2018.1, 2018.2, 2018.3, 2018.4, 2019.1, 2019.2, 2019.3, 2019.4, 2020.1 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac Windows Android PS4 Switch Xbox One iOS tvOS Linux UWP (Universal Windows Platform) Stadia Xbox Series X Xbox One (Game Core) | Unity 2020.1.16f1
PS5 | Unity 2020.1.15f1

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes
  • Fixes for Community-Reported Bugs

Bug Fixes

  • WG-52653 Fixed: AkRoom component Wet Transmission warning message doesn't appear when the game object has a disabled AkSurfaceReflector.
  • WG-53624 Fixed: Audio not seeking when manipulating a Playable's Time property.

Fixes for Community-Reported Bugs

  • WG-54127 Fixed: Wwise Scriptable Objects are constantly marked as dirty.
  • WG-54619 Fixed: Unable to parse SoundbankInfo.xml when local computer's locale does not use a period as the decimal separator.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2021.1.1.7601.2102

Release Notes - Wwise Unity Integration 2021.1.1.7601.2102

This release delivers the Wwise SDK update for Wwise 2021.1.1.

Compatibility:

  • Wwise SDK: 2021.1.1
  • Unity: Unity 2017.4, 2018.1, 2018.2, 2018.3, 2018.4, 2019.1, 2019.2, 2019.3, 2019.4, 2020.1 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac Windows Android PS4 Switch Xbox One iOS tvOS Linux UWP (Universal Windows Platform) Stadia Xbox Series X Xbox One (Game Core) | Unity 2020.1.16f1
PS5 | Unity 2020.1.15f1

Platform-specific information can be found here:

Mac, iOS and tvOS 2021.1.1

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes
  • Fixes for Community-Reported Bugs

Bug Fixes

  • WG-53257 Fixed: CPU Limit value in Integrations is not clamped

Fixes for Community-Reported Bugs

  • WG-50723 Fixed: AkTriggerEnable only triggers once on Awake() and not on subsequent re-enables.
  • WG-53320 Fixed: Dynamic libraries that are already part of the Unity integration are copied to the DSP folder.
  • WG-53410 Fixed: AkAmbient attempts to interact with uninitialized AkSoundEngine in batchmode.
  • WG-53722 Fixed: Game Parameters don't appear in the Wwise Picker in 'Wwise Authoring' mode.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2021.1.0.7575.2069

Release Notes - Wwise Unity Integration 2021.1.0.7575.2069

This release delivers the Wwise SDK update for Wwise 2021.1.0.

  • Important Migration Notes 2021.1

Compatibility:

  • Wwise SDK: 2021.1.0
  • Unity: Unity 2017.4, 2018.1, 2018.2, 2018.3, 2018.4, 2019.1, 2019.2, 2019.3, 2019.4, 2020.1 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac Windows Android PS4 Switch Xbox One iOS tvOS Linux UWP (Universal Windows Platform) Stadia Xbox Series X Xbox One (Game Core) | Unity 2020.1.16f1
PS5 | Unity 2020.1.15f1

For earlier versions, please refer to Previous Release Notes.

  • New Features
  • API Changes
  • Behavior Changes
  • Miscellaneous Changes
  • Bug Fixes
  • Fixes for Community-Reported Bugs

New Features

  • WG-34342 The Wwise Picker window now uses WAAPI when available.
  • WG-43009 Added the Wwise Addressables package to support loading Wwise assets with the Unity Addressables system.
  • WG-48935 Added the ability to change the color of attenuation spheres displayed in the Editor view.
  • WG-49016 Updated the Wwise Picker to use the Unity TreeView backend.

API Changes

  • WG-48127 The bus metering callback function AkBusMeteringCallbackFunc has a new signature and receives the structure AkBusMeteringCallbackInfo, which carries an optional cookie that games can now pass via AK::SoundEngine::RegisterBusMeteringCallback. Similarly, AK::SoundEngine::RegisterBusVolumeCallback() now accepts a cookie which is properly passed to AkBusCallbackFunc by the AkSpeakerVolumeMatrixCallbackInfo structure.
  • WG-50742 Renamed parameters in Spatial Audio mentioning "occlusion" to use "transmission loss" instead.

Behavior Changes

  • WG-47929 The layout of the source has changed to better split the integration into future Unity packages.
  • WG-48326 Callback data structure memory can now be monitored in the Authoring tool.
  • WG-52040 Using custom platform names now requires registering to a delegate. See Using Wwise Custom Platforms in Unity for more information.

Miscellaneous Changes

  • WG-52025 Added a button to add an AkRoomAwareObject component on game objects with the AkGameObj component.
  • WG-52182 Increased the default monitor queue pool size.

Bug Fixes

  • WG-48587 Fixed: Hierarchies of empty Work Units don't appear correctly in the Wwise Picker.
  • WG-48929 Fixed: Visibility of the attenuation sphere is poor in the editor view.

Fixes for Community-Reported Bugs

  • WG-52936 Fixed: Playback issues by scrubbing in Timelines.


Wwise Unity Integration Documentation: Important Migration Notes 2021.1

Important Migration Notes 2021.1

Spatial Audio

In Spatial Audio, we opted to talk about diffraction and transmission instead of obstruction and occlusion.

  • In the AkRoom component, Wall Occlusion was renamed to Transmission Loss.
  • In the AkSurfaceReflector component, Occlusion Values were renamed to Transmission Loss Values.

Spatial Audio Initialization Settings were updated and improved. If you update your project to 2021.1, make sure to review the Spatial Audio Initialization Settings to make sure evrything is still set as wanted. Refer to the AkSpatialAudioInitSettings Struct Reference.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.2.15.7667.2215

Release Notes - Wwise Unity Integration 2019.2.15.7667.2215

This release delivers the Wwise SDK update for Wwise 2019.2.15.

Compatibility:

  • Wwise SDK: 2019.2.15
  • Unity: This integration compiles against Unity 2019.4, 2020.3 and 2021.2. It was tested against 2021.2.17f1. Any Unity version more recent than the aforementioned is not currently supported, but will be in a subsequent patch release.

Platform-specific information can be found here:

Mac, iOS and tvOS 2019.2.15

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes

Bug Fixes

  • WG-50265 Fixed: Unity SpatialAudioTutorial's Mobile Main Camera object is missing a spatial audio listener.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.2.14.7616.2152

Release Notes - Wwise Unity Integration 2019.2.14.7616.2152

This release delivers the Wwise SDK update for Wwise 2019.2.14.

Compatibility:

  • Wwise SDK: 2019.2.14
  • Unity: Unity 2018.4.31f1, 2019.4.21f1, 2020.3.0f1 (Personal or Pro).
    Note: Important note: This list includes only the Unity versions for which rigorous compatibility testing has been performed. While compatibility with other Unity versions can be reasonably expected, it is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac Windows Android PS4 Switch | Unity 2021.1.10f1
Xbox One iOS tvOS Linux UWP (Universal Windows Platform) Stadia | Unity 2020.1.16f1

For earlier versions, please refer to Previous Release Notes.

  • Miscellaneous Changes

Miscellaneous Changes

  • WG-55912 Unity C# bindings are now generated from SWIG 4.0.2.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.2.13.7577.2104

Release Notes - Wwise Unity Integration 2019.2.13.7577.2104

This release delivers the Wwise SDK update for Wwise 2019.2.13.

Compatibility:

  • Wwise SDK: 2019.2.13
  • Unity: Unity 2018.4.31f1, 2019.4.21f1, 2020.3.0f1 (Personal or Pro).
    Note: Important note: This list includes only the Unity versions for which rigorous compatibility testing has been performed. While compatibility with other Unity versions can be reasonably expected, it is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac Windows Android PS4 Switch | Unity 2021.1.10f1
Xbox One iOS tvOS Linux UWP (Universal Windows Platform) Stadia | Unity 2020.1.16f1

Platform-specific information can be found here:

Mac, iOS and tvOS 2019.2.13

For earlier versions, please refer to Previous Release Notes.

  • API Changes
  • Bug Fixes

API Changes

  • WG-56084 Updated AkUtilities.GetWwiseSoundBankDestinationFolder function signature.

Bug Fixes

  • WG-52943 Fixed: Decode Compressed Data path is cleared when entering play mode in Unity Editor.
  • WG-55388 Fixed: Unity's WwiseDemoScene reports an AkSpatialAudioListener error.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.2.12.7544.2058

Release Notes - Wwise Unity Integration 2019.2.12.7544.2058

This release delivers the Wwise SDK update for Wwise 2019.2.12.

Compatibility:

  • Wwise SDK: 2019.2.12
  • Unity: Unity 2018.4, 2019.1, 2019.2, 2019.3, 2019.4, 2020.1, 2020.3, 2021.1 (Personal or Pro).
    Note: Important note: Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac Windows Android PS4 Switch | Unity 2021.1.10f1
Xbox One iOS tvOS Linux UWP (Universal Windows Platform) Stadia | Unity 2020.1.16f1

For earlier versions, please refer to Previous Release Notes.

  • Miscellaneous Changes
  • Bug Fixes
  • Fixes for Community-Reported Bugs

Miscellaneous Changes

  • WG-47576 Upgraded the Integration scripts from Python 2 to Python 3.

Bug Fixes

  • WG-53624 Fixed: Audio not seeking when manipulating a Playable's Time property.

Fixes for Community-Reported Bugs

  • WG-53980 Fixed: Incompatibilities with .NET 3.5 in the Unity Integrations code.
  • WG-54619 Fixed: Unable to parse SoundbankInfo.xml when local computer's locale does not use a period as the decimal separator.
  • WG-54782 Fixed: Bad define in AkWwiseProjectInfo causes issues when creating the AkWwiseProjectData asset on editor open when using AssetDatabase V2.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.2.11.7512.2017

Release Notes - Wwise Unity Integration 2019.2.11.7512.2017

This release delivers the Wwise SDK update for Wwise 2019.2.11.

Compatibility:

  • Wwise SDK: 2019.2.11
  • Unity: Unity 2018.4, 2019.1, 2019.2, 2019.3, 2019.4, 2020.1, 2020.3 (Personal or Pro).
    Note: Important note: Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac Windows | Unity 2020.3.0f1
Android PS4 Switch Xbox One iOS tvOS Linux UWP (Universal Windows Platform) Stadia | Unity 2020.1.16f1

Platform-specific information can be found here:

Mac, iOS and tvOS 2019.2.11

For earlier versions, please refer to Previous Release Notes.

  • Fixes for Community-Reported Bugs

Fixes for Community-Reported Bugs

  • WG-53320 Fixed: Libraries that are already part of the Unity integration are copied to the DSP folder.
  • WG-54308 Fixed: Changing a Playable's time directly from code does not seek the active events.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.2.10.7490.1989

Release Notes - Wwise Unity Integration 2019.2.10.7490.1989

This release delivers the Wwise SDK update for Wwise 2019.2.10.

Compatibility:

  • Wwise SDK: 2019.2.10
  • Unity: Unity 2018.4, 2019.1, 2019.2, 2019.3, 2019.4, 2020.1, 2020.3 (Personal or Pro).
    Note: Important note: Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac Windows | Unity 2020.3.0f1
Android PS4 Switch Xbox One iOS tvOS Linux UWP (Universal Windows Platform) Stadia | Unity 2020.1.16f1

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes
  • Fixes for Community-Reported Bugs

Bug Fixes

  • WG-53615 Fixed: AkPluginActivator would initially look for plugin xml files in the wrong path.

Fixes for Community-Reported Bugs

  • WG-50723 Fixed: AkTriggerEnable only triggers once on Awake() and not on subsequent re-enables.
  • WG-52936 Fixed: Playback issues by scrubbing in Timelines.
  • WG-53410 Fixed: AkAmbient attempts to interact with uninitialized AkSoundEngine in batchmode.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.2.9.7459.1949

Release Notes - Wwise Unity Integration 2019.2.9.7459.1949

This release delivers the Wwise SDK update for Wwise 2019.2.9.

Compatibility:

  • Wwise SDK: 2019.2.9
  • Unity: Unity 2017.4, 2018.1, 2018.2, 2018.3, 2018.4, 2019.1, 2019.2, 2019.3, 2019.4, 2020.1 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac Windows Android PS4 Switch Xbox One iOS tvOS Linux UWP (Universal Windows Platform) Stadia | Unity 2020.1.16f1

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes

Bug Fixes

  • WG-47326 Fixed: In the Spatial Audio tutorials, the low pass filter on the distance attenuation of the dialogue sound is too intense.
  • WG-51287 Fixed: Wwise Picker takes a long time to populate when opening a project in Unity.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.2.8.7432.1919

Release Notes - Wwise Unity Integration 2019.2.8.7432.1919

This release delivers the Wwise SDK update for Wwise 2019.2.8.

  • Important Migration Notes 2019.2.8

Compatibility:

  • Wwise SDK: 2019.2.8
  • Unity: Unity 2017.4, 2018.4, 2019.1, 2019.2, 2019.3, 2019.4, 2020.1 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac Windows | Unity 2020.1.0f1
Android iOS Linux Mac PS4 Switch Stadia tvOS UWP (Universal Windows Platform) Xbox One | Unity 2019.4.0f1

For earlier versions, please refer to Previous Release Notes.


Wwise Unity Integration Documentation: Important Migration Notes 2019.2.8

Important Migration Notes 2019.2.8

Using Bitcode with iOS

Since 2019.2.8, The Wwise SDK for iOS is built using XCode 12. If you are still using XCode 11, it is necessary to disable Bitcode in the generated XCode project. Once the Unity build process is done, open the generated XCode project. Go to the Xcode Project's Build Settings, and by set "Enable Bitcode" in the "Build Options" section to "No".


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.2.7.7402.1888

Release Notes - Wwise Unity Integration 2019.2.7.7402.1888

This release delivers the Wwise SDK update for Wwise 2019.2.7.

Compatibility:

  • Wwise SDK: 2019.2.7
  • Unity: Unity 2017.4, 2018.4, 2019.1, 2019.2, 2019.3, 2019.4, 2020.1 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac Windows | Unity 2020.1.0f1
Android iOS Linux Mac PS4 Switch Stadia tvOS UWP (Universal Windows Platform) Xbox One | Unity 2019.4.0f1

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes
  • Fixes for Community-Reported Bugs

Bug Fixes

  • WG-50610 Fixed: Use of room IDs in illegal range results in undefined behavior. AkRoomID::OutdoorsGameObjID is not a valid room ID, despite what the Rooms and Portals Integration Demo was suggesting. AK::SpatialAudio::kOutdoorRoomID (-1) should be used.

Fixes for Community-Reported Bugs

  • WG-51147 Fixed: Long wait time related to XmlWatcher.EnableRaisingEvents when entering play mode in the Unity Editor.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.2.6.7381.1867

Release Notes - Wwise Unity Integration 2019.2.6.7381.1867

This release delivers the Wwise SDK update for Wwise 2019.2.6.

Compatibility:

  • Wwise SDK: 2019.2.6
  • Unity: Unity 2017.4, 2018.4, 2019.1, 2019.2, 2019.3, 2019.4, 2020.1 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac Windows | Unity 2020.1.0f1
Android iOS Linux Mac PS4 Switch Stadia tvOS UWP (Universal Windows Platform) Xbox One | Unity 2019.4.0f1

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes

Bug Fixes

  • WG-47325 Fixed: Reverbs used in Spatial Audio tutorials have Early Reflections enabled.
  • WG-47374 Fixed: Room tone is orphaned when Spatial Audio Room is removed.
  • WG-49936 Fixed: Spatial Audio mesh in the tutorials displays errors when used as a Spatial Audio Geometry


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.2.5.7349.1831

Release Notes - Wwise Unity Integration 2019.2.5.7349.1831

This release delivers the Wwise SDK update for Wwise 2019.2.5.

Compatibility:

  • Wwise SDK: 2019.2.5
  • Unity: Unity 2017.4, 2018.4, 2019.1, 2019.2, 2019.3, 2019.4, 2020.1 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac Windows | Unity 2020.1.0f1
Android iOS Linux Mac PS4 Switch Stadia tvOS UWP (Universal Windows Platform) Xbox One | Unity 2019.4.0f1

For earlier versions, please refer to Previous Release Notes.

  • New Features
  • Bug Fixes
  • Fixes for Community-Reported Bugs

New Features

  • WG-48674 When playing in a scene, the portal gizmo changes when the portal is closed.

Bug Fixes

  • WG-47470 Fixed: AkSpatialAudioListener does not migrate properly.
  • WG-48672 Fixed: AkRoomPortal assigns wrong front and back rooms when scaled in depth(Z).

Fixes for Community-Reported Bugs

  • WG-49902 Fixed: Issues in the Wwise Picker related to nested Work Units.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.2.4.7329.1806

Release Notes - Wwise Unity Integration 2019.2.4.7329.1806

This release delivers the Wwise SDK update for Wwise 2019.2.4.

Compatibility:

  • Wwise SDK: 2019.2.4
  • Unity: Unity 2017.4, 2018.4, 2019.1, 2019.2 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac PS4 Switch Stadia tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2019.4.0f1

Bug Fixes

  • WG-45583 Fixed: Cannot build Unity Integration without having the Wwise SDK folder in a specific location.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.2.3.7304.1778

Release Notes - Wwise Unity Integration 2019.2.3.7304.1778

This release delivers the Wwise SDK update for Wwise 2019.2.3.

Compatibility:

  • Wwise SDK: 2019.2.3
  • Unity: Unity 2017.4, 2018.4, 2019.1, 2019.2 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac Magic Leap (Lumin OS) PS4 Switch Stadia tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2019.3.10f1

Fixes for Community-Reported Bugs

  • WG-49370 Fixed: AkBank unloads bank on Awake if it was set to load on Awake.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.2.2.7275.1749

Release Notes - Wwise Unity Integration 2019.2.2.7275.1749

This release delivers the Wwise SDK update for Wwise 2019.2.2.

Compatibility:

  • Wwise SDK: 2019.2.2
  • Unity: Unity 2017.4, 2018.4, 2019.1, 2019.2 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac Magic Leap (Lumin OS) PS4 Switch Stadia tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2019.3.10f1

Resolved Issues:

  • WG-46080 Fixed: AkTriggerEnable fails to detect the first trigger.
  • WG-47578 Fixed: Hang when starting Unity from a command line.
  • WG-48293 Fixed: Wwise Project Explorer Hierarchies are not displayed properly in the Wwise Picker if the hierarchies contain empty virtual folders.
  • WG-48525 Fixed: Performance issue with the AkWwiseXMLWatcher update function.
  • WG-48709 Fixed: Hang when integrating Wwise into a Unity project using Asset Pipeline version 2.
  • WG-48831 Fixed: Wwise plug-in not registered in built games.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.2.1.7250.1718

Release Notes - Wwise Unity Integration 2019.2.1.7250.1718

This release delivers the Wwise SDK update for Wwise 2019.2.1.

Compatibility:

  • Wwise SDK: 2019.2.1
  • Unity: Unity 2017.4, 2018.4, 2019.1, 2019.2 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac Magic Leap (Lumin OS) PS4 Switch Stadia tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2019.3.0f6

Resolved Issues:

  • WG-47287 Krotos Igniter support in the Unity Integration for Nintendo Switch and iOS.
  • WG-47349 Fixed: Wwise Picker colors in Unity 2019.3 are now the same as in Unity 2019.2.
  • WG-47491 Fixed: (Stadia) Dynamic plug-ins cannot be loaded in Unity on Stadia.
  • WG-47537 Fixed (Stadia): Integration library no longer relies on std::atomic.
  • WG-47621 Fixed compilation when using the .NET 3.5 scripting backend
  • WG-48108 Fixed: Avoided potential deadlock when generating a large amount of callbacks.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.2.0.7216.1681

Release Notes - Wwise Unity Integration 2019.2.0.7216.1681

This release delivers the Wwise SDK update for Wwise 2019.2.0.

  • Important Migration Notes 2019.2

Compatibility:

  • Wwise SDK: 2019.2.0
  • Unity: Unity 2017.4, 2018.4, 2019.1, 2019.2 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac Windows | Unity 2019.3.0f6
Android iOS Linux Magic Leap (Lumin OS) PS4 Switch tvOS UWP (Universal Windows Platform) Xbox One | Unity 2019.2.17f1
Stadia | Unity 2019.3.0f5

Resolved Issues:

  • WG-39507 Replaced the use of AkVector and AkVertex with UnityEngine.Vector3.
  • WG-42160 Registered the Wwise Editor settings and the Wwise Initialization settings as SettingsProviders.
  • WG-42486 Fixed: Portal Assignments to Back and Front Rooms did not respond to Undo/Redo, in Spatial Audio.
  • WG-42487 Fixed: (Spatial Audio) When disabling AkRoom Components, the listener or the emitters were not placed in the correct rooms.
  • WG-43185 Improved lock performance by using C# lock instead of a mutex.
  • WG-43252 The Wwise device enumeration is now exposed.
  • WG-43255 The "Wwise\Resources" folder has been renamed to "Wwise\ScriptableObjects".
  • WG-43329 Exposed the AK::SoundEngine::ResourceMonitor feature to Unity
  • WG-44044 LoadBank from memory overloads has been renamed to LoadBankMemoryCopy and LoadBankMemoryView.
  • WG-44311 (Spatial Audio) Added undo/redo support to AkEnvironmentPortal.
  • WG-44366 Fixed: Disabling the AkRoom Component did not work as expected.
  • WG-44450 All variations of AkArray, AkHashList, AkKeyArray now optionally provide their own rule for a "Grow Policy", in order to optimize the rules that are applied by every declaration.
  • WG-44742 Updated the range limits for Spatial Audio settings in Unreal and Unity.
  • WG-44768 Added the ability to load banks from UnityEngine.Application.persistentDataPath on platforms that support it.
  • WG-45089 Removed warnings that could appear when dealing with AkEventPlayables within Unity's Timeline.
  • WG-45586 Added the bEnableDirectPathDiffraction parameter to Spatial Audio, in order to globally enable or disable the diffraction.
  • WG-45782 Fixed: (Spatial Audio) AkSurfaceReflector components were ignored after disabling an AkRoom.
  • WG-46045 Added a migration step to 2019.2: AkSpatialAudioEmitter is replaced with AkRoomAwareObject.
  • WG-46158 Added a menu to switch scenes or exit the application to WwiseDemoScene.
  • WG-46919 Fixed: A DllNotFoundException on the WAAPI Client could occur after deleting the Library folder.
  • WG-46991 Fixed: Background unloading of banks no longer occur.
  • WG-47182 The possibility of modifying the front and back rooms of an AkRoomPortal has been removed. Rooms are now automatically the highest priority, active and enabled room that overlaps the front and back positions of an AkRoomPortal. As a result of this, the SpatialAudioTutorial Unity scene's AkRoomPortal Component Baker was removed.


Wwise Unity Integration Documentation: Important Migration Notes 2019.2

Important Migration Notes 2019.2

Spatial Audio

The AkSpatialAudioEmitter component is deprecated. As of 2019.2, spatial audio parameters can be applied per sound in the authoring tool. An emitter doesn't need to be tagged as a spatial audio emitter anymore.

  • Early Reflections
    • Reflect Aux Bus: As of 2019.2 it is possible to select the early reflections auxiliary bus in the authoring tool, in the General Settings tab of the Sound SFX Property Editor. It is still possible to associate an ER auxiliary bus to a game object by calling AK::SpatialAudio::SetEarlyReflectionsAuxSend(), however, the early reflection auxiliary bus specified in the authoring tool has precedence. See the new AkEarlyReflections component for more details. Currently, this component will call AK::SpatialAudio::SetEarlyReflectionsAuxSend() with the aux bus specified via this parameter.
    • Reflection Max Path Length: As of 2019.2, the Reflection Max Path Length is set by the sound's Attenuation Max Distance value in the Authoring tool.
    • Reflection Aux Bus Gain: As of 2019.2 it is possible to select the early reflections volume in the authoring tool, in the General Settings tab of the Sound SFX Property Editor. It is still possible to set the early reflections volume per game object by calling AK:SpatialAudio::SetEarlyReflectionsVolume(). It will be applied additively to the volume defined per-sound in the authoring tool. See the new AkEarlyReflections component for more details. Currently, this component will call AK:SpatialAudio::SetEarlyReflectionsVolume() with the volume specified via this parameter.
    • Reflections Order: As of 2019.2, the Reflection Order is set in the Spatial Audio Initialization Settings.
  • Rooms
    • Room Reverb Aux Bus Gain: As of 2019.2, the Room Reverb Aux Bus Gain is set by the Game-Defined Auxiliary Sends Volume in the Sound Property Editor in the Authoring tool.
  • Geometric Diffraction
    • Diffraction Max Edges: As of 2019.2, diffraction is enabled in the Sound Property Editor in the Authoring tool.
    • Diffraction Max Paths: As of 2019.2, diffraction is enabled in the Sound Property Editor in the Authoring tool.
    • Diffraction Max Path Length: As of 2019.2, diffraction is enabled in the Sound Property Editor in the Authoring tool.
  • Debug Draw: The debug drawings were moved to the new AkSpatialAudioDebugDraw component.

The AkSurfaceReflector component has new parameters.

  • Mesh: The AkSurfaceReflector component does not require a MeshFilter component anymore. Instead, the mesh representing surface reflectors to send to Spatial Audio is specified via this parameter. If nothing is selected, the component will check if the unity Game Object has a Mesh Filter component and will use its mesh as the AkSurfaceReflector mesh.
  • Acoustic Textures: In the old AkSurfaceReflector component, only one AkAcousticTexture could be chosen for the whole surface reflector mesh. As of 2019.2, you can specify a different AkAcousticTexture for each submesh of the mesh provided in the previous parameter. Old values passed to the single Acoustic Texture parameter will be applied to all the submeshes.

A new component called AkRoomAwareObject has been added to Spatial Audio. The component calls AK::SpatialAudio::SetGameObjectInRoom() which helps Spatial Audio know in which room a game object is at all times. The component should be added to all Spatial Audio emitters and listeners.

  • A migration should automatically add the AkRoomAwareObject component on GameObjects which previously had the AkSpatialAudioEmitter. The migration does not add it to AkSpatialAudioListener game objects; this has to be done by the user.
  • See Using AkRoomAwareObject from the Inspector for more information about the AkRoomAwareObject component.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.1.11.7296.1786

Release Notes - Wwise Unity Integration 2019.1.11.7296.1786

This release delivers the Wwise SDK update for Wwise 2019.1.11.

Compatibility:

  • Wwise SDK: 2019.1.11
  • Unity: Unity 2017.4, 2018.4, 2019.1, 2019.2 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Mac Windows Android PS4 Switch Xbox One iOS tvOS Linux UWP (Universal Windows Platform) Stadia | Unity 2020.1.16f1

For earlier versions, please refer to Previous Release Notes.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.1.10.7250.1738

Release Notes - Wwise Unity Integration 2019.1.10.7250.1738

This release delivers the Wwise SDK update for Wwise 2019.1.10.

Compatibility:

  • Wwise SDK: 2019.1.10
  • Unity: Unity 2017.4, 2018.4, 2019.1, 2019.2 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac Magic Leap (Lumin OS) PS4 Switch Stadia tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2019.3.10f1

For earlier versions, please refer to Previous Release Notes.

  • Bug Fixes
  • Fixes for Community-Reported Bugs

Bug Fixes

  • WG-45583 Fixed: Cannot build Unity Integration without having the Wwise SDK folder in a specific location.

Fixes for Community-Reported Bugs

  • WG-48525 Fixed: Performance issue with the AkWwiseXMLWatcher update function.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.1.9.7221.1704

Release Notes - Wwise Unity Integration 2019.1.9.7221.1704

This release delivers the Wwise SDK update for Wwise 2019.1.9.

Compatibility:

  • Wwise SDK: 2019.1.9
  • Unity: Unity 2017.4, 2018.1, 2018.2, 2018.3, 2018.4, 2019.1, 2019.2 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac Magic Leap (Lumin OS) PS4 Switch Stadia tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2019.3.0f10

Resolved Issues:

  • WG-47349 Fixed: Wwise Picker colors in Unity 2019.3 are not the same as in Unity 2019.2.
  • WG-47578 Fixed: Hang when starting Unity from a command line.
  • WG-48108 Fixed: Potential hang when generating a large number of callbacks.
  • WG-48709 Fixed: Hang when integrating Wwise into a Unity project using Asset Pipeline version 2.
  • WG-48831 Fixed: Wwise plug-in not registered in built games.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.1.8.7173.1654

Release Notes - Wwise Unity Integration 2019.1.8.7173.1654

This release delivers the Wwise SDK update for Wwise 2019.1.8.

Compatibility:

  • Wwise SDK: 2019.1.8
  • Unity: Unity 2017.4, 2018.1, 2018.2, 2018.3, 2018.4, 2019.1, 2019.2 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac Magic Leap (Lumin OS) PS4 Switch tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2019.3.0f6
Stadia | Unity 2019.3.0f5

Resolved Issues:

  • WG-46771 Fixed: (Android) Sound Engine suspends when showing notifications or the software keyboard.
  • WG-46919 Fixed: A DllNotFoundException on the WAAPI Client could occur after deleting the Library folder.
  • WG-46984 Simplified the Timeline Integration in Unity to better match documentation.
  • WG-47287 Krotos support in the Unity Integration for Nintendo Switch and iOS.
  • WG-47418 Fixed: Spatial Audio stationary outdoor game objects being placed at the origin.
  • WG-47491 Fixed: (Stadia) Dynamic plug-ins cannot be loaded in Unity on Stadia.
  • WG-47687 Fixed: Added AkSoundEngineLumin.make to Wwise Unity Integration source Package.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.1.7.7135.1611

Release Notes - Wwise Unity Integration 2019.1.7.7135.1611

This release delivers the Wwise SDK update for Wwise 2019.1.7.

Compatibility:

  • Wwise SDK: 2019.1.7
  • Unity: Unity 2017.4, 2018.1, 2018.2, 2018.3, 2018.4, 2019.1, 2019.2 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac Magic Leap (Lumin OS) PS4 Switch tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2019.2.17f1
Stadia | Unity 2019.3.0f5

Resolved Issues:

  • WG-44250 Removed legacy Finalizer from EventCallbackPackage.
  • WG-46282 Fixed: "Plug-in not found" error displayed in built game if the path name contained "Deployment".
  • WG-46360 Fixed: AkGameObj now sets its position once, if it does not move, and AkAmbientInspector displays a warning if it is set to multi-position and its target UnityEngine.GameObjects is not static.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.1.6.7110.1585

Release Notes - Wwise Unity Integration 2019.1.6.7110.1585

This release delivers the Wwise SDK update for Wwise 2019.1.6.

Compatibility:

  • Wwise SDK: 2019.1.6
  • Unity: Unity 2017.4, 2018.1, 2018.2, 2018.3, 2018.4, 2019.1, 2019.2 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac Magic Leap (Lumin OS) PS4 Switch tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2019.2.10f1
Stadia | Unity 2019.3.0b8

Resolved Issues:

  • WG-45582 Clamped the aux send values sent by AkEnvironmentPortal to [0, 1].
  • WG-45671 Exposed Async Open of the low-level I/O in the Wwise Advanced Settings.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.1.5.7093.1568

Release Notes - Wwise Unity Integration 2019.1.5.7093.1568

This release delivers the Wwise SDK update for Wwise 2019.1.5.

Compatibility:

  • Wwise SDK: 2019.1.5
  • Unity: Unity 2017.4, 2018.1, 2018.2, 2018.3, 2018.4, 2019.1, 2019.2 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac Magic Leap (Lumin OS) PS4 Switch tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2019.2.6f1
Stadia | Unity 2019.3.0b8

Resolved Issues:

  • WG-45084 Fixed playback of AkEventPlayable after scrubbing into it.
  • WG-45708 (Switch) Fixed freeze when using streaming sounds.
  • WG-45806 Optimized the processing behind the "Fixing clip durations of AkEventPlayables" pop-up.
  • WG-45902 (Stadia) Fixed crash on initialization.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.1.4.7065.1538

Release Notes - Wwise Unity Integration 2019.1.4.7065.1538

This release delivers the Wwise SDK update for Wwise 2019.1.4.

Compatibility:

  • Wwise SDK: 2019.1.4
  • Unity: Unity 2017.4, 2018.1, 2018.2, 2018.3, 2018.4, 2019.1 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac Magic Leap (Lumin OS) PS4 Switch tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2019.1.10f1
Stadia | Unity 2019.3.0a12

Resolved Issues:

  • WG-44854 Fixed typo in the generation of the SoundBank base path for XboxOne.
  • WG-44905 WwiseGroupValueObjectReferences are marked dirty when their GroupObjectReferences are modified.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.1.3.7048.1516

Release Notes - Wwise Unity Integration 2019.1.3.7048.1516

This release delivers the Wwise SDK update for Wwise 2019.1.3.

Compatibility:

  • Wwise SDK: 2019.1.3
  • Unity: Unity 2017.4, 2018.1, 2018.2, 2018.3, 2018.4, 2019.1 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac Magic Leap (Lumin OS) PS4 Switch tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2019.1.10f1
Stadia | Unity 2019.3.0a12

Resolved Issues:

  • WG-43179 Added preliminary support for Stadia.
  • WG-43705 Fixed occlusion in Unity.
  • WG-43966 Fixed Google resonance Mixer plug-in not outputting with default Mixer plug-in attachment parameters.
  • WG-44142 The Wwise version and copyright information can now be seen in the logs in the editor and in built games.
  • WG-44205 {{WwiseObjectReference}} asset files are modified only when their data is modified.
  • WG-44393 Removed compilation warnings that occurred when building a game.
  • WG-44581 (iOS, Switch) Protected builds from {{KeyNotFoundException}} errrors, which were thrown when the platform specific "PluginInfo.xml" file was not found.
  • WG-44205 WwiseObjectReference asset files are modified only when their data is modified.
  • WG-44393 Removed compilation warnings that occurred when building a game.
  • WG-44581 Protected Switch and iOS builds from {{KeyNotFoundException}} were thrown when the platform specific "PluginInfo.xml" file was not found.
  • WG-44627 Added GetWindowsDeviceCount() and fixed GetWindowsDeviceName() so that it now accepts an AkAudioDeviceState argument.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.1.2.7018.1481

Release Notes - Wwise Unity Integration 2019.1.2.7018.1481

This release delivers the Wwise SDK update for Wwise 2019.1.2.

Compatibility:

  • Wwise SDK: 2019.1.2
  • Unity: Unity 2017.4, 2018.1, 2018.2, 2018.3, 2018.4, 2019.1 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac PS4 Switch tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2019.1.1f1
Magic Leap (Lumin OS) | Unity 2019.1.8f1 with ML SDK 0.21.0

Resolved Issues:

  • WG-44216 Reported using the Bug Reporter: fixed a compilation error that occurred when using the .NET 3.5 scripting backend.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.1.2.7018.1480

Release Notes - Wwise Unity Integration 2019.1.2.7018.1480

This release delivers the Wwise SDK update for Wwise 2019.1.2.

Compatibility:

  • Wwise SDK: 2019.1.2
  • Unity: Unity 2017.4, 2018.1, 2018.2, 2018.3, 2018.4, 2019.1 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac PS4 Switch tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2019.1.1f1
Magic Leap (Lumin OS) | Unity 2019.1.8f1 with ML SDK 0.21.0

Resolved Issues:

  • WG-42831 Added the settings that determine whether the sound engine will render while suspended from the Unity callbacks.
  • WG-43182 Fixed migration of Unity projects with large numbers of scenes by closing all opened scenes.
  • WG-43292 Fixed Spatial Audio Portals causing errors when placed correctly.
  • WG-43347 (Switch) Fixed deployment problem when using Community Plug-ins.
  • WG-43358 (iOS) Fixed deployment problem when using Community Plug-ins.
  • WG-43676 UWP: updated to VS 2017, added support for ARM64.
  • WG-44134 Fixed Unity project build failure on AkSoundEngine.a after integration with Wwise using Launcher 2019.5.905.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.1.1.6977.1430

Release Notes - Wwise Unity Integration 2019.1.1.6977.1430

This release delivers the Wwise SDK update for Wwise 2019.1.1.

Compatibility:

  • Wwise SDK: 2019.1.1
  • Unity: Unity 5.6, 2017.4, 2018.1, 2018.2, 2018.3 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac PS4 Switch tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2019.1.0f2
Magic Leap (Lumin OS) | Unity 2019.1.0f2 with ML SDK 0.19.0

Resolved Issues:

  • WG-40425 Changed AkEvents within Timeline to update accurately, reflecting changes in name and timing and indicating when SoundBanks are regenerated with new information.
  • WG-41071 Ensured AkEvent clips in Timeline are created with a proper minimum duration, if the total duration is unknown.
  • WG-41383 Added the ability to specify whether or not AkEventPlayable objects stop at the end of their associated clip.
  • WG-41684 Fixed: Cannot build Windows executables from the Mac editor.
  • WG-41721 Changed the AkRoomPortal component to have option to choose an initial state.
  • WG-42001 Fixed: Crash when setting AkExternalSourceInfo.szFile.
  • WG-42612 (Switch) Source solution can now be built with no folder location requirements.
  • WG-42625 Properly exposed API to receive arrays of structures.
  • WG-42841 Fixed NullReferenceException when selecting GameObject with AkAmbient attached.
  • WG-42870 Packaged the Motion plug-in DLL into the Unity Integration.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2019.1.0.6947.1394

Release Notes - Wwise Unity Integration 2019.1.0.6947.1394

This release delivers the Wwise SDK update for Wwise 2019.1.0.

Compatibility:

  • Wwise SDK: 2019.1.0
  • Unity: Unity 5.6, 2017.4, 2018.1, 2018.2, 2018.3 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Mac PS4 Switch Windows Xbox One | Unity 2018.3.7f1
Linux tvOS UWP (Universal Windows Platform) | Unity 2018.3.0f2
Magic Leap (Lumin OS) | Unity for Magic Leap Technical Preview (Unity-2018.1.0f2-MLTP6 with ML SDK 0.16.0)

Resolved Issues:

  • WG-26971 Ensured propagation of Wwise object renames throughout the Unity project.
  • WG-36815 Fixed: The Advanced Profiler's Listeners tab does not refresh Game Object or Listener names.
  • WG-38842 Set updated SoundBanks to properly reload in the Unity editor.
  • WG-39769 Changed the AkSurfaceReflector component to now associate with an AkRoom component.
  • WG-40552 AkAmbient no longer uses an awkward editor for the Large_Mode positioning type. Instead, we use child objects that contain the AkAmbientLargeModePositioner component as the position source for multi-positioning.
  • WG-41010 Added the proper icons for Acoustic Textures and Game Parameters to the Wwise Picker.
  • WG-41282 Added AkSurfaceReflector as the drag-n-drop target for Acoustic Textures.
  • WG-42073 Made all Python build scripts compatible with Python 3.
  • WG-42081 (Linux) Removed 32-bit support.
  • WG-42133 (Switch) Made all available plug-ins usable on the platform.
  • WG-42208 Fixed: (tvOS) Wrong path to DSP plug-ins.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2018.1.6.6858.1313

Release Notes - Wwise Unity Integration 2018.1.6.6858.1313

This release delivers the Wwise SDK update for Wwise 2018.1.6.

Compatibility:

  • Wwise SDK: 2018.1.6
  • Unity: Unity 5.6, 2017.4, 2018.1, 2018.2, 2018.3 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Mac Xbox One | Unity 2018.2.16f1
Linux PS4 tvOS UWP (Universal Windows Platform) Windows | Unity 2018.3.0f2
Magic Leap (Lumin OS) | Unity for Magic Leap Technical Preview (Unity-2018.1.0f2-MLTP6 with ML SDK 0.16.0)
Switch | Unity for Nintendo Switch 2018.2.16f1 with NintendoSDK 6.4.0

Resolved Issues:

  • WG-36343 Fixed: Portal obstruction is set for invalid portals, which spams the error log.
  • WG-37644 Fixed: Several false reports of "AkInitializer.cs Awake() was not executed yet" printed to standard output.
  • WG-39629 Fixed: AkAudioListener is not added to the camera in some scenes when integrating the Wwise Unity Integration.
  • WG-39793 You can now connect the Wwise Profiler when the game is paused in the editor.
  • WG-40103 Fixed: Migration of WwiseTypes does not save Prefabs.
  • WG-40988 Fixed: The AkAmbient Play button does not refresh properly when playing a sound.
  • WG-41012 Fixed: Dragging-and-dropping items from the Wwise Picker to the Game Object Inspector view sometimes does not create the corresponding script.
  • WG-41018 Fixed: Undo/redo of drag-and-drop operations does not work for Component creation when initiated from the Wwise picker.
  • WG-41107 (iOS, Switch, tvOS) Fixed: No error appears when building a game which references a missing plug-in.
  • WG-41185 Fixed: The Wwise Picker window displays "Root Item" while in play mode.
  • WG-41248 (PS4) Fixed: ATRAC9 decoding fails because there is no ACP Batch buffer.
  • WG-41479 Fixed: Timeline Demo Event and RTPC tracks do not migrate.
  • WG-41514 Fixed: Dragging-and-dropping items from the Wwise Picker sometimes does not reference the correct item.
  • WG-41815 Fixed: Wwise components do not migrate correctly in Wwise 2018.1.3 up to 2018.1.6.
  • WG-41920 Ensured callbacks on AkEvents are properly saved when used on a Prefab instance.
  • WG-42016 (Switch) Added AkMotionSourceSource to packages.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2018.1.5.6835.1288

Release Notes - Wwise Unity Integration 2018.1.5.6835.1288

This release delivers the Wwise SDK update for Wwise 2018.1.5.

Compatibility:

  • Wwise SDK: 2018.1.5
  • Unity: Unity 5.6, 2017.4, 2018.1, 2018.2, 2018.3 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac PS4 tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2018.3.0f2
Magic Leap (Lumin OS) | Unity for Magic Leap Technical Preview (Unity-2018.1.0f2-MLTP6 with ML SDK 0.16.0)
Switch | Unity for Nintendo Switch 2018.2.16f1 with NintendoSDK 6.4.0

Resolved Issues:

  • WG-36753 Unity Integration now uses premake5 from the SDK to generate its C++ project.
  • WG-39264 Fixed: Console spam when undoing an object containing a Wwise component.
  • WG-39429 Fixed: Advanced platform-specific settings, exposed in the UI, cannot be found.
  • WG-39543 Sound Event in a Timeline will now display a new name when the SoundBanks are generated.
  • WG-39990 Added support for Android ARM64.
  • WG-40006 Added a message to confirm change of plug-in configuration.
  • WG-40565 Fixed: Wwise Unity initialization settings had invalid default values for the Spatial Audio diffraction settings. The defaults have been updated and old projects' defaults will be validated so that they fall within range.
  • WG-40674 Fixed: Compilation error in Unity versions older than 2017.3.
  • WG-40992 Replicated Wwise Project Info in Unity data is now saved at the appropriate time.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2018.1.4.6807.1258

Release Notes - Wwise Unity Integration 2018.1.4.6807.1258

This release delivers the Wwise SDK update for Wwise 2018.1.4.

Compatibility:

  • Wwise SDK: 2018.1.4
  • Unity: Unity 5.6, 2017.4, 2018.1, 2018.2 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac PS4 tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2018.2.5f1
Magic Leap (Lumin OS) | Unity for Magic Leap Technical Preview (Unity-2018.1.0f2-MLTP6 with ML SDK 0.16.0)
Switch | Unity for Nintendo Switch 2018.2.16f1 with NintendoSDK 6.4.0

Resolved Issues:

  • WG-39412 Fixed issue where AkAmbient toolbar would not be visible on HiDPI displays.
  • WG-39444 Fixed string encoding for AkExternalSourceInfo filename.
  • WG-39639 Fixed AkEventPlayable Timeline clip not reacting to new SoundBank information.
  • WG-39849 Fixed heap corruption when calling AkSoundEngine.PrepareEvent() or AksoundEngine.PrepareGameSync() with an array of strings.
  • WG-40051 Fixed Development Build problems on the Switch platform.
  • WG-40095 Fixed hang when opening project while assets are being modified.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2018.1.3.6784.1233

Release Notes - Wwise Unity Integration 2018.1.3.6784.1233

This release delivers the Wwise SDK update for Wwise 2018.1.3.

Compatibility:

  • Wwise SDK: 2018.1.3
  • Unity: Unity 5.6, 2017.4, 2018.1, 2018.2 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac PS4 tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2018.2.5f1
Magic Leap (Lumin OS) | Unity for Magic Leap Technical Preview (Unity-2018.1.0f2-MLTP6 with ML SDK 0.16.0)
Switch | Unity for Nintendo Switch 4.1.0 (Unity 2018.1.4f1 with NintendoSDK 5.4.0)

Resolved Issues:

  • WG-38413 Fixed: Pausing the editor then entering play mode causes Unity to freeze.
  • WG-39235 Added log message for when the sound engine is already initialized.
  • WG-39416 Fixed: Unity crash when setting Prepare Pool Size to something other than 0.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2018.1.2.6762.1211

Release Notes - Wwise Unity Integration 2018.1.2.6762.1211

This release delivers the Wwise SDK update for Wwise 2018.1.2.

Compatibility:

  • Wwise SDK: 2018.1.2
  • Unity: Unity 5.6, 2017.4, 2018.1, 2018.2 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac PS4 tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2018.2.5f1
Magic Leap (Lumin OS) | Unity for Magic Leap Technical Preview (Unity-2018.1.0f2-MLTP6 with ML SDK 0.16.0)
Switch | Unity for Nintendo Switch 4.1.0 (Unity 2018.1.4f1 with NintendoSDK 5.4.0)

Resolved Issues:

  • WG-26971 Wwise object renames are now propagated throughout the Unity project.
  • WG-39195 Fixed: Spamming of the editor listener position and orientation when values are constant.
  • WG-39235 Added log message for when the sound engine is already initialized.
  • WG-39307 Made attenuation sphere visualization 90% transparent.
  • WG-39331 Ensured that the AkWwiseInitializationSettings {{ScriptableObject}} is saved with the platform settings when changes are made.
  • WG-39362 Added Opus codec to Unity integration.
  • WG-39577 Fixed: (Xbox One) Initialization problem.
  • WG-39608 Added WAAPI C# API files to packages.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2018.1.1.6727.1172

Release Notes - Wwise Unity Integration 2018.1.1.6727.1172

This release delivers the Wwise SDK update for Wwise 2018.1.1.

Compatibility:

  • Wwise SDK: 2018.1.1
  • Unity: Unity 5.6, 2017.4, 2018.1, 2018.2 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux PS4 tvOS UWP (Universal Windows Platform) Xbox One | Unity 2018.1.5
Mac Windows | Unity 2018.2.2f1
Magic Leap (Lumin OS) | Unity for Magic Leap Technical Preview (Unity-2018.1.0f2-MLTP6 with ML SDK 0.16.0)
Switch | Unity for Nintendo Switch 4.1.0 (Unity 2017.4.0f1 with NintendoSDK 4.5.0)

Resolved Issues:

  • WG-35762: Fixed: Playback of multiple selected AkEvents only plays one Event ID.
  • WG-39012: Removed AkWwisePostImportCallbackSetup.ClearConsole().


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2018.1.0.6714.1154

Release Notes - Wwise Unity Integration 2018.1.0.6714.1154

This release delivers the Wwise SDK update for Wwise 2018.1.0.

  • New Features 2018.1

Compatibility:

  • Wwise SDK: 2018.1.0
  • Unity: Unity 5.6, 2017.4, 2018.1, 2018.2 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
Platforms: | Wwise Unity Integration tested on:
Android iOS Linux Mac PS4 tvOS UWP (Universal Windows Platform) Windows Xbox One | Unity 2018.1.0f2
Magic Leap (Lumin OS) | Unity for Magic Leap Technical Preview (Unity 2018.1.0b12-MLTP5 with ML SDK 0.14.0)
Switch | Unity for Nintendo Switch 4.1.0 (Unity 2017.4.0f1 with NintendoSDK 4.5.0)

Resolved Issues:

  • WG-30965: Exposed COMM's init settings to C# bindings.
  • WG-32316: Exposed Xbox One APU memory heap size.
  • WG-36375: Exposed all initialization settings to the Unity UI.
  • WG-36993: Fixed setting of WwiseTypes within arrays.
  • WG-37127: Added support for new Spatial Audio Room API for Room tones.
  • WG-37514: Added WAAPI support to Unity.


Wwise Unity Integration Documentation: New Features 2018.1

New Features 2018.1

There are a number of important new features in Wwise 2018.1 and its Unity Integration. These include the following:

  • The communication settings used by the profiler are now exposed to Unity Editor.
  • The APU heap size can now be set from Unity Integration.
  • Users can now write their own scripts communicating with the Wwise Authoring tool via WAAPI because of a newly added C# WAAPI Client class.
  • Wwise initialization settings, where various memory pool sizes are defined, can now be defined from the Unity Editor for each platform.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.2.9.6726.1210

Release Notes - Wwise Unity Integration 2017.2.9.6726.1210

This release delivers the Wwise SDK update for Wwise 2017.2.9.

Compatibility:

  • Wwise SDK: 2017.2.9
  • Unity: Unity 5.6, 2017.4, 2018.1, 2018.2, 2018.3 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
Platforms: | Wwise Unity Integration tested on:
iOS Mac tvOS Windows | Unity 2018.3.0f2
Android Linux PS4 UWP (Universal Windows Platform) Xbox One | Unity 2018.2.16f1
Magic Leap (Lumin OS) | Unity for Magic Leap Technical Preview (Unity-2018.1.9f1-MLTP9.6 with ML SDK 0.18.0)
Switch | Unity for Nintendo Switch 2018.2.16f1 with NintendoSDK 6.4.0

Resolved Issues:

  • WG-39412 Fixed issue where AkAmbient toolbar would not be visible on Hi DPI displays.
  • WG-39444 Fixed string encoding for AkExternalSourceInfo file name.
  • WG-39849 Fixed heap corruption when calling AkSoundEngine.PrepareEvent() or AksoundEngine.PrepareGameSync() with an array of strings.
  • WG-39990 Added support for Android ARM64.
  • WG-40006 Added a message to confirm change of plug-in configuration.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.2.8.6698.1171

Release Notes - Wwise Unity Integration 2017.2.8.6698.1171

This release delivers the Wwise SDK update for Wwise 2017.2.8.

Compatibility:

  • Wwise SDK: 2017.2.8
  • Unity: Unity 5.6, 2017.1, 2017.2, 2017.3, 2017.4, 2018.1, and 2018.2 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    PS4
    tvOS
    UWP (Universal Windows Platform)
    Xbox One
    Mac
    Windows     		Unity 2018.2.5f1
    Magic Leap (Lumin OS) | Unity for Magic Leap Technical Preview (Unity 2018.1.0b12-MLTP5 with ML SDK 0.14.0)
    Switch | Unity for Nintendo Switch 4.1.0 (Unity 2017.4.0f1 with NintendoSDK 4.5.0)

Resolved Issues:

  • WG-38413 Fixed: Pausing the editor then entering play mode causes Unity to freeze.
  • WG-39195 Fixed: Spamming of the editor listener position and orientation when values are constant.
  • WG-39201 Removed error message when adding an AkBank component from the Add Component button.
  • WG-39235 Added log message for when the sound engine is already initialized.
  • WG-39307 Made attenuation sphere visualization 90% transparent.
  • WG-39388 Fixed: Ak Initializer settings are not persisted on project reload


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.2.7.6661.1133

Release Notes - Wwise Unity Integration 2017.2.7.6661.1133

This release delivers the Wwise SDK update for Wwise 2017.2.7.

Compatibility:

  • Wwise SDK: 2017.2.7
  • Unity: Unity 5.6, 2017.1, 2017.2, 2017.3, 2017.4, 2018.1, and 2018.2 (Personal or Pro).
    Note: Important note: This integration does not support Unity 4. Compatibility with Unity versions not listed above is not guaranteed.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    PS4
    tvOS
    UWP (Universal Windows Platform)
    Xbox One     		Unity 2018.1.5
    Mac
    Windows     		Unity 2018.2.2f1
    Magic Leap (Lumin OS) | Unity for Magic Leap Technical Preview (Unity 2018.1.0b12-MLTP5 with ML SDK 0.14.0)
    Switch | Unity for Nintendo Switch 4.1.0 (Unity 2017.4.0f1 with NintendoSDK 4.5.0)

Resolved Issues:

  • WG-35762: Fixed: Playback of multiple selected Ak Objects only plays one Event ID.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.2.6.6636.1107

Release Notes - Wwise Unity Integration 2017.2.6.6636.1107

This release delivers the Wwise SDK update for Wwise 2017.2.6.

Compatibility:

  • Wwise SDK: 2017.2.6
  • Unity: Unity 5.6, 2017.1, 2017.2, 2017.3, 2017.4, and 2018.1 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    tvOS
    UWP (Universal Windows Platform)
    Windows
    Xbox One     		Unity 2018.1.0f2
    Magic Leap (Lumin OS) | Unity for Magic Leap Technical Preview (Unity 2018.1.0b12-MLTP5 with ML SDK 0.14.0)
    Switch | Unity for Nintendo Switch 4.1.0 (Unity 2017.4.0f1 with NintendoSDK 4.5.0)

Resolved Issues:

  • WG-36351: Fixed: The SpatialAudioTutorial Unity scene's AkRoomPortal component Baker window throws errors.
  • WG-38246: Fixed: Using a list of WwiseTypes in the Inspector Window now properly sets the correct entry in the list.
  • WG-38247: Fixed: Displaying a WwiseType in a non-Inspector window no longer throws an exception.
  • WG-38312: Fixed: The Save Decoded Bank feature no longer overwrites the original SoundBank.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.2.5.6619.1090

Release Notes - Wwise Unity Integration 2017.2.5.6619.1090

This release delivers the Wwise SDK update for Wwise 2017.2.5.

Compatibility:

  • Wwise SDK: 2017.2.5
  • Unity: Unity 5.6, 2017.1, 2017.2, 2017.3, 2017.4, and 2018.1 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    tvOS
    UWP (Universal Windows Platform)
    Windows
    Xbox One     		Unity 2018.1.0f2
    Magic Leap (Lumin OS) | Unity for Magic Leap Technical Preview (Unity 2018.1.0b12-MLTP5 with ML SDK 0.14.0)
    Switch | Unity for Nintendo Switch 4.1.0 (Unity 2017.4.0f1 with NintendoSDK 4.5.0)

Resolved Issues:

  • WG-37187: Fixed the reactivation of the sound engine when deleting the WwiseGlobal object in the editor.
  • WG-37767: Fixed the pause/resume state of the sound enginge via OnApllicationPause() and OnApplicationFocus() callbacks in built games.
  • WG-37836: Ensured Xbox One PDB filename matches DLL filename.
  • WG-38027: Fixed inspectors for Wwise types and components in Unity 2018.1.
  • WG-38191: Added experimental support for Magic Leap platform.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.2.4.6590.1064

Release Notes - Wwise Unity Integration 2017.2.4.6590.1064

This release delivers compatibility with Unity 2018.1.

Compatibility:

  • Wwise SDK: 2017.2.4
  • Unity: Unity 5.6, 2017.1, 2017.2, 2017.3, 2017.4, and 2018.1 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    tvOS
    UWP (Universal Windows Platform)
    Windows
    Xbox One     		Unity 2018.1.0f2
    Switch Unity for Nintendo Switch 4.1.0 (Unity 2017.4.0f1 with NintendoSDK 4.5.0)


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.2.4.6590.1054

Release Notes - Wwise Unity Integration 2017.2.4.6590.1054

This release delivers the Wwise SDK update for Wwise 2017.2.4.

Compatibility:

  • Wwise SDK: 2017.2.4
  • Unity: Unity 5.5, 5.6, 2017.1, 2017.2, 2017.3, and 2017.4 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    tvOS
    UWP (Universal Windows Platform)
    Windows
    Xbox One     		Unity 2017.4.0f1
    Switch Unity for Nintendo Switch 4.1.0 (Unity 2017.4.0f1 with NintendoSDK 4.5.0)


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.2.3.6575.1037

Release Notes - Wwise Unity Integration 2017.2.3.6575.1037

This release delivers the Wwise SDK update for Wwise 2017.2.3.

Compatibility:

  • Wwise SDK: 2017.2.3
  • Unity: Unity 5.5, 5.6, 2017.1, 2017.2, and 2017.3 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    tvOS
    Windows
    Xbox One     		Unity 2017.3.0f3
    UWP (Universal Windows Platform) | Unity 2017.3.0p3
    Switch | Unity for Nintendo Switch 3.1.2 (Unity 5.6.4 with NintendoSDK 3.5.2)

Resolved Issues:

  • WG-36615: Fixed game object names appearing as IDs when connected to Editor.
  • WG-36636: Fixed AkInitializer issues in Editor and game.
  • WG-36817: Fixed default listener game object registration issues when playing/stopping scene in Editor.
  • WG-36829: Fixed scene not marked as dirty by AkWwisePostImportCallbackSetup.cs.
  • WG-36867: Fixed the circular dependency between AkGameObj and AkAudioListener initialization.
  • WG-36952: Fixed MSSpatial plug-in activation.
  • WG-37021: Fixed loading SoundBanks from StreamingAssets folder in Editor.
  • WG-37061: Fixed failure when deploying to Switch, iOS and tvOS for the first time.
  • WG-37065: Fixed possible crash in Wwise's AK::SoundEngine::Term, which could result in Unity Editor crash when stopping game.
  • WG-37122: Fixed updating of aux sends when moving within a single AkEnvironmentPortal.
  • WG-37171: Fixed compilation error in AkAmbientInspector.cs in Unity 5.5.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.2.2.6553.1015

Release Notes - Wwise Unity Integration 2017.2.2.6553.1015

This release delivers the Wwise SDK update for Wwise 2017.2.2.

Compatibility:

  • Wwise SDK: 2017.2.2
  • Unity: Unity 5.5, 5.6, 2017.1, 2017.2, and 2017.3 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    tvOS
    Windows
    Xbox One     		Unity 2017.3.0f3
    UWP (Universal Windows Platform) | Unity 2017.3.0p3
    Switch | Unity for Nintendo Switch 3.1.2 (Unity 5.6.4 with NintendoSDK 3.5.2)

Resolved Issues:

  • WG-26533: Project is set to dirty only when necessary when saving expanded items in the Wwise picker.
  • WG-33976: Added menu item to enable Wwise communication on UWP. For more information see pg_WindowsInfo.
  • WG-36296: Using the AkSoundEngine.AddListener and AkSoundEngine.AddDefaultListener functionality.
  • WG-36434: Fully qualified the names of all types used within the integration.
  • WG-36499: Fixed Unity installation issues when AkSoundEngine.dll has not yet been loaded.
  • WG-36584: Added documentation for AkSoundEngine and fixed documentation for various classes within folders API/Handwritten and Components.
  • WG-36827: Fixed AkInitializer re-initialization and unloading of SoundBanks.
  • WG-36848: Fixed AkRoomPortals won't detect overlapping AkRoom components with trigger colliders.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.2.1.6524.980

Release Notes - Wwise Unity Integration 2017.2.1.6524.980

This release delivers the Wwise SDK update for Wwise 2017.2.1. The Wwise Unity integration documentation is also now available in Chinese.

Compatibility:

  • Wwise SDK: 2017.2.1
  • Unity: Unity 5.5, 5.6, 2017.1, 2017.2, and 2017.3 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    tvOS
    Windows
    Xbox One     		Unity 2017.3.0f3
    UWP (Universal Windows Platform) | Unity 2017.3.0p3
    Switch | Unity for Nintendo Switch 3.1.2 (Unity 5.6.4 with NintendoSDK 3.5.2)

Resolved Issues:

  • WG-34267: Placed the members of Wwise_IDs.cs within the AK namespace and prefixed class names with "Ak".
  • WG-35301: Changed Event selector to automatically display in inspector when AkEventSection is added to Timeline track.
  • WG-35609: Made AkRoomPortal inspector update the front and back rooms in real time.
  • WG-36086: Added public functions to AkRoomPortal to update the front and back rooms.
  • WG-36099: Fixed NullReferenceException when migrating from 2016.2.4.
  • WG-36125: Fixed compatibility with Unity 5.5.
  • WG-36144: Fully specified System.IO.Path in Wwise C# script to avoid potential conflicts.
  • WG-36219: Fixed drag and drop from the Wwise Picker under Unity 2017.3.
  • WG-36356: Exposed monitoring pool size and queue size in AkInitializer inspector.
  • WG-36413: Fixed crash when having more than one portal from one room to the other.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.2.0.6500.947

Release Notes - Wwise Unity Integration 2017.2.0.6500.947

This release delivers the Wwise SDK update for Wwise 2017.2.0, and compatibility with Unity 2017.3.

  • New Features 2017.2
  • Important Migration Notes 2017.2

Compatibility:

  • Wwise SDK: 2017.2.0
  • Unity: Unity 5.5, 5.6, 2017.1, 2017.2, and 2017.3 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Mac
    Windows
            Unity 2017.3.0f3
    Android
    iOS
    Linux
    PS4
    tvOS
    UWP (Universal Windows Platform)
    Xbox One     		Unity 2017.2.0f3
    Switch Unity for Nintendo Switch 3.1.2 (Unity 5.6.4 with NintendoSDK 3.5.2)

New Features:

  • Added several new features, as detailed in the New Features 2017.2 page.

Migration Notes:

  • Breaking changes have been made to avoid name clashes with other software packages. This is detailed in the Important Migration Notes 2017.2 page.

Resolved Issues:

  • WG-25994: Made the audio input source plug-in accessible via C# scripting. See Using the Audio Input Source Plug-in in Unity for more information.
  • WG-27337: Added ability to post MIDI events to the sound engine. See Sending MIDI to Wwise for more information.
  • WG-28541: Added namespaces for all enums not prefixed with Ak. Added Ak prefix to all generated classes.
  • WG-33501: Added automatic SoundBank management.
  • WG-34446: Reduced memory allocations in AkCallbackManager.


Wwise Unity Integration Documentation: New Features 2017.2

New Features 2017.2

There are a number of important new features in Wwise 2017.2 and its Unity Integration. These include the following:

  • Edit Mode Support
    • Loading and Unloading Banks in Edit Mode
  • Additions to WwiseGlobal Game Object
  • Wwise Audio Input Plug-in
  • MIDI Events
  • Automatic SoundBank Management

Edit Mode Support

The Wwise sound engine is now initialized while Unity is in Edit mode. This means Wwise Events can be triggered from the editor without entering Play mode. In order to demonstrate this, the inspectors for AkEvent (and AkAmbient) have been updated. There are now buttons in the inspector that can be used to play and stop the Events directly from the editor. The Play/Stop button plays and stops individual Events. When multiple objects that have AkEvents are selected, the Play Multiple and Stop Multiple buttons play or stop all currently selected Events. The Stop All button stops all currently playing Events.

Loading and Unloading Banks in Edit Mode

Note that in order for the edit mode functionality to work correctly, the corresponding AkBank components should have their Load On: property set to Awake and their Unload On: property set to Never.

Additions to WwiseGlobal Game Object

The WwiseGlobal game object now has an AkEditorEventPlayer component. This component is editor only, and is used to play WwiseEvents that are associated to AkEvent components in Edit mode. The WwiseGlobal object also now has Rigidbody, AkGameObj, and AkAudioListener components. These are used for interactions between AkEnvironment, AkGameObj, and AkRoom components in Edit mode. See Changes to your Unity Project.

Wwise Audio Input Plug-in

The Wwise Audio Input Source Plug-in is now accessible via C# scripting. See Using the Audio Input Source Plug-in in Unity for more information.

MIDI Events

MIDI events can now be posted to Wwise via C# scripting. See Sending MIDI to Wwise for more information.

Automatic SoundBank Management

Automatic SoundBank management has been added. See Deploying SoundBanks in single-platform projects and Deploying SoundBanks in multi-platform projects for more information.

Spatial Audio Integration

Added spatial audio API to the Unity integration. See Spatial Audio in Unity for a tutorial.


Wwise Unity Integration Documentation: Important Migration Notes 2017.2

Important Migration Notes 2017.2

The following enumerations have changed names:

Pre-2017.2: | New in 2017.2:
ErrorCode | AK.Monitor.ErrorCode
ErrorLevel | AK.Monitor.ErrorLevel
DynamicSequenceType | AK.SoundEngine.DynamicSequence.DynamicSequenceType
MultiPositionType | AK.SoundEngine.MultiPositionType
PreparationType | AK.SoundEngine.PreparationType
RTPCValue_type | AK.SoundEngine.Query.RTPCValue_type

The following classes have changed names:

Pre-2017.2: | New in 2017.2:
Iterator | AkIterator
Playlist | AkPlaylist
PlaylistItem | AkPlaylistItem


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.1.9.6501.947

Release Notes - Wwise Unity Integration 2017.1.9.6501.947

This release delivers the Wwise SDK update for Wwise 2017.1.9.

Compatibility:

  • Wwise SDK: 2017.1.9
  • Unity: Unity 5.5, 5.6, 2017.1, 2017.2, 2017.3, 2017.4, and 2018.1 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    tvOS
    UWP (Universal Windows Platform)
    Windows
    Xbox One     		Unity 2018.1.0f2
    Switch Unity for Nintendo Switch 4.1.0 (Unity 2017.4.0f1 with NintendoSDK 4.5.0)


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.1.8.6488.933

Release Notes - Wwise Unity Integration 2017.1.8.6488.933

This release delivers the Wwise SDK update for Wwise 2017.1.8.

Compatibility:

  • Wwise SDK: 2017.1.8
  • Unity: Unity 5.5, 5.6, 2017.1, 2017.2, 2017.3, 2017.4, and 2018.1 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    tvOS
    UWP (Universal Windows Platform)
    Windows
    Xbox One     		Unity 2018.1.0f2
    Switch Unity for Nintendo Switch 4.1.0 (Unity 2017.4.0f1 with NintendoSDK 4.5.0)

Resolved Issues:

  • WG-37836: Ensured Xbox One PDB filename matches DLL filename.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.1.7.6467.910

Release Notes - Wwise Unity Integration 2017.1.7.6467.910

This release delivers the Wwise SDK update for Wwise 2017.1.7.

Compatibility:

  • Wwise SDK: 2017.1.7
  • Unity: Unity 5.5, 5.6, 2017.1, 2017.2, 2017.3, and 2017.4 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    tvOS
    UWP (Universal Windows Platform)
    Windows
    Xbox One     		Unity 2017.4.0f1
    Switch Unity for Nintendo Switch 4.1.0 (Unity 2017.4.0f1 with NintendoSDK 4.5.0)


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.1.6.6446.890

Release Notes - Wwise Unity Integration 2017.1.6.6446.890

This release delivers the Wwise SDK update for Wwise 2017.1.6.

Compatibility:

  • Wwise SDK: 2017.1.6
  • Unity: Unity 5.5, 5.6, 2017.1, 2017.2, and 2017.3 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    tvOS
    Windows
    Xbox One     		Unity 2017.3.0f3
    UWP (Universal Windows Platform) | Unity 2017.3.0p3
    Switch | Unity for Nintendo Switch 3.1.2 (Unity 5.6.4 with NintendoSDK 3.5.2)


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.1.5.6429.870

Release Notes - Wwise Unity Integration 2017.1.5.6429.870

Compatibility:

  • Wwise SDK: 2017.1.5
  • Unity: Unity 5.5, 5.6, 2017.1 and 2017.2 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    tvOS
    Windows
    Xbox One     		Unity 2017.3.0f3
    UWP (Universal Windows Platform) | Unity 2017.3.0p3
    Switch | Unity for Nintendo Switch 3.1.2 (Unity 5.6.4 with NintendoSDK 3.5.2)

Resolved Issues:

  • WG-33289: Updated SWIG to 3.0.12.
  • WG-36079: Brought back AddSecondaryOutput.
  • WG-36219: Fixed drag and drop from the Wwise Picker under Unity 2017.3.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.1.4.6407.845

Release Notes - Wwise Unity Integration 2017.1.4.6407.845

Compatibility:

  • Wwise SDK: 2017.1.4
  • Unity: Unity 5.5, 5.6, 2017.1 and 2017.2 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    PS Vita
    tvOS
    UWP (Universal Windows Platform)
    Windows
    Xbox One     		Unity 2017.2.0f3
    Switch Unity for Nintendo Switch 3.1.2 (Unity 5.6.4 with NintendoSDK 3.5.2)

Resolved Issues:

  • WG-35168: Fixed crash when loading SoundBanks on Switch.
  • WG-35383: Fixed update of IDs associated with WwiseTypes when used as properties within custom inspectors.
  • WG-35384: AkAudioListener, AkInitializer, and AkTerminator now implement OnEnable() instead of Awake(), so they are disabled when unchecked in the Editor.
  • WG-35513: Added full custom positioning for AkGameObj.
  • WG-35958: Unity 2017.3 support added. Note the integration has not been thoroughly tested in Unity 2017.3, but it should be compatible.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.1.3.6377.812

Release Notes - Wwise Unity Integration 2017.1.3.6377.812

This release delivers the Wwise SDK update for Wwise 2017.1.3, and compatibility with Unity 2017.1.

Compatibility:

  • Wwise SDK: 2017.1.3
  • Unity: Unity 5.5, 5.6, 2017.1 and 2017.2 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    PS Vita
    tvOS
    UWP (Universal Windows Platform)
    Windows
    Xbox One     		Unity 2017.2.0f3
    Switch Unity for Switch 1.0.1 (Unity 5.5.0p1 with Nintendo SDK 1.4.0)

Resolved Issues:

  • WG-34855: Added AkSoundEngine.GetCurrentLanguage().
  • WG-35075: Fixed: Added support for Unity 2017.2 integration in the Audiokinetic Launcher.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.1.2.6361.791

Release Notes - Wwise Unity Integration 2017.1.2.6361.791

This release delivers the Wwise SDK update for Wwise 2017.1.2.

Compatibility:

  • Wwise SDK: 2017.1.2
  • Unity: Unity 2017.1 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    PS Vita
    tvOS
    UWP (Universal Windows Platform)
    Windows
    Xbox One     		Unity 2017.1.1f1
    Switch Unity for Switch 1.0.1 (Unity 5.5.0p1 with Nintendo SDK 1.4.0)


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.1.1.6340.770

Release Notes - Wwise Unity Integration 2017.1.1.6340.770

This release delivers the Wwise SDK update for Wwise 2017.1.1, and compatibility with Unity 2017.1.

Compatibility:

  • Wwise SDK: 2017.1.1
  • Unity: Unity 2017.1 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Mac
    Windows
            Unity 2017.1.0f3
    Android
    iOS
    Linux
    PS4
    PS Vita
    tvOS
    UWP (Universal Windows Platform)
    Xbox One     		Unity 5.6.1p1
    Switch Unity for Switch 1.0.1 (Unity 5.5.0p1 with Nintendo SDK 1.4.0)

Resolved Issues:

  • WG-33018: Fixed: No localization folder is created when using the Decode Banks feature.
  • WG-33818: Fixed bank decoding on iOS and Android.
  • WG-34090: Fixed TLS Allocator Error spamming for WSA Unity Plugin.
  • WG-34188: Fully qualified name of System.EventHandler to avoid name clashes.
  • WG-34205: Fully qualified name of UnityEditor.Menu and UnityEditor.MenuItem to avoid name clashes.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2017.1.0.6302.726

Release Notes - Wwise Unity Integration 2017.1.0.6302.726

This release delivers the Wwise SDK update for Wwise 2017.1.0, and compatibility with Unity 2017.1.

  • New Features 2017.1
  • Important Migration Notes 2017.1

Compatibility:

  • Wwise SDK: 2017.1.0
  • Unity: Unity 2017.1 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Mac
    Windows
            Unity 2017.1.0f3
    Android
    iOS
    Linux
    PS4
    PS Vita
    tvOS
    UWP (Universal Windows Platform)
    Xbox One     		Unity 5.6.1p1
    Switch Unity for Switch 1.0.1 (Unity 5.5.0p1 with Nintendo SDK 1.4.0)

New Features:

  • Added several new features, as detailed in the New Features 2017.1 page.

Migration Notes:

  • The Wii U platform is no longer supported.
  • The functionality encompassing the auto-registration of GameObject's has been moved to the Unity Integration Extensions. See more details about this change in the Wwise Installation and Migration Guide.
  • There are a number of breaking changes made to the AkCallbackManager, which are detailed in the Important Migration Notes 2017.1 page.

Resolved Issues:

  • WG-27479: Made callback buffer size configurable via AkInitializer.
  • WG-30791: Added WwiseTypes. See Wwise Types for more information.
  • WG-31155: Fixed AkMemSettings and AkChannelConfig so that their methods do not check for SoundEngine initialization.
  • WG-31735: Added hooks enabling users to easily extend or remove auto-registration of GameObjects. See Unity Integration Extensions for more information.
  • WG-32348: Fixed XML parsing of SoundBanksInfo file.
  • WG-32657: Reduced memory allocations when using callback classes, and removed foreach statements.
  • WG-33303: Added support for AK_MusicPlaylistSelect.
  • WG-34003: Installation procedure will not deactivate other native plugins in the project anymore.


Wwise Unity Integration Documentation: New Features 2017.1

New Features 2017.1

There are a number of important new features in Wwise 2017.1 and its Unity Integration. These include the following:

  • Required Components
  • WwiseTypes
  • Unity Integration Extensions
  • 3D Busses

Required Components

[RequireComponent(typeof(AkGameObj))] has been added to AkEvent.

AkEnvironment and AkEnvironmentPortal no longer specify Rigidbody as a required component, and the members of Rigidbody are no longer modified. If an AkEnvironment or an AkEnvironmentPortal does not have a Rigidbody attached to its game object or an AkGameObj is set to "Environment aware" and does not have a Rigidbody attached to its game object, the following warning will be displayed in the Editor: AkGameObj-AkEnvironment interactions require a Rigidbody component on the object or the environment.

All instances of the above warning can be removed by unchecking the Show Warning for Missing RigidBody option within the Wwise Settings window.

WwiseTypes

New "WwiseTypes" have been added that provide users with finer control over features represented by Wwise objects such as Events, game parameters, Switches, and States. These new classes each come with their own property drawers that bring up a Wwise picker when clicked, allowing for rapid prototyping of game audio systems.

Below is a brief example use case:

public class Footsteps : MonoBehaviour
{
[Header("Wwise Types")]
public AK.Wwise.Event FootStepEvent = null;
public AK.Wwise.RTPC SpeedRTPC = null;
public AK.Wwise.Switch UnderFootMaterialSwitch = null;
public AK.Wwise.Bank FootStepBank = null;
void InitializeSound() { FootStepBank.Load(); }
void FinalizeSound() { FootStepBank.Unload(); }
void PlayFootStepSound(float speed)
{
SpeedRTPC.SetValue(gameObject, speed);
UnderFootMaterialSwitch.SetValue(gameObject);
FootStepEvent.Post(gameObject);
}
}

Unity Integration Extensions

AkSoundEngine is now a partial class. Hooks have been added to allow users to extend the auto-registration of game objects or remove this functionality all together. The extensions are recommended, however, you can choose to exclude them when you integrate Wwise into your Unity project.

3D Busses

To complement the addition of the 3D busses feature in Wwise, the following modifications have been made. There is no longer a restriction on the number of listeners, and the concept of default listeners has been added to represent the listeners that all game objects are initially set up to be listened by. AkGameObj has been modified to hold a list of AkAudioListeners. By default, an AkGameObj will emit its sound to the default listeners, and an AkAudioListener is a default listener.

AK.Wwise.RTPC
This type can be used to set game parameter values to the sound engine.
Definition: AkWwiseRtpc.cs:25
AK
Definition: AkWwiseAcousticTexture.cs:21
AK.Wwise.Bank.Load
void Load(bool decodeBank=false, bool saveDecodedBank=false)
Load the SoundBank For more details about bank decoding, see 'Saving a Decoded SoundBank' in Lesson 3...
Definition: AkWwiseBank.cs:74
AK.Wwise.Event
This type can be used to post Events to the sound engine.
Definition: AkWwiseEvent.cs:29
AK.Wwise
Definition: AkWwiseAcousticTexture.cs:21
AK.Wwise.Switch
This type can be used to set Switch values on gameobjects.
Definition: AkWwiseSwitch.cs:25
AK.Wwise.Bank
This type can be used to load/unload SoundBanks.
Definition: AkWwiseBank.cs:29


Wwise Unity Integration Documentation: Important Migration Notes 2017.1

Important Migration Notes 2017.1

The following breaking changes have been made to the AkCallbackManager.

  • AkCallbackManager.AudioInterruptionCallback() has a new signature:
    public delegate AKRESULT AudioInterruptionCallback(bool in_bEnterInterruption, object in_Cookie);
  • AkCallbackManager.BGMCallback() has a new signature:
    public delegate AKRESULT BGMCallback(bool in_bOtherAudioPlaying, object in_Cookie);
  • AkCallbackManager.EventCallback() has a new signature:
    public delegate void EventCallback(object in_cookie, AkCallbackType in_type, AkCallbackInfo in_info);
  • The callback classes are no longer nested within AkCallbackManager and have a hierarchy with many inheriting from AkCallbackInfo. Wherever possible, the associations and members of these classes mimic the syntax of their C++ counterparts.
  • The gameObjID member of the callback classes is now of type ulong instead of IntPtr.
  • The class AkCallbackManager.AkMidiEventCallbackInfo is now AkMIDIEventCallbackInfo. (Please note the capitalization of "MIDI".)
  • The class AkCallbackManager.AkMusicSyncCallbackInfoBase has been removed. Use AkMusicSyncCallbackInfo instead.
  • All of the members of AkCallbackManager.AkMusicSyncCallbackInfo.segmentInfo have been exposed as members of AkMusicSyncCallbackInfo.segmentInfo_*.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2016.2.6.6153.595

Release Notes - Wwise Unity Integration 2016.2.6.6153.595

This release delivers the Wwise SDK update for Wwise 2016.2.6. Compatibility:

  • Wwise SDK: 2016.2.6
  • Unity: Unity 2017.2 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    PS Vita
    tvOS
    Windows
    Windows Store (Universal Windows Platform)
    Xbox One     		Unity 2017.2.0f3
    Switch | Unity for Switch 3.1.2 (Unity 5.6.4p1 with NintendoSDK 3.5.2)
    Wii U | Unity 5.4.2f2
    Resolved Issues:
  • WG-35075: Fixed: Added support for Unity 2017.2 integration in the Audiokinetic Launcher.
  • WG-35168: Fixed crash when loading SoundBanks on Switch.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2016.2.5.6121.560

Release Notes - Wwise Unity Integration 2016.2.5.6121.560

This release delivers the Wwise SDK update for Wwise 2016.2.5. Compatibility:

  • Wwise SDK: 2016.2.5
  • Unity: Unity 2017.1 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    PS Vita
    tvOS
    Windows
    Windows Store (Universal Windows Platform)
    Xbox One     		Unity 2017.1.0f3
    Switch | Unity for Switch 1.0.1 (Unity 5.5.0p1 with NintendoSDK 1.4.0)
    Wii U | Unity 5.4.2f2
    Resolved Issues:
  • WG-33687: Added headers for missing internal plug-ins on Nintendo Switch.
  • WG-34003: Installation procedure will not deactivate other native plug-ins in the project anymore.
  • WG-34090: Fixed TLS Allocator Error spamming for WSA Unity Plugin.
  • WG-34216: Fixed compilation issues regarding updating to Unity 2017.1.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2016.2.4.6098.531

Release Notes - Wwise Unity Integration 2016.2.4.6098.531

This release delivers the Wwise SDK update for Wwise 2016.2.4. Compatibility:

  • Wwise SDK: 2016.2.4
  • Unity: Unity 5.6 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    PS Vita
    tvOS
    Windows
    Windows Store (Universal Windows Platform)
    Xbox One     		Unity 5.6.1p1
    Switch | Unity for Switch 1.0.1 (Unity 5.5.0p1 with NintendoSDK 1.4.0)
    Wii U | Unity 5.4.2f2
    Resolved Issues:
  • WG-33395: Added namespace around potentially conflicting class names


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2016.2.3.6077.504

Release Notes - Wwise Unity Integration 2016.2.3.6077.504

This release delivers the Wwise SDK update for Wwise 2016.2.3.

Compatibility:

  • Wwise SDK: 2016.2.3
  • Unity: Unity 5.6 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    PS Vita
    tvOS
    Windows
    Windows Store (Universal Windows Platform)
    Xbox One     		Unity 5.6.0f3
    Switch | Unity for Switch 0.6.1
    Wii U | Unity 5.4.2f2

Resolved Issues:

  • WG-32536: Added Nintendo Switch support.
  • WG-32623: Fixed Android music custom cue crash.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2016.2.2.6022.430

Release Notes - Wwise Unity Integration 2016.2.2.6022.430

This release delivers the Wwise SDK update for Wwise 2016.2.2.

Compatibility:

  • Wwise SDK: 2016.2.2
  • Unity: Unity 5.5 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    PS Vita
    tvOS
    Windows
    Windows Store (Universal Windows Platform)
    Xbox One     		Unity 5.5.0p4
    Wii U Unity 5.4.2f2

Resolved Issues:

  • WG-31862: Removed enum values that are not associated with event callbacks from event callback list.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2016.2.1.5995.409

Release Notes - Wwise Unity Integration 2016.2.1.5995.409

This release delivers the Wwise SDK update for Wwise 2016.2.1.

Compatibility:

  • Wwise SDK: 2016.2.1
  • Unity: Unity 5.5 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    PS Vita
    tvOS
    Windows
    Windows Store (Universal Windows Platform)
    Xbox One     		Unity 5.5.0f3
    Wii U Unity 5.4.2f2

Resolved Issues:

  • WG-32006: Fixed "Unknown Game Object ID" error when setting a GameObject's position.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2016.2.1

Release Notes - Wwise Unity Integration 2016.2.1

This release delivers the Wwise SDK update for Wwise 2016.2.1.

Compatibility:

  • Wwise SDK: 2016.2.1
  • Unity: Unity 5.5 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    PS Vita
    tvOS
    Windows
    Windows Store (Universal Windows Platform)
    Xbox One     		Unity 5.5.0f3
    Wii U Unity 5.4.2f2

Resolved Issues:

  • WG-27085: Reduced the allocations due to AuxSends
  • WG-31127: Fixed the returned user cue name for AK_MusicSyncUserCue.
  • WG-31650: Fixed NullReferenceException in AkGameObj when the SoundEngine was not initialized.
  • WG-31651: Avoid the automatic creation of AkGameObj when calling SetObjectPosition.
  • WG-31862: Removed enum values that are not associated with event callbacks from event callback list.

Known Issues

  • Unity case #861189: Installation from the Launcher fails if the Unity Windows Store playback engine is installed.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2016.2.0

Release Notes - Wwise Unity Integration 2016.2.0

This release delivers the Wwise SDK update for Wwise 2016.2.0.

Compatibility:

  • Wwise SDK: 2016.2.0
  • Unity: Unity 5.4 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    PS Vita
    tvOS
    Windows
    Windows Store (Universal Windows Platform)
    Xbox One     		Unity 5.4.1p2
    Wii U Unity 5.2.4f1

Migration Notes

  • Windows Phone 8.1, and Windows Store 8.0 and 8.1 platforms have been deprecated. The only supported Windows Store platform is now Universal Windows Platform (UWP).
  • The Xbox 360 platform is no longer supported.
  • The PS3 platform is no longer supported.

Resolved Issues:

  • WG-30571: Rebuilding the Library folder will no longer trigger an error message saying the Wwise Unity integration is not installed for a platform.
  • WG-30960: Applying a position offset to an AkGameObj is now reflected in Unity's dirty system.
  • WG-31507: Add MediaID and bStreaming to duration callback.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2016.1.6

Release Notes - Wwise Unity Integration 2016.1.6

This release delivers the Wwise SDK update for Wwise 2016.1.6. Compatibility:

  • Wwise SDK: 2016.1.6
  • Unity: Unity 5.5 (Personal or Pro).
    Note: Important note: We no longer officially support the Integration for Unity 4. While it may work, we will not test this or future versions of the Wwise Integration for Unity on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    PS Vita
    tvOS
    Windows
    Windows Store
    Xbox One     		Unity 5.5.0p4
    PS3 | Unity 5.4.0p2
    Wii U | Unity 5.2.4f1
    Xbox 360 | Unity 5.0.1f1

Resolved Issues:

  • WG-32006: Fixed "Unknown Game Object ID" error when setting a GameObject's position.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2016.1.5

Release Notes - Wwise Unity Integration 2016.1.5

This release delivers the Wwise SDK update for Wwise 2016.1.5. Compatibility:

  • Wwise SDK: 2016.1.5
  • Unity: Unity 5.5 (Personal or Pro).
    Note: Important note: We no longer officially support the Integration for Unity 4. While it may work, we will not test this or future versions of the Wwise Integration for Unity on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS4
    PS Vita
    tvOS
    Windows
    Windows Store
    Xbox One     		Unity 5.5.0f3
    PS3 | Unity 5.4.0p2
    Wii U | Unity 5.2.4f1
    Xbox 360 | Unity 5.0.1f1


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2016.1.4

Release Notes - Wwise Unity Integration 2016.1.4

This release delivers the Wwise SDK update for Wwise 2016.1.4. Compatibility:

  • Wwise SDK: 2016.1.4
  • Unity: Unity 5.4 (Personal or Pro).
    Note: Important note: We no longer officially support the Integration for Unity 4. While it may work, we will not test this or future versions of the Wwise Integration for Unity on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS3
    PS4
    PS Vita
    tvOS
    Windows
    Windows Store
    Xbox One     		Unity 5.4.0p2
    Wii U | Unity 5.2.4f1
    Xbox 360 | Unity 5.0.1f1

Resolved Issues:

  • WG-31507: Added MediaID and bStreaming to duration callback.
  • WG-31650: Fixed NullReferenceException in AkGameObj when the sound engine was not initialized.
  • WG-31651: Bypassed the automatic creation of AkGameObj when calling SetObjectPosition().


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2016.1.3

Release Notes - Wwise Unity Integration 2016.1.3

This release delivers the Wwise SDK update for Wwise 2016.1.3. Compatibility:

  • Wwise SDK: 2016.1.3
  • Unity: Unity 5.4 (Personal or Pro).
    Note: Important note: We no longer officially support the Integration for Unity 4. While it may work, we will not test this or future versions of the Wwise Integration for Unity on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS3
    PS4
    PS Vita
    tvOS
    Windows
    Windows Store
    Xbox One     		Unity 5.4.0p2
    Wii U | Unity 5.2.4f1
    Xbox 360 | Unity 5.0.1f1


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2016.1.2

Release Notes - Wwise Unity Integration 2016.1.2

This release delivers the Wwise SDK update for Wwise 2016.1.2. The Wwise Unity integration documentation is also now available in Japanese.

Compatibility:

  • Wwise SDK: 2016.1.2
  • Unity: Unity 5.4 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS3
    PS4
    PS Vita
    tvOS
    Windows
    Windows Store
    Xbox One     		Unity 5.4.0p2
    Wii U | Unity 5.2.4f1
    Xbox 360 | Unity 5.0.1f1

Resolved Issues:

  • WG-30567 Fixed: Crash when using WAV markers having an empty label.

Migration Notes:

  • SWIG sources are not distributed with the source ZIP files anymore. The provided ZIP sources contain the necessary files and pre-generated SWIG interfaces required to build the integration package without the need for SWIG.
  • Projects still using Wwise 2014.1.4 and less are not directly upgradeable to 2016.1. Please first update your project to 2015.1.6, and then to 2016.1.
  • If you wish to update your Unity project to Unity 5.4, please perform the Wwise migration to 2016.1.2 first. Some changes in Unity 5.4 broke the older integrations, and updating to the Wwise 2016.1.2 integration first resolves these issues.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2016.1.1

Release Notes - Wwise Unity Integration 2016.1.1

This release delivers the Wwise SDK update for Wwise 2016.1.1.

Compatibility:

  • Wwise SDK: 2016.1.1
  • Unity: Unity 5.3 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS3
    PS4
    PS Vita
    tvOS
    Windows
    Windows Store
    Xbox One     		Unity 5.3.5p6
    Wii U | Unity 5.2.4f1
    Xbox 360 | Unity 5.0.1f1

Resolved Issues:

  • WG-30021: Use the last modified date of a decoded SoundBank to decide if it needs to be re-decoded.
  • WG-30228: It is now possible to rebuild the Linux integration from source.
  • WG-30231: It is now possible to rebuild the tvOS integration from source.
  • WG-30259: Fix AkGameObj registration behavior when calling GC.Collect.

Known issues:

  • WG-30128: It is not possible to save decoded SoundBanks to disk on the Vita platform.
  • WG-30139: It is not possible to save decoded SoundBanks to disk on the Wii U platform.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2016.1

Release Notes - Wwise Unity Integration 2016.1

This release delivers the Wwise SDK update for Wwise 2016.1.

Compatibility:

  • Wwise SDK: 2016.1
  • Unity: Unity 5.3 (Personal or Pro).
    Note: Important note: This integration has not been tested on Unity 4.
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS3
    PS4
    PS Vita
    Windows
    Windows Store
    Xbox One     		Unity 5.3.4p3
    Wii U | Unity 5.2.4f1
    Xbox 360 | Unity 5.0.1f1

Resolved Issues:

  • WG-25675 Fixed: Added a "Generate SoundBanks" button in the Wwise Picker to generate the SoundBanks for all platforms of the Wwise project.
  • WG-27583 Fixed: Now automatically managing the SoundBank folders in the Unity assets, pointing to the right SoundBank for the current Unity target platform.
  • WG-28175 Fixed: WwiseGlobal is not always automatically created when creating a new scene.
  • WG-26011 Fixed: Enabling back Ak Audio Listener after creating a new Scene doesn't properly destroy Default Unity Audio Listener.

Migration Notes:

  • SWIG sources are not distributed with the source ZIP files anymore. The provided ZIP sources contain the necessary files and pre-generated SWIG interfaces required to build the integration package without the need for SWIG.
  • Projects still using Wwise 2014.1.4 and less are not directly upgradable to 2016.1. Please first update your project to 2015.1.6, and then to 2016.1.

Known issues:

  • WG-30021: The DecodeBanks feature is deactivated when previewing a scene in the Editor.
  • WG-30021: The DecodeBanks feature does not automatically delete the decoded SoundBanks. If SoundBanks are updated, the DecodedBanks folder should be removed from the target devices.
  • WG-30128: It is not possible to save decoded SoundBanks to disk on the Vita platform
  • WG-30139: It is not possible to save decoded SoundBanks to disk on the WiiU platform


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2015.1.9

Release Notes - Wwise Unity Integration 2015.1.9

This release delivers the Wwise SDK update for Wwise 2015.1.9. Compatibility:

  • Wwise SDK: 2015.1.9
  • Unity: Unity 4.6 Pro or Unity 5.3 (Personal or Pro)
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS3
    PS4
    PS Vita
    Windows
    Windows Store
    Xbox One     		Unity 5.3.5p6
    Wii U | Unity 5.2.4f1
    Xbox 360 | Unity 5.2.1f1


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2015.1.8

Release Notes - Wwise Unity Integration 2015.1.8

This release delivers the Wwise SDK update for Wwise 2015.1.8. Compatibility:

  • Wwise SDK: 2015.1.8
  • Unity: Unity 4.6 Pro or Unity 5.3 (Personal or Pro)
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS3
    PS4
    PS Vita
    Windows
    Windows Store
    Xbox One     		Unity 5.3.5p6
    Wii U | Unity 5.2.4f1
    Xbox 360 | Unity 5.2.1f1

Resolved Issues:

  • WG-30259 Fixed: Fix AkGameObj registration behaviour when calling GC.Collect
  • WG-30422 Fixed: Audio is no longer lost when connecting an iOS app to an Apple TV.
  • WG-30567 Fixed: Fix a crash when using WAV markers having an empty label


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2015.1.7

Release Notes - Wwise Unity Integration 2015.1.7

This release delivers the Wwise SDK update for Wwise 2015.1.7. Compatibility:

  • Wwise SDK: 2015.1.7
  • Unity: Unity 4.6 Pro or Unity 5.3 (Personal or Pro)
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS3
    PS4
    PS Vita
    Windows
    Windows Store
    Xbox One     		Unity 5.3.4p5
    Wii U | Unity 5.2.4f1
    Xbox 360 | Unity 5.2.1f1

Resolved Issues:

  • WG-29521 Fixed: (iOS) Deadlock when coming back from a missed FaceTime call.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2015.1.6

Release Notes - Wwise Unity Integration 2015.1.6

This release delivers the Wwise SDK update for Wwise 2015.1.6. Compatibility:

  • Wwise SDK: 2015.1.6
  • Unity: Unity 4.6 Pro or Unity 5.3 (Personal or Pro)
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Mac
    PS3
    PS4
    PS Vita
    Windows
    Windows Store     		Unity 5.3.3p1
    Linux
    Xbox One     		Unity 5.2.2p1
    Wii U | Unity 5.2.4f1
    Xbox 360 | Unity 5.2.1f1

New Features

  • WG-23513 (Android) Added a low-level I/O that can read OBB files used by Unity.

Resolved Issues:

  • WG-29405 Fixed: Ensured AkEnvironment Effect does not persist outside spawning zone environment.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2015.1.5

Release Notes - Wwise Unity Integration 2015.1.5

This release delivers the Wwise SDK update for Wwise 2015.1.5. Compatibility:

  • Wwise SDK: 2015.1.5
  • Unity: Unity 4.6 Pro or Unity 5.3 (Personal or Pro)
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Mac
    PS3
    PS4
    PS Vita
    Windows
    Windows Store     		Unity 5.3.1p3
    Linux
    Xbox One     		Unity 5.2.2p1
    Wii U | Unity 5.2.3p3 with Wii U add-on 3.0.1
    Xbox 360 | Unity 5.2.1f1

New Features

  • The Wii U integration is now compatible with Unity 5.2.3p3.

Resolved Issues:

  • WG-27300 Fixed: Exposed the Prepare Pool to allow use of PrepareEvent() and PrepareBank().
  • WG-28716 Fixed: Made the source package compatible with Python 3.4+.
  • WG-28917 Fixed: Disabled automatic removal of an AkAudioListener manually added to a GameObject other than the Main Camera.
  • WG-28957 Fixed: Removed cause of NullReferenceExceptions when getting the Wwise project data.
  • WG-28975 Fixed: Resolved a race condition between LoadBank() and UnLoadBank().

Known Issues:

  • It is not possible to connect the Profiler to a game on the Windows Store Apps platform.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2015.1.4

Release Notes - Wwise Unity Integration 2015.1.4

This release delivers the Wwise SDK update for Wwise 2015.1.4. Compatibility:

  • Wwise SDK: 2015.1.4
  • Unity: Unity 4.6 Pro or Unity 5.2 (Personal or Pro)
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS3
    PS4
    PS Vita
    Windows
    Windows Store
    Xbox One     		Unity 5.2.2p1
    Wii U | Unity 4.3.7f1 with Wii U add-on 2.2.5
    Xbox 360 | Unity 5.0.1f1

New Features

  • Added support for Windows 10 Universal Apps
  • Added support for Windows Store Apps SDK 8.1

Migration Notes

  • Removed support for Windows Phone 8.0
  • Removed support for Windows Store Apps SDK 8.0

Resolved Issues:

  • WG-28412 Fixed: AkGameObj position offset can now be saved in a prefab.
  • WG-28723 Fixed: It is now possible to build the game as a PS4 package.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2015.1.3

Release Notes - Wwise Unity Integration 2015.1.3

This release delivers the Wwise SDK update for Wwise 2015.1.3, and the Universal Windows Platform.

Compatibility:

  • Wwise SDK: 2015.1.3
  • Unity: Unity 4.6 Pro or Unity 5.2 (Personal or Pro)
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    PS3
    PS4
    PS Vita
    Windows
    Windows Store Apps
    Xbox One     		Unity 5.2.2p1
    Wii U | Unity 4.3.7f1 with Wii U add-on 2.2.5
    Xbox 360 | Unity 5.0.1f1

New Features:

  • Added support for the Universal Windows Platform under the Windows Store Apps package.
  • Added support for Windows Store Apps SDK 8.1.
  • Removed support for Windows Phone 8.0.
  • Removed support for Windows Store Apps SDK 8.0.

Resolved Issues:

  • WG-25945 Fixed: Wwise errors were always redirected to the Unity console. Added a menu item in the WwiseGlobal settings to enable/disable the Wwise engine output in the Unity console.
  • WG-26011 Fixed: Enabling back Ak Audio Listener after creating a new Scene didn't properly destroy Default Unity Audio Listener.
  • WG-28108 Fixed: Sound kept playing when pausing editor. Sound is now stopped when pausing in the editor and starts playing again when unpausing. Sound keeps playing (as before) when switching windows.
  • WG-28175 Fixed: WwiseGlobal was not always automatically created when creating a new scene.
  • WG-28479 Fixed: Setup attempted to add unchecked option. Setup now succeeds when installing the integration in a project without a Main Camera.
  • WG-28526 Fixed: Potential Unity Editor crash. Made sure the SoundEngine is initialized before registering and unregistering GameObjects.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2015.1.2

Release Notes - Wwise Unity Integration 2015.1.2

This release delivers the Wwise SDK update for Wwise 2015.1.2.

Compatibility:

  • Wwise SDK: 2015.1.2
  • Unity: Unity 4.6.5 Pro or Unity 5.1.2p2 (Personal or Pro)
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    Metro
    PS3
    PS4
    PS Vita
    Windows
    Windows Phone
    Xbox One     		Unity 5.2.0f3
    Wii U | Unity 4.3.7f1 with Wii U add-on 2.2.5
    Xbox 360 | Unity 5.0.1f1

Resolved Issues:

  • WG-27029 Fixed: Fix rare occurence where a deactivated Unity GameObject might result in the associated AkGameObj being unregistered.
  • WG-28200 Fixed: Default active listener set to Everything affected 3D positioning of GameObjects close to (0, 0, 0). Resolved by setting default listener mask to L0.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2015.1.1

Release Notes - Wwise Unity Integration 2015.1.1

This release delivers the Wwise SDK update for Wwise 2015.1.1.

Compatibility:

  • Wwise SDK: 2015.1.1
  • Unity: Unity 4.6.5 Pro or Unity 5.1.2p2 (Personal or Pro)
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    Metro
    PS3
    PS4
    PS Vita
    Windows
    Windows Phone
    Xbox One     		Unity 5.1.2p2
    Wii U | Unity 4.3.7f1 with Wii U add-on 2.2.5
    Xbox 360 | Unity 5.0.1f1

Resolved Issues:

  • WG-27977 Fixed: Unity crash when terminating, if the script order is wrong.
  • WG-28030 Fixed: Wii U/Unity: Release RPL is not tagged NDEBUG as required by the TRC.
  • WG-28042 Fixed: Unity: Not possible to run game if the Wwise project is not accessible.
  • WG-28044 Fixed: Unity: Performance issue, Wwise project is re-parsed endlessly.
  • WG-28046 Fixed: Remove mandatory dependency on an AkInitializer instance.
  • WG-28048 Fixed: Properly display the GameObject names in the Wwise profiler.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2015.1

Release Notes - Wwise Unity Integration 2015.1

This release delivers the Wwise SDK update for Wwise 2015.1.

Compatibility:

  • Wwise SDK: 2015.1

Known Issues:

  • WG-25669: Auto Populate of the Wwise Picker doesn't work in the Mac Editor.

Resolved Issues:

  • WG-27079 Fixed: Properly set the encoding of the WwiseSettings.xml files for non-English locales.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2014.1.6

Release Notes - Wwise Unity Integration 2014.1.6

This release delivers the Wwise SDK update for Wwise 2014.1.6. Compatibility:

  • Wwise SDK: 2014.1.6
  • Unity: Unity 4.6.5 Pro, or Unity 5.0.2 (Personal or Pro)
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    Metro
    PS3
    PS4
    PSVita
    Windows
    Windows Phone
    Xbox One     		Unity 5.1.2p2
    WiiU | Unity 4.3.7f1 with WiiU add-on 2.2.5
    Xbox 360 | Unity 5.0.1f1

Resolved Issues:

  • WG-27585 Fixed: Properly display the Wwise project hierarchy in the Wwise Picker window.
  • WG-27624 Fixed: (PS3) SetListenerPostion doesn't work on PS3
  • WG-27749 Fixed: Calling Wwise API while objects are destroying prints lots of errors.
  • WG-27977 Fixed: Unity crash when terminating, if the script order is wrong.
  • WG-28030 Fixed: WiiU/Unity: Release RPL is not tagged NDEBUG as required by the TRC

Known Unity Issues:

  • Xbox One: SoundEngine initialization fails even if Unity audio is disabled. See Troubleshooting for a workaround.
  • Windows Store Apps in Unity 4: The built game throws a DllNotFoundException. See Troubleshooting for a workaround.

Resolved Issues:

  • WG-27585 Fixed: Properly display the Wwise project hierarchy in the Wwise Picker window.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2014.1.5

Release Notes - Wwise Unity Integration 2014.1.5

This release delivers the Wwise SDK update for Wwise 2014.1.5. Compatibility:

  • Wwise SDK: 2014.1.5
  • Unity: Unity 4.6.5 Pro, or Unity 5.0.2 (Personal or Pro)
    Platforms: Wwise Unity Integration tested on:
    Android
    iOS
    Linux
    Mac
    Metro
    PS3
    PS4
    PSVita
    Windows
    Windows Phone     		Unity 5.0.2p3
    Xbox 360 | Unity 5.0.1f1
    Xbox One | Unity 5.0.2p4

Known Issues:

  • WG-25669 Fixed: Auto Populate of the Wwise Picker now works in the Mac Editor.

Known Unity Issues:

  • Xbox One: SoundEngine initialization fails even if Unity audio is disabled. See Troubleshooting for a workaround.
  • Windows Store Apps in Unity 4: The built game throws a DllNotFoundException. See Troubleshooting for a workaround.

New Features:

  • Added support for Android x86.
  • Removed the need for Scripting Define Symbols for the Windows Store Apps platform.

Resolved Issues:

  • WG-25733 Fixed: It is now possible to build iOS/Mac games using the Windows editor and vice-versa.
  • WG-26655 iOS: Fixed: Audio now restores after phone Interruption on iOS 8 under AmbientSound category.
  • WG-26875 Fixed: The AkMemBankLoader component now allocates aligned memory, preventing failures on certain platforms.
  • WG-27108 Fixed: Now there are no Unity error messages when posting events during the Destroy phase.
  • WG-27461 Fixed: AkGameObj set on the same object as AkEnvironment now gets the environment.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2014.1.4

Release Notes - Wwise Unity Integration 2014.1.4

This release delivers the Wwise SDK update for Wwise 2014.1.4, and compatibility with Unity 5.

Compatibility:

  • Wwise SDK: 2014.1.4
  • Unity: Unity 4 Pro, or Unity 5 (Personal or Pro)

Resolved Issues:

  • WG-26780 Fixed: Not having the Wwise project present on the machine will no longer generate errors in the Unity console window.
  • WG-26837 Fixed: Fix the SoundBank reference counting in the AkBankManager to prevent premature unloading.

Known Issues:

  • WG-25669: Auto Populate of the Wwise Picker doesn't work in the Mac Editor.
  • WG-25733: Cannot build iOS/Mac games using the Windows editor and vice-versa.

New Features:

  • Added support for the Windows Phone 8.1 platform (accessible via the Metro platform in the build settings).
  • Now fully compatible with Unity 5. The Wwise Unity Integration now uses the new Plugin Importer API to activate its plug-ins. The <UNITY_PROJECT_ROOT>/Assets/Plugins folder will no longer be used by the integration.

Migration notes: The recommended procedure to upgrade your Unity 4 project to Unity 5 is:

  1. Make sure you have a backup of your project
  2. Open your Unity 4 project in Unity 5. This will trigger the Unity upgrade assistant.
  3. Once the upgrade to Unity 5 is done, import the 2014.1.4 Unity integration
  4. A migration window will appear, click "Start"
  5. Once the migration window closes, the migration is done
  6. You are now ready to use the Wwise Unity Integration in Unity 5!


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2014.1.3

Release Notes - Wwise Unity Integration 2014.1.3

This release delivers the Wwise SDK update for Wwise 2014.1.3.

Compatibility:

  • Wwise SDK: 2014.1.3

Known Issues:

  • WG-25669: Auto Populate of the Wwise Picker doesn't work in the Mac Editor.
  • WG-25733: Cannot build iOS/Mac games using the Windows editor and vice-versa.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2014.1.2

Release Notes - Wwise Unity Integration 2014.1.2

This release delivers the Wwise SDK update for Wwise 2014.1.2 and bug fixes.

Compatibility:

  • Wwise SDK: 2014.1.2
  • This version is unavailable for the Xbox One platform due to XDK incompatibilities between the Unity Editor (October XDK) and the Wwise SDK (November XDK).

Resolved Issues:

  • WG-26305 Fixed: Using null GameObject reports an unregistered GameObject on 64-bit builds.
  • WG-26337 Fixed: Added compatibility to the Mac 64-bit platform.
  • WG-26385 Fixed: Wwise takes CPU in Unity when in background on Android.
  • WG-26395 Fixed: Fixed build failure when building Windows Phone 8 project from the command line using MSBUILD.
  • WG-26430 Fixed: Fixed crash when calling SetBasePath() on iOS.

Known Issues:

  • WG-25669: Auto Populate of the Wwise Picker doesn't work in the Mac Editor.
  • WG-25733: Cannot build iOS/Mac games using the Windows editor and vice-versa.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2014.1.1

Release Notes - Wwise Unity Integration 2014.1.1

This release delivers the Wwise SDK update for Wwise 2014.1.1, final documentation, and bug fixes.

Compatibility:

  • Wwise SDK: 2014.1.1
  • Unity: 4.x (5.0 not supported yet)

New Features:

  • Added the support for the Wii U platform.
  • Added Plug-in Registration documentation.
  • Exposed the Wwise Sound Engine version in the Unity "Wwise Settings" dialog.
  • Updated documentation with more accurate information about the GeneratedSoundBanks and Populate button.

Resolved Issues:

  • WG-26201: Explicitly call the scope of C# System calls


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2014.1

Release Notes - Wwise Unity Integration 2014.1

This release delivers the Wwise SDK update for Wwise 2014.1, bug fixes, a new Demonstration scene, and a migration process for projects created with the Wwise Unity Integration 2013.2.

Notable features:

  • Stability fixes
  • Added a demonstration scene
  • Added a migration process for projects created with the 2013.2 Wwise Unity Integration

Compatibility:

  • Wwise SDK: 2014.1
  • Unity: 4.x

Supported Platforms:

  • Android
  • iOS
  • Linux
    • 32-bit
    • 64-bit
  • Mac OS X (10.6 and above)
  • PS3
  • PS4
  • PS Vita
  • Windows
    • 32-bit
    • 64-bit
  • Windows 8 (Metro)
    • Desktop
    • Windows Store App on Intel devices and ARM tablets
  • Windows Phone 8.0
  • Xbox360
  • Xbox One

New Features:

  • Added a demonstration scene, available in a separate package. See Using the WwiseDemoScene for more information.
  • Added a migration process for projects created with the 2013.2 Wwise Unity Integration.
  • Wwise Components are now referenced by UUID within the Wwise Unity Integration. This allows renaming them in the Wwise Project without breaking the link with the Unity project.
  • Added some customizable triggers for posting events and loading banks. See Adding New Triggers for Wwise Events for more information.
  • Added some customizable callbacks for Wwise events. See Using AkAmbient from the Inspector for more information.
  • Reduced the AkSoundEngine plug-in size.
  • Added an option to create (or destroy) the WwiseGlobal object and the AkListener.

Resolved Issues:

  • WG-25783: Fix a memory leak in the Callback Manager
  • WG-25677: Fix path issues on Mac

Known Issues:

  • WG-25669: Auto Populate of the Wwise Picker doesn't work in the Mac Editor.
  • WG-25733: Cannot build iOS/Mac games using the Windows editor and vice-versa.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2013.2.10

Release Notes - Wwise Unity Integration 2013.2.10

This release delivers the Wwise SDK update for Wwise 2013.2.10 and bug fixes.

Notable features:

  • WG-25783 Fixed: Fixed a memory leak when cancelling callbacks

Compatibility:

  • Wwise SDK: 2013.2.10
  • Unity: 4.x

Supported Platforms:

  • Android
  • iOS
  • Linux*
    • 32bit
    • 64bit
  • Mac OS X (10.6 and above)
  • PS3
  • PS4
  • PS Vita
  • Windows
    • 32bit
    • 64bit
  • Windows 8 (Metro)
    • Desktop
    • Windows Store App on Intel devices and ARM tablets
  • Windows Phone 8.0
  • Xbox360
  • Xbox One


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2013.2.9

Release Notes - Wwise Unity Integration 2013.2.9

This release delivers the Wwise SDK update for Wwise 2013.2.9, final documentation, and bug fixes.

Notable features:

  • Final version of the documentation
  • Stability fixes

Compatibility:

  • Wwise SDK: 2013.2.9
  • Unity: 4.x

Supported Platforms:

  • Android
  • iOS
  • Linux
    • 32-bit
    • 64=bit
  • Mac OS X (10.6 and above)
  • PS3
  • PS4
  • PS Vita
  • Windows
    • 32-bit
    • 64-bit
  • Windows 8 (Metro)
    • Desktop
    • Windows Store App on Intel devices and ARM tablets
  • Windows Phone 8.0
  • Xbox360
  • Xbox One

New Features:

  • Added the support for the Windows Phone 8.0 platform.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2013.2.8

Release Notes - Wwise Unity Integration 2013.2.8

This release delivers the Wwise SDK update for Wwise 2013.2.8, new Wwise-Unity integration tools, additional documentation, and bug fixes.

Notable features:

  • A simpler setup flow for new projects (see Installing or Upgrading the Integration in a Unity Project)
  • Easier Wwise project access with the Wwise Picker (see Wwise Picker)
  • New and improved Unity components to wrap common audio tasks (see Using the Wwise Unity Integration)
  • Wwise-Unity Integration documentation merged and cross-referenced with Wwise SDK documentation (this file!)

Compatibility:

  • Wwise SDK: 2013.2.8
  • Unity: 4.x

Supported Platforms:

  • Android
  • iOS
  • Linux*
    • 32-bit
    • 64-bit
  • Mac OS X (10.6 and above)
  • PS3
  • PS4
  • PS Vita
  • Windows
    • 32-bit
    • 64-bit
  • Windows 8 (Metro)
    • Desktop
    • Windows Store App on Intel devices and ARM tablets
  • Windows Phone 8.0
  • Xbox360
  • Xbox One

New Features:

  • Added the support for the Xbox One platform.
  • Added the support for the PS4 platform.
  • Added the support for the Linux platform.
    * Unity Integration for Linux is supported in Wwise 2013.2.8 Linux BETA.
  • Added the support for the Windows Phone 8.0 platform.

Migrations:

  • Multi-architecture Windows and Metro plug-ins are now installed into their designated folders and no longer need to be switched using Unity's Scripting Define Symbol feature.
  • Removed the feature for rebuilding the Integration from Unity Editor menu for simplicity.
  • Separated the ready-to-use Integration from the source code.
  • Upgraded Windows IDE solution from Visual Studio 2008 to 2010.
  • Updated the designated platform folders for Windows and Metro.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2013.2.5

Release Notes - Wwise Unity Integration 2013.2.5

This release delivers the Wwise SDK update for Wwise 2013.2.5, the support of new platforms, and bug fixes.

Compatibility:

  • Wwise SDK: 2013.2, 2013.2.x
  • Unity: 4.x

Supported Platforms:

  • Android
  • iOS
  • Mac OS X (10.6 and above)
  • PS3
  • PS4
  • PS Vita
  • Windows
    • 32-bit
    • 64-bit
  • Windows 8 (Metro)
    • Desktop
    • Windows Store App on Intel devices and ARM tablets
  • Xbox 360
  • Xbox One

New Features:

  • Added the support for the new platform: PS4.
  • Added the support for the new platform: PS Vita.
  • Added the support for the new platform: Xbox One.
  • Android: Added a new API AddBasePath() to allow specifying a POSIX file system path for I/O.

Resolved Issues:

  • WG-24351: iOS: Remote control interruption is not handled.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2013.2.4

Release Notes - Wwise Unity Integration 2013.2.4

This release delivers Wwise SDK update for Wwise 2013.2.4, bug fixes, and improvements.

Compatibility:

  • Wwise SDK: 2013.2, 2013.2.x
  • Unity: 4.x

Supported Platforms:

  • Windows 8 (Metro)
    • Desktop
    • Windows Store App on Intel devices and ARM tablets
  • Windows
    • 32-bit
    • 64-bit
  • Mac OS X (10.6 and above)
  • iOS
  • Android
  • Xbox360
  • PS3

New Features:

  • New menu item Wwise > Help for opening the Integration documentation in the default web browser.
  • Added Version.txt metadata file to all distributions to indicate the base Wwse SDK info.

Resolved Issues:

  • WG-24080: Compiler errors after switching to Android with both Windows and Mac APIs present.

Migrations:

  • Removed Android armeabi plug-ins.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2013.2.1

Release Notes - Wwise Unity Integration 2013.2.1

This release delivers the Wwise SDK update for Wwise 2013.2.1, new features including an overhauled distribution, installation and build experience, and bug fixes.

Compatibility:

  • Wwise SDK: 2013.2, 2013.2.1
  • Unity: 4.x (3.x is no longer supported)

Supported Platforms:

  • Windows 8 (Metro)
    • Desktop
    • Windows Store App on Intel devices and ARM tablets
  • Windows
    • 32-bit
    • 64-bit
  • Mac OS X (10.6 and above)
  • iOS
  • Android
  • Xbox360
  • PS3

New Features:

  • Unity Integration is now distributed as a Unity asset bundle that contains the target platform version and the desktop version. It can be imported directly into a Unity project, and function in both the Editor and on target devices.
  • A new Wwise menu was added in the Unity Editor UI for the following tasks:
    • Installing the plug-in.
    • Rebuilding the Integration.
    • Converting a SoundBank ID C++ header into its C# version.
  • Build and run applications for multi-architecture platforms (for example, Windows) with Unity 4's Custom scripting symbols feature.
  • A build script for rebuilding the Integration for any supported platform through the command line.
  • A simplified positioning demo added to the IntegrationDemo.
  • Android: SoundBanks can now be saved in and loaded from the Android Expansion Files (OBB).

Resolved Issues:

  • WG-23781: Bank callback does not work.
  • WG-23734: Marker callback receives garbled strings on Windows platforms.
  • WG-23345: Compiler errors when switching to unsupported platforms in Unity Editor.
  • WG-23436: Unity: listener positioning error due to wrong index type cast.
  • WG-23423: Performance issue with GameObjects in Unity related to component access.
  • WG-22533: Unity: Some API binding functions shouldn't have exception handlers.

Improvements:

  • Simplified iOS plug-in installation and deployment.
  • Updated documentation with more accurate prerequisites and other instructions.

Migrations:

  • The installed file and folder structure is updated for the new distribution method. See Installing or Upgrading the Integration in a Unity Project for details.
  • The plug-ins for multi-architecture platforms are renamed. See BUILD THE APPLICATION FOR A MULTI-ARCHITECTURE PLATFORM for details.
  • On iOS, there is no longer a need to configure Xcode project to find the plug-in library. But a new native API call is needed. See Mac/iOS/tvOS-Specific Information for details.
  • The previous multi-architecture platform build UI script examples are removed.
  • The old build script for the Apple platforms is removed.
  • SWIG is upgraded to 2.0.11.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2013.1.1

Release Notes - Wwise Unity Integration 2013.1.1

This release includes the Wwise SDK update for Wwise 2013.1.1. No other changes were made in the Integration.


Wwise Unity Integration Documentation: Release Notes - Wwise Unity Integration 2013.1

Release Notes - Wwise Unity Integration 2013.1

This release includes the Wwise SDK update for Wwise 2013.1, Android-related new features, and general bug fixes.

Compatibility:

  • Wwise SDK: 2012.2.x, 2013.1
  • Unity: 3.4.x, 3.5.x, 4.x

Supported Platforms:

  • Windows 8
    • Desktop
    • Windows Store App on Intel devices and ARM tablets
  • Windows (32bit)
  • Windows (64bit)
  • Mac OS X (10.6 and above)
  • iOS
  • Android
  • Xbox360
  • PS3

New Features:

  • Android: SoundBanks can now be saved in Android application packages (apk) and are accessible transparently using LoadBank() APIs.
  • Support for Windows 64bit.
  • Support for Windows 8.

Resolved Issues:

  • WG-22948: Positioning error due to listener index assignment error on PS3.
  • WG-22938: Positioning data passed by Unity Integration on Mac OSX is invalid.
  • WG-22334: Music userCue names are incorrectly reported to Unity as empty strings.
  • WG-22329: Cannot PostEvent() to global scope with Unity Integration.
  • WG-22255: Unity Android: Sound persists after switching app to background.
  • WG-22165: 3D positioning does not work properly under iOS and Android.
  • WG-21933: AkCallbackManager.cs handles deserialization of floats incorrectly. UserCue names broken.
  • WG-21365: Unity iOS: Cannot hear sounds after iOS audio interruption events come and go.
  • WG-22533: Some API binding functions shouldn't have exception handlers.

Improvements:

  • Windows and Mac distributions can coexist in the same Unity project.
  • Improved documentation readability and accuracy and added Platform-Specific Information section for easily reading the info about platforms of interest.
  • Build logs now support quiet and verbose modes for readability.
  • Build pipeline now checks user Python version and warns if it is outdated.
  • Deployment script can now be used directly to copy the Integration to Unity projects.

Migrations:

  • Visual Studio 2010 is now required to build the Integration for PS3.
  • Build scripts no longer support Python 2.6 and older versions. Python 2.7.x or 3.x is required.
  • The environment variable UNITY_PROJECT_ROOT is no longer required for building the Integration yourself. By default, the Integration is no longer automatically deployed to the folder specified by UNITY_PROJECT_ROOT. See Build the Native Integration Plug-in from Source for details.
  • Android build scripts no longer deploy PostprocessBuildPlayer scripts to Unity projects.
  • IntegrationDemo project is upgraded to Unity4 format.


Wwise Unity Integration Documentation: Installing or Upgrading the Integration in a Unity Project

Installing or Upgrading the Integration in a Unity Project

The Wwise Unity Integration contains Unity components, Editor tools, and documentation to make Wwise work in a Unity project.

Consult the following pages for the various installation and upgrade procedure information you may need.

  • Installing a Wwise Integration Package for the First Time
  • Changes to your Unity Project
  • Integrating Sounds in Your Game
  • Setting the SoundBank Location
  • Adding Plug-ins
  • Upgrading Your Integration to Use a Newer Version of Wwise


Wwise Unity Integration Documentation: Installing a Wwise Integration Package for the First Time

Installing a Wwise Integration Package for the First Time

You can install the Wwise Integration package using the Audiokinetic Launcher. Refer to Integrating Wwise into a Unity Project for details.

Warning: Before you begin:
  • Back up your Unity project. You can either rely on your source control system or use the Audiokinetic Launcher. To back up your project through the Launcher, ensure that Install files into a copy of the Unity project directory, then apply changes if successful is selected on the project integration page.
  • Before you install the Wwise integration, you need to make sure your Unity project is in a state where it can compile successfully without any errors. (Warnings are OK.)
  • If the Unity project is under source control, make sure to check out the whole Unity project folder before starting to integrate. Otherwise, the integration will fail because it won't be able to modify the files.

Unity Integration Extensions

Users hooks, in the form of partial methods, have been added to allow users to extend the auto-registration of game objects or remove this functionality all together. The default extensions are recommended, however, you can choose to exclude them while Integrating Wwise into a Unity Project.


Wwise Unity Integration Documentation: Changes to your Unity Project

Changes to your Unity Project

The Wwise Integration installation process changes your Unity project in the following ways:

  • It enables the Disable Audio option in Edit > Project Settings > Audio. This disables the built-in audio system.
  • If you enabled the Create WwiseGlobal GameObject Wwise Setting, it creates a game object named "Wwise Global" in the current scene. The WwiseGlobal object is also given AkEditorEventPlayer, AkAudioListener, and AkGameObj scripts, which are used to preview AkEvent objects in edit mode. A Rigidbody component is added such that interactions between AkEnvironment, AkRoom, and AkGameObj can also be previewed.
Note: The WwiseGlobal object is a GameObject that contains the Initializing and Terminating scripts for the Wwise Sound Engine. In the Editor workflow, it is added to every scene, so that it can be properly previewed in the Editor. In a build, a single instance is created in the first scene, and it persists throughout the game. There are a few customizable options in the initializer script. Refer to Initializing Sound Engine Modules in the Wwise SDK documentation.
  • It enables the Script Execution Order for sensitive Wwise scripts (AkInitializer, AkGameObj, AkAudioListener, and AkBank).
  • If you select the Add Ak Listener to Main Camera check box, it removes the Audio Listener component from the Main Camera object and sets the default AkAudioListener.cs script set on the Main Camera object.
  • It enables the Run in Background option in Edit > Project Settings > Player > Resolution and Presentation, which allows you to connect the Wwise Profiler.


Wwise Unity Integration Documentation: Integrating Sounds in Your Game

Integrating Sounds in Your Game

At this point, you should be able to try playing sounds from Wwise in your game. If you haven't already set up your Wwise project with a few sounds, Events, and SoundBanks, you will need to start Wwise and do the following:

  1. Import a WAV file. Drag and drop one from a File Explorer window to the Project Explorer's Audio tab. This will create a Sound.
  2. Create an Event. Right-click on the sound and select New Event. Name it appropriately.
  3. Create a SoundBank. Go to the SoundBanks layout (F7). Click New… in the SoundBank Manager.
  4. Put your Event in the SoundBank. To do so, drag and drop the Event from the Project Explorer to the SoundBank.
  5. Click Generate Selected. You now have something to play.

Now, to integrate a sound in your Unity project:

  1. Open the Wwise Picker window (Window > Wwise Picker), it should show you your Events and your SoundBanks.
  2. Drag and drop your SoundBank on the object in your scene.
  3. Drag and drop your Event on an object in your scene.
  4. Play your game! You should hear a sound on start-up.

You didn't hear anything? Read more on the Troubleshooting page.

Integrate more sounds

The current integration of Wwise into Unity provides a few Unity components that will cover some of the regular usage cases.

  • Use AkAmbient to place scene-bound sound emitters.
  • Use AkBank to load a SoundBank.
  • Attach AkEnvironment to colliders to set up reverbs in a specific zone.
  • Read more about the other components.

However, it is important to have the support of a programmer to write scripts to implement the more complex behaviors you want in your game. You can find more information on the Wwise API in these two sections:

  • Integrate Wwise Elements into Your Game
  • AK::SoundEngine Namespace Reference


Wwise Unity Integration Documentation: Setting the SoundBank Location

Setting the SoundBank Location

When you run a project in the Unity Editor, the SoundBanks are taken directly from the Wwise project's GeneratedSoundBanks folder to increase prototyping speed. The default folder location is …\<UnityProjectName>\Assets\StreamingAssets\Audio\GeneratedSoundBanks.

To change the SoundBanks location, go to Edit > Project Settings > Wwise Integration and update the SoundBanks Path as required.

When Unity packages your project, it does not selectively package assets based on the target platform. Instead, it packages all the SoundBanks located in the specified SoundBanks folder. To ensure that Unity only builds and packages SoundBanks for the required platforms, on the Wwise Integration page, leave Copy SoundBanks at pre-Build step selected.

Alternatively, advanced Unity developers can use a BuildPlayerPipeline script.

If you are using Unity Addressables, the SoundBank options are slightly different. Refer to Setting the Generated SoundBank Location for Addressables.

See also
  • Build your Unity Game for a Target Platform

Setting the Generated SoundBank Location for Addressables

If you use Unity Addressables in your project, the folder that contains the generated SoundBanks must be located within the project so that the SoundBanks can be properly imported.

To set the generated SoundBanks path, go to Edit > Project Settings > Wwise Integration and change the Generated SoundBanks Path as required. The location must be under the Assets folder.

See also
  • Installing the Wwise Unity Addressables Package


Wwise Unity Integration Documentation: Adding Plug-ins

Adding Plug-ins

All built-in Wwise source and Effect plug-ins are available for use in the Integration by default.

The Effect plug-ins are available as dynamic libraries. These libraries are automatically included in your Unity project depending on their usage in the Wwise project. The list of Effect plug-ins your project uses is compiled when the SoundBanks are generated.

To add a previously unused plug-in to your project, follow these steps:

  1. Use the Effect plug-in in your Wwise project.
  2. Generate your SoundBanks for the platform you are working on.
  3. Switch to your Unity project.
  4. Copy your new SoundBanks to the expected StreamingAssets folder. (If Play in Editor, no need to copy.)
  5. Compile your game (or Play in Editor).

Any other plug-in you previously installed in Wwise using the Launcher is automatically available upon integrating Wwise in your Unity project. However, if you install plug-ins in your Wwise project after integrating Wwise into your Unity project, you must follow the steps covered in Adding Plug-ins to Unity and Unreal Integrations to use the plug-ins in your Integration.

Note, licensed plug-ins are not part of the default Wwise license (McDSP, iZotope, Auro, SoundSeed, Crankcase REV, Convolution Reverb, Motion). You can try them in the authoring application, but not in-game. If you do not have a valid license, contact us. Evaluation licenses are always free.

If you want to create a new Effect plug-in for Wwise (and then Unity), read section Creating New Plug-ins. For iOS, tvOS, and Nintendo Switch, plug-ins must be provided as static libraries. See Plug-in Static Registration. Plug-ins that are included with the integration are automatically registered in a corresponding CPP file generated within the AkPluginActivator.StaticPluginRegistration class. To register your new plug-in, you will have to create a CPP file similar to the following:

namespace AK { class PluginRegistration; };
#define AK_STATIC_LINK_PLUGIN(_pluginName_) extern AK::PluginRegistration _pluginName_##Registration; void *_pluginName_##_fp = (void*)&_pluginName_##Registration;
#include "MyNewPluginFactory.h"
AK
Definition: AkWwiseAcousticTexture.cs:21


Wwise Unity Integration Documentation: Upgrading Your Integration to Use a Newer Version of Wwise

Upgrading Your Integration to Use a Newer Version of Wwise

As new major and minor versions of Wwise are released, you might want to update your Integration package to use a newer version of Wwise.

The following upgrade procedure assumes:

  • You already have a Unity project containing a Wwise Integration package for an older version of Wwise.
  • You have already installed a newer version of Wwise, including the Wwise SDK and all deployment platforms supported by your existing integration.
Warning: Recommendations
  • The upgrade operation is not reversible. Make sure you back up your Unity project before you proceed.
  • If the Unity project is under source control, make sure you check out the entire Unity project folder before starting the upgrade. Otherwise, the upgrade will fail because it won't be able to modify the files successfully.
  • Before you upgrade the Wwise integration, make sure your Unity project is in a state where it can compile successfully without any errors. (Warnings are OK.)
  • If you have modified the C++ Wwise SDK, of the C++ AkSoundEngine plug-in source code, follow the instructions found in Updating/Upgrading the Wwise Integration Package to a Newer Version When You Have Modified the Plug-in's C++ Code.
  • If you are using The Wwise Addressables Package for Unity , refer to Updating the Wwise Unity Addressables Package.

Unlike other Unity plug-ins, you must leave the previous Wwise Integration package installed in order to upgrade it to a newer version.

Warning: Do not delete your existing Wwise Integration before upgrading to a new one. This would result in the loss of all Wwise audio in your game.

The upgrade is a two-part process. First you need to update your Wwise project for the new version of Wwise you want to use, and then you need to do the same with your Unity project.

  1. Update your Wwise project:
    1. In the Launcher, select the Wwise page.
    2. Launch the newly installed version of Wwise.
    3. Open your existing Wwise project.
    4. Click Update when prompted to update your Wwise project to the new version of Wwise.
    5. After the update is finished, generate your Wwise SoundBanks.
    6. Save the Wwise project.
  2. Update your Unity project:
    1. Updating the Unity project for the new version of Wwise is done using the Launcher. Refer to Upgrading or Modifying an Integration Package in the Launcher documentation for details.

Upgrading from a Version of Wwise Prior to 2021.1.1

If you are upgrading to Wwise 2021.1.1 or later from a version of Wwise prior to 2021.1.1, you must ensure the JsonSerialize package is active in the Unity project. Otherwise the upgrade will fail. This can be accomplished in either of two ways:

  1. Activating the package in the Unity package manager.
    • The package is located in the Built-in packages list.
  2. Adding "com.unity.modules.jsonserialize": "1.0.0" to the list of dependencies in Packages/Manifest.json.
    • Open and close the Unity project after making this change to ensure the package is properly added to the project.


Wwise Unity Integration Documentation: Uninstalling the Wwise Integration Package

Uninstalling the Wwise Integration Package

To uninstall the Wwise Integration Package, you need to manually delete the folder Assets/Wwise from your Unity project. This does not remove the Wwise components from your game objects, nor will it change any other settings.

If you were also using the Wwise Addressables package, you will need to remove the package either by using Unity's Package Manager, or by deleting its entry in [Unity Project]/Packages/manifest.json.


Wwise Unity Integration Documentation: Source Control Best Practices for Integrated Projects

Source Control Best Practices for Integrated Projects

When you are working with a Wwise project integrated with Unity, some manual work is required to set up source control. Specifically, there are certain files and folders that we recommend you exclude from source control.

Wwise Project Files

In integrated Unity projects, Wwise project files are located in the WwiseProject folder, which is usually located in the root directory of the Unity project.

For Wwise project files, refer to Using Wwise with Your Source Control System for details. Although that page mentions Perforce and git, the same recommendations apply to other source control systems such as Unity Version Control.

If space is a major concern for your project, you can also exclude the [WwiseProjectFolder]\Assets\Wwise\API\Runtime\Plugins folder, which contains the Wwise Unity integration binaries and Wwise plug-ins. We recommend that you remove the binaries of the Wwise plug-ins you are not using.

Unity Project Files

As a general guideline, exclude all directories and files that Unity regenerates automatically. For example, Unity regenerates the Library and Temp directories, which are quite large, so there is no need to add them to source control.

Among the Wwise-specific files in the Assets\Wwise folder, exclude the AkWwiseProjectData.asset file. It is a project data cache file that the integration uses, but is not appropriate for source control.

Although every Unity project is different, the following sample ignore file is a comprehensive list of files you can safely ignore:

# Common directories
Library
Temp
Obj
Build
Builds
UserSettings
MemoryCaptures
Logs
/Assets/AssetStoreTools
/Assets/AddressableAssetsData/*/*.bin*
*/Assets/StreamingAssets/aa.meta
*/Assets/Wwise/Editor/ProjectData/AkWwiseProjectData.asset
.collabignore
# Builds
*.apk
*.unitypackage
# Autogenerated project files
/Assets/Plugins/Editor/JetBrains*
.vs
ExportedObj
.consulo
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta
# Unity3D Generated File On Crash Reports
sysinfo.txt
# Crashlytics generated file
crashlytics-build.properties
# Mac
.DS_Store*
Thumbs.db
Desktop.ini


Wwise Unity Integration Documentation: Adjusting Unity Editor Settings

Adjusting Unity Editor Settings

The Wwise Integration Settings can be found in the Project Settings Window (Edit > Project Settings) under the Wwise Integration section.

For the project settings used in the initialization of the Wwise Sound Engine, consult the Adjusting Wwise Initialization Settings page.

Wwise Project Settings

Wwise Project Path: Location of the Wwise project associated with this game. It is recommended to put it in the Unity Project root folder, outside the Assets folder.

Wwise Application Path: Location of the Wwise application. This is required to generate the SoundBanks from within Unity.

Editor Behaviour Settings

The SoundBank options vary depending on whether you are using Unity Addressables or not. For more information on Addressables, refer to The Wwise Addressables Package for Unity.

SoundBanks Path: Location of the SoundBanks relative to (and within) the StreamingAssets folder. This is used for copying generated soundbanks into the project when building the game. If the Unity Addressables package is installed in your project, this option does not appear. Instead, you must specify the Generated SoundBanks Path.

Generated SoundBanks Path: Location of the generated SoundBanks in your project. This option only appears if the Addressables package is installed in your project. Ensure that the path is under the project's Assets folder so that SoundBanks are imported properly.

Copy SoundBanks at pre-Build step: If selected, SoundBanks are copied to the location specified by SoundBanks Path during building and deployment. We recommend that you select this option. If the Unity Addressables package is installed in your project, this option does not appear.

Generate SoundBanks at pre-Build step: Generates the SoundBanks before copying them during the pre-Build step. If SoundBanks are generated on a specific build machine, we recommend that you do not select this option. If the Unity Addressables package is installed in your project, this option does not appear.

Create WwiseGlobal GameObject: The WwiseGlobal object is a GameObject that contains the Initializing and Terminating scripts for the Wwise Sound Engine. In the Editor workflow, it is added to every scene, so that it can be properly previewed in the Editor. In the game, only one instance is created, in the first scene, and it is persisted throughout the game. It is recommended to leave this box checked.

Add Listener to Main Camera: In order for positioning to work, the AkAudioListener script needs to be attached to the main camera in every scene. If you wish for your listener to be attached to another GameObject, uncheck this box.

Auto-delete WwiseObjectReferences: Components that reference Wwise objects such as Events, Banks, and Busses track these references using WwiseObjectReference assets that are created in the Wwise/ScriptableObjects folder. If this option is checked and a Wwise Object has been removed from the Wwise Project, when parsing the Wwise project structure, the corresponding asset in the Wwise/ScriptableObjects folder will be deleted.

Load Sound Engine in Edit Mode: Loads the Sound Engine in Edit Mode. Disable this setting to verify that the Sound Engine is properly initialized in-game. If this setting is disabled, no sounds play in functions such as the Inspector, the Timeline, and so on. The only way to hear sounds is to click Play in the Editor. This setting affects the Enter Play Mode Behaviors.

Show Spatial Audio Warnings: Warnings will be displayed on Wwise components that are not configured for Spatial Audio to function properly. It is recommended to leave this box checked.

WAAPI Settings

Connect to Wwise: When checked, the editor will periodically attempt to establish a WAAPI connection with an instance of Wwise Authoring.

WAAPI Port: Port to connect to. Can be verified in Wwise Authoring under (Project > User Settings). Default value is 8080.

WAAPI IP address: IP address of the device running Wwise authoring. If it is running on the same machine, use 127.0.0.1.

Wwise Error Message Translator Settings

The Error Translators purpose is to transform numerical IDs in error messages into human-readable names, whenever the information is available. There are two methods available: through SoundBanksInfo.xml and through WAAPI.

If the SoundBanksInfo.xml file is present beside the soundbank files (it is optional), using the XML method is faster.

WAAPI has the advantage of reading directly from an instance of Wwise, with the latest information. But the network communication can be very slow. Because of that it is disabled by default.

XML Translator Timeout Maximum time alloted to search for IDs (milliseconds) for the XML file reader. Set to 0 to disable.

WAAPI Translator Timeout Maximum time alloted to search for IDs (milliseconds) through the WAAPI connection. Set to 0 to disable.


Wwise Unity Integration Documentation: Adjusting Wwise Initialization Settings

Adjusting Wwise Initialization Settings

The Wwise Initialization Settings correspond to members of the following structures within the Wwise sound engine's C/C++ SDK:

  • AkCommSettings
  • AkDeviceSettings
  • AkInitSettings
  • AkMemSettings
  • AkMusicSettings
  • AkPlatformInitSettings
  • AkSpatialAudioInitSettings
  • AkStreamMgrSettings

The scope of the settings, from paths and languages, to sample rates, queue sizes, memory thresholds, pool sizes, among still many others could be daunting. The default settings, however, can be relied on most of the time. Nevertheless, there may be project-specific situations where you will want to access and adjust some of the Wwise Initialization Settings.

Accessing the Wwise Initialization Settings

The Wwise Initialization Settings have now been exposed to the Unity Editor. It is no longer necessary to script changes to them.

These settings can be found in the Project Settings Window (Edit > Project Settings...) under the Wwise Initialization section.

Wwise Initialization Settings

In the Project Settings window, the Wwise Initialization Settings are organized into four intuitive groups: Common User Settings, Common Advanced Settings, Wwise Communication Settings, and Platform Specific Advanced Settings (where Platform corresponds to the platform you are working on). Each setting is directly editable within the interface, be it a field, check box, or slider. For your convenience, all settings also have tooltips providing extra information about the parameter itself or its possible values.

Platform-specific Settings

Common User Settings, Common Advanced Settings, and Wwise Communication Settings contain settings values for each platform, grouped together for easy access. Values are globally applicable to all platforms whose check box is enabled; values can also be set on a per platform basis when the check box is disabled.

Platform-specific Advanced Settings are displayed per Wwise custom platform allowing users to configure each platform accordingly.

Note: Your Initialization Settings changes will not take effect until after you have played and then stopped the sound engine.


Wwise Unity Integration Documentation: Managing SoundBanks

Managing SoundBanks

The Wwise Unity Integration provides several options for SoundBank management, and has several unique requirements as well. If you use the integration, be aware of the following things:

  • The recommended SoundBank location varies depending on whether you use Unity Addressables or not (The Wwise Addressables Package for Unity). If you use Addressables, you must specify a location within your project's Assets folder to ensure that the SoundBanks are imported propertly. If you are not using Addressables, you can specify a location outside of the project. Refer to Setting the SoundBank Location and Installing the Wwise Unity Addressables Package for more information.
  • You can generate SoundBanks in Unity through the Wwise Picker. Refer to Wwise Picker for more information.
  • Unity developers can use the AkBank class to perform various SoundBank operations such as loading, unloading, and decoding.
  • Auto-defined SoundBanks are supported and enabled by default. If you do not want to use them, disable the appropriate option in the Wwise project. In Wwise Authoring, go to Project > Project Settings > SoundBanks and ensure that Enable Auto Defined SoundBanks is cleared. Refer to SoundBanks Tab. For more details about auto-defined SoundBanks in Unity, refer to Using Auto-Defined SoundBanks in Unity.
  • For more details about the differences between user-defined and auto-defined SoundBanks, refer to Understanding Auto-Defined and User-Defined SoundBanks.


Wwise Unity Integration Documentation: Using Auto-Defined SoundBanks in Unity

Using Auto-Defined SoundBanks in Unity

In order to use Auto-defined SoundBanks in Unity, you must first enable them in Wwise Authoring. For details, see Automatically Defining SoundBanks. You must also ensure that the following settings are selected in the Wwise Project Settings:

  • "Object GUID" and "Object Path" under Include in Metadata.
  • "Generate JSON Metadata" under File Types.

Manual Configuration

When you select an event for a Wwise Event reference, the "Is In User-Defined SoundBank" checkbox appears. Leave it cleared if you are using an event contained in an auto-defined SoundBank.

If you are using an event contained in a user-defined SoundBank, select the box, add an AkBank Component to the GameObject, and select the user-defined SoundBank that contains the effect.

When using the Wwise Addressables package, the checkbox is selected automatically. You still have to add an AkBank Component when using a user-defined Soundbank.

For more details about the differences between auto-defined and user-defined SoundBanks, see Understanding Auto-Defined and User-Defined SoundBanks.

Required Subfolder Settings

When using the manual integration, you must ensure that the "Use Sub Folder For Generated Files" setting in Unity matches the "Create sub-folders for generated files" setting in Wwise Authoring.


Wwise Unity Integration Documentation: Understanding Auto-Defined and User-Defined SoundBanks

Understanding Auto-Defined and User-Defined SoundBanks

Your SoundBank management strategy has significant implications for your Wwise Unity Integration project. Your approach affects memory usage, file packaging, file size, and the way in which SoundBanks are loaded. There are three basic strategies: use auto-defined SoundBanks, use user-defined SoundBanks, or take a hybrid approach with auto-defined SoundBanks for some audio assets and user-defined SoundBanks for others.

The preferred strategy is to use auto-defined SoundBanks, which is the simplest and most efficient approach: auto-defined SoundBanks ensure that only the required assets are loaded in memory, and they require the least amount of manipulation in Wwise Authoring. In contrast, user-defined SoundBanks require manual asset management, which can be time-consuming and is more prone to error than using auto-defined SoundBanks.

User-defined SoundBanks were part of the Legacy workflow in Wwise Unity Integration versions 23.1 and earlier. Auto-defined SoundBanks in Unity were introduced in Wwise 24.1.

Using Auto-Defined SoundBanks

Auto-defined SoundBanks are created automatically when you enable the corresponding option in your Wwise Project Settings. They automate some of the manual tasks related to SoundBank management but function differently than user-defined SoundBanks. They possess several important characteristics:

  • A separate SoundBank is created for each Event.
  • Each SoundBank contains only the Event and structure information, while media is stored outside of the SoundBank. Therefore, if multiple Events require the same media asset, it is generated on disk once and loaded once.
  • File sizes are generally smaller than those associated with user-defined SoundBanks. Auto-defined SoundBanks rely on Unity to map dependencies and load the necessary audio. An Unity component can link to a specific Event and load only the files required for playback. In contrast to user-defined SoundBanks, auto-defined SoundBanks provide much more granularity.

You can enable auto-defined SoundBanks in Wwise Authoring. For details, refer to Automatically Defining SoundBanks.

Using User-Defined SoundBanks

With user-defined SoundBanks, you create the SoundBanks yourself and decide what to include in them. User-defined SoundBanks give you direct control over SoundBank content, although this degree of control requires planning, time, and effort to manage. As with any manual process, it is open to user error.

User-defined SoundBanks possess several important characteristics:

  • They include Events as well as all associated audio assets.
  • They are loaded with the corresponding Unity levels and are available for any of the Events they contain.
  • The entire SoundBank is loaded, even if only a single Event out of hundreds in the bank is required. The SoundBank is only loaded once, though.
  • Loading time might be shorter than auto-defined SoundBanks because only a single SoundBank is loaded, instead of separate SoundBanks for every Event. Conversely, the larger size of the single SoundBank might require a longer time to load. File sizes are also generally larger.

For instructions on how to create user-defined SoundBanks, refer to Creating a SoundBank. The Wwise 251 Certification also describes in detail how to optimize user-defined SoundBanks.

Taking a Hybrid Approach

If desired, you can take a hybrid approach to SoundBank management: use both user-defined and auto-defined SoundBanks. With this method, you can optimize your project's use of SoundBanks. There is no ideal hybrid approach, but here are some possible use cases:

  • Use a user-defined SoundBank for all small user interface sounds, additional user-defined SoundBanks for the core atmosphere of every level, and auto-defined SoundBanks for all other Events. In this way, the short and repetitive UI interactions are loaded only once, level music is loaded only as required, and Event assets are loaded dynamically.
  • Isolate debugging Events in auto-defined SoundBanks so that you can remove them from the packaged game.
  • Store Events and their associated media in different user-defined SoundBanks (the Integration Demo Sample contains an example of this). You could implement a highly complex user-defined SoundBank inclusion pattern and use a custom strategy to load Switch Containers. For example, you could use a media-centric SoundBank for different surface types (such as grass, wood, and metal), and put the Event in a separate SoundBank.
Warning: There are many possible ways to manage and generate SoundBanks in Wwise Authoring, but be aware of the potential risks when you are working with the Wwise Unity Integration. If your desired pattern is very complex, it might not be supported and could cause asset duplication, missing assets, or even cause the Integration to malfunction.

Posting Events

In order to post Events, you must use an AkEvent component to do so regardless of the type of SoundBank that you use. The AkEvent component is a lightweight structure that contains only the essential information required to load SoundBanks and Media, and process and package the Event.


Wwise Unity Integration Documentation: Using the Wwise Unity Integration

Using the Wwise Unity Integration

The Integration provides Wwise-specific components you can use directly on Unity Scene GameObjects. These components should cover most sound design scenarios. While the components are custom C# scripts, no coding is required to edit their public properties.

Adding Wwise Components

To add Wwise components to Unity GameObjects:

  • Go to the Unity Inspector window (Ctrl+3) loaded with the GameObject selected in the scene.
  • Click Add Component to prompt the Component list.
  • Select Wwise to open its sublist and choose the desired Wwise Components.
    Tip: Type "ak" in the component search field to more quickly access a list containing all the Wwise components.

Adding Wwise Components from the Wwise Picker

You can add components to your game by dragging Wwise objects from the Wwise Picker to either the Inspector or onto game objects listed in the Hierarchy of your loaded scene.

See also
  • Wwise Components
  • Wwise Picker

The WwiseGlobal Object

The WwiseGlobal object is a GameObject that contains the Initializing and Terminating scripts for the Wwise Sound Engine. In the Editor workflow, it is added to every scene, so that it can be properly previewed in the Editor. In the game, only one instance is created, in the first scene, and it is persisted throughout the game. There are a few customizable options in the initializer script.

If you want to disable this behavior, use Edit > Project Settings > Wwise Integration and disable Create WwiseGlobal GameObject. It then becomes your responsability to add the initializer script on an object that will persist throughout the game.

Listener in Main Camera

In order for positioning to work, the Ak Audio Listener script needs to be attached to the main camera in every scene. By default the listener is added automatically to the main camera. If you want to disable this behavior, go to Edit > Project Settings > Wwise Integration and disable Automatically add Listener to Main Camera.

See also
  • For information about using a Distance Probe in third-person perspective games, refer to Using the Ak Listener Distance Probe Component to Customize Listeners in Third-Person Games.

Wwise Types

This integration also provides a few classes that can be used, with minimal code, for most remaining usage scenarios:

  • AK.Wwise.AuxBus
    This type represents an auxiliary send in the Master-Mixer Hierarchy.
  • AK.Wwise.Bank
    This type can be used to load/unload SoundBanks.
  • AK.Wwise.CallbackFlags
    This type represents the values of the flags used when posting an Event with a callback.
  • AK.Wwise.Event
    This type can be used to post Events to the sound engine.
  • AK.Wwise.RTPC
    This type can be used to set game parameter values to the sound engine.
  • AK.Wwise.State
    This type can be used to set Wwise States.
  • AK.Wwise.Switch
    This type can be used to set Switch values on gameobjects.
  • AK.Wwise.Trigger
    This type can be used to post triggers to the sound engine.
  • AK.Wwise.AcousticTexture
    This type represents an Acoustic Texture.
See also
  • Wwise Types

Wwise Authoring API (WAAPI) Client

A native WAAPI client with a C# API allows you to connect to WAAPI from within Unity. It currently is available for Windows and macOS. The Wwise Authoring API sends messages via JSON objects. In Unity, the client was implemented using strings. You may use your preferred method to construct valid JSON strings to then give to the WAAPI client.

See also
  • WAAPI Utilities

Adding Wwise Sounds to Game Objects

There are four ways to add sounds to your game:

  • Using the Wwise Picker. This is the simplest way to add a sound to an object. Drag an Event from the Wwise Picker window to an object in the Unity Viewer or the Inspector. This automatically creates an AkAmbient component on the target Game Object.
  • Using the Add Component menu. Add an AkAmbient or an AkEvent component to any Unity Game Object.
  • Using Wwise Types. Call AK.Wwise.Event.Post() at any time from a C# script.
  • Using scripts. Call AkUnitySoundEngine.PostEvent() at any time from a C# script.
See also
  • Using C# Code to Control the Sound Engine

Using Wwise with Unity Timeline

For Unity's Timeline feature, there are custom Wwise tracks for triggering Wwise events and setting Wwise RTPC values.

When Wwise sound objects are part of an audio timeline in Unity, applying Initial Delays to those sounds can be problematic. For example, if you use a seek, the seek is done in the silence generated to create the Initial Delay instead of in the sound itself, so the sound starts from the beginning of the file and not from the specified timestamp. To start sounds after a delay, use the Unity Timeline instead of a Wwise Initial Delay: move the clip to the desired timestamp in the Timeline.

See also
  • Wwise Timeline Integration


Wwise Unity Integration Documentation: Wwise Components

Wwise Components

General Components

AkAmbient
Use this component to attach a Wwise Event to any object in a scene. The sound can be started at various moments, dependent on the selected Unity trigger. This component is more useful for ambient sounds (sounds related to scene-bound objects) but could also be used for other purposes. Since AkAmbient has AkEvent as its base class, it features the play/stop, play multiple, stop multiple and stop all buttons for previewing the associated Wwise event.
See Using AkAmbient from the Inspector for a description of its public properties.

AkAudioListener
Add this script on the game object that represents a listener. This is normally added to the Camera object or the Player object, but can be added to any game object when implementing 3D busses. isDefaultListener determines whether the game object will be considered a default listener - a listener that automatically listens to all game objects that do not have listeners attached to their AkGameObjListenerList's.
See Using AkAudioListener from the Inspector for a description of its public properties.

AkBank
Loads and unloads a SoundBank at a specified moment. You can decompress Vorbis sounds at a specified moment using the Decode Compressed Data option. In that case, the SoundBank will be prepared.
See Using AkBank from the Inspector for a description of its public properties.
Also see SDK Doc: Loading Banks.

AkEmitterObstructionOcclusion
Completely obstructs/occludes the emitter of the current game object from its listeners if at least one object is between them.
See Using AkEmitterObstructionOcclusion from the Inspector for a description of its public properties.

AkEnvironment
Use this component to define a reverb zone. This needs to be added to a collider object to work properly.
See Using AkEnvironment and AkEnvironmentPortal from the Inspector for a description of its public properties.

AkEnvironmentPortal
Use this component to define an area that straddles two different AkEnvironment zones and allow mixing between both zones.
See Using AkEnvironment and AkEnvironmentPortal from the Inspector for a description of its public properties.

AkEvent
Helper class that knows a Wwise Event and when to trigger it in Unity.
See Using AkEvent from the Inspector for a description of its public properties.

AkGameObj
This component represents a sound object in your scene tracking its position and other game syncs such as Switches, RTPC and environment values. You can add this to any object that emits sound, and it is added to any object to which an AkAudioListener is attached. If it is not present on a Unity Game Object that is passed to Wwise, it is automatically added with the default values. It is important that this Wwise Component is above any other Wwise Component
See Using AkGameObj from the Inspector for a description of its public properties.

AkInitializer
This component deals with initialization and frame updates of the Wwise audio engine. It is marked as DontDestroyOnLoad so it stays active for the life of the game, not only one scene. You can modify this script to change the initialization parameters for the sound engine. A few are already exposed in the property inspector. It must be present on one Game Object at the beginning of the game to initialize the audio properly. It must be executed before any other MonoBehaviors that use AkUnitySoundEngine.

See also
  • Adjusting Wwise Initialization Settings
  • Wwise SDK doc: Initialize the Different Modules of the Sound Engine
  • AK::SoundEngine::Init()
  • AK::SoundEngine::Term()
  • AkCallbackInfo

AkListenerDistanceProbe
This component assigns a Game Object as the Distance Probe for a specified listener Game Object. Primarily used in third-person perspective games, a Distance Probe applies attenuation to sounds based on a different location than that of the listener.
See Using the Ak Listener Distance Probe Component to Customize Listeners in Third-Person Games for a description of its public properties.

AkState
This will call ak.soundengine.setState() whenever the selected Unity event is triggered. For example, this component could be set on a Unity collider to trigger when an object enters it.
See Using AkState from the Inspector for a description of its public properties.

AkSwitch
This will call ak.soundengine.setSwitch() whenever the selected Unity event is triggered. For example, this component could be set on a Unity collider to trigger when an object enters it.
See Using AkSwitch from the Inspector for a description of its public properties.

Spatial Audio Components

AkEarlyReflections
Add this script on a game object that represents an emitter. Sounds emitted by this game object will produce early reflections on nearby AkSurfaceReflector
See AkEarlyReflections from the Inspector for a description of its public properties.

AkRadialEmitter
Add this script on a game object that represents an emitter. Sounds emitted by this game object will have a spread based on an inner and outer radius centered on the position of the game object.
See AkRadialEmitter from the Inspector for a description of its public properties.

AkReverbZone
Add this script on a game object to link two Rooms together: one as a Reverb Zone and one as its parent. Add the script on a game object with and AkRoom component to set that Room as a Reverb Zone.
See Using AkReverbZone from the Inspector for a description of its public properties.

AkRoom
An AkRoom is an enclosed environment that can only communicate to the outside/other rooms with AkRoomPortals.
See Using AkRoom from the Inspector for a description of its public properties.

AkRoomAwareObject
A game object that is aware of AkRoom components. To be added on the Spatial Audio Listener and GameObjects that emit spatial audio sounds.
See Using AkRoomAwareObject from the Inspector for a description of its public properties.

AkRoomPortal
An AkRoomPortal can connect two AkRoom components together and propagate sound between them.
See Using AkRoomPortal and AkRoomPortalObstruction from the Inspector for a description of its public properties.

AkRoomPortalObstruction
Completely obstructs the sounds coming from the spatial audio portal of the current game object from the spatial audio listener if at least one object is between them.
See Using AkRoomPortal and AkRoomPortalObstruction from the Inspector for a description of its public properties.

AkSpatialAudioDebugDraw
Add this script on a game object that will emit sounds using spatial audio. The script can draw early reflection or diffraction paths from the current game object to the spatial audio listener for debug purposes.
See Using AkSpatialAudioDebugDraw from the Inspector for a description of its public properties.

AkSpatialAudioListener
Add this script on the game object that represents a listener.
See Using AkSpatialAudioListener from the Inspector for a description of its public properties.

AkSurfaceReflector
This component will convert the triangles of the GameObject's geometry into sound reflective surfaces.
See Using AkSurfaceReflector from the Inspector for a description of its public properties.

See also
  • Adding New Triggers for Wwise Events

Component code

To learn about the code of Wwise components, you can open the corresponding C# script from the component's settings button.

If you wish to write custom scripts for your Wwise Unity Integration project, we recommend using Wwise Types.

See also
  • Adding Wwise Components


Wwise Unity Integration Documentation: Using AkAmbient from the Inspector

Using AkAmbient from the Inspector
Note: AkAmbient builds on AkEvent by allowing multipositioning.
  • Trigger On: Provides a list of Unity events that can trigger your Wwise Event. You can choose more than one Unity event, in which case the field will display as "Mixed…". You can choose more than one Unity event, in which case the field will display as "Mixed…". You are not limited to those events. You can trigger an event at any time by calling AkUnitySoundEngine.PostEvent anywhere in your code. You can also code your own triggers, so they appear in the list for your co-workers. See Adding New Triggers for Wwise Events.
  • Action On Event: Enables users to override some Event parameters defined in Wwise directly from Unity. This allows the reuse of existing Events insted of creating new ones.
    Unchecked means you will post the Event. If you enable Action On Event, then you cannot enable Use Callback. See also the SDK documentation's entry for AK::SoundEngine::ExecuteActionOnEvent.
    • Action On Event Type: Overrides the Action type of the Event.
    • Curve Interpolation: Overrides the interpolation curve.
    • Fade Time: Overrides the sound's fade time.
  • Use Callback: Provides an easy way to make a game object react to an event callback. If you enable Action On Event, then you cannot enable Use Callback.
    • Game Object: The game object that will receive the callback. To select a game object, drag it from the hierarchy and drop it in the game object field.
    • Callback Function: This is the function that will get called by Game Object when the callback happens. To select a function, type its name in the Callback Function text field. For this to work, Game Object must define Callback Function in one of its components. The function must only receive one AkEventCallbackMsg argument.
    • Callback Flags: Select a flag which specifies when Callback Function will be called. More than one flag can be selected at the same time. See the AkCallbackType enumeration in the Wwise SDK documentation for more information about each flag.
    • Add: Creates a new callback.
  • Play / Stop: Can be used to preview the Wwise Event when in Edit mode.
  • Stop All: Stops all currently playing Wwise Events.
  • Position Type: Defines the way the Event's position will be sent to the audio engine.
    • Simple_Mode: The Event's position will be the same as the game object to which it's attached.
    • Large_Mode: The Event can have multiple positions that are defined by a set of points. You can add a point by clicking the Add Large Mode position object in the inspector. It will add a child game object to the AkAmbient game object and you can use normal transform tools to move it around. You can also use existing game objects by manually adding an AkAmbientLargeModePositioner component and then clicking Pick existing position object in the inspector. This mode is useful when a sound is coming from multiple positions at the same time; the sound of water in the middle of the ocean is a good example.
    • MultiPosition_Mode: This mode enables us to have only one instance of a sound for all instances of AkAmbient using the same Event in order to save memory. All AkAmbient instances that are using this mode and that have the same event will automatically get detected and the same sound instance will be used for all of them instead of loading the same sound multiple times.
      Note: All AkAmbient instances in this mode and with the same event will have the same trigger (see Trigger On in AkEvent). So, changing the trigger of one AkAmbient will automatically change the trigger of all the others with the same event.
  • Show Attenuation Sphere: Shows a sphere that defines the space where the sound played by an event can be heard. You will not, however, see it when you Play in Editor.
    For this to work you need to enable Max Attenuation in the SoundBank settings in your Wwise project (Project > Project Settings > Soundbanks > Max attenuation).
    • Dont_Show: No attenuation sphere is shown.
    • Current_Event_Only: Shows the attenuation spheres for all the sounds that would be played after a call to AkUnitySoundEngine.PostEvent while in the current mode.
      • If in Simple_Mode, then only the attenuation sphere of the sound coming from the game object is shown.
      • If in Large_Mode, then an attenuation sphere is shown for each point.
      • If in MultiPosition_Mode, then an attenuation sphere is shown for every other AkAmbient in MultiPosition_Mode with the same event.
    • All_Events: Shows the attenuation sphere of all AkAmbient instances in the scene.
  • Name: Click to select the Event from those already defined in WwiseProject > Events. To add a new Event, you can click the Create new 'Event' button within the Wwise Project Explorer's Events tab.
Note: For Large_Mode and MultiPosition_Mode position types, there are a few limitations that need to be taken into consideration. Sounds should not be triggered in Awake, since the call to AkUnitySoundEngine.SetMultiplePositions occurs later. These two multipositioning modes work for stationary objects. It is strongly recommended that the owning UnityEngine.GameObjects are set as static.
See also
  • Wwise SDK doc: Integration Details - 3D Positions
  • AK::SoundEngine::SetMultiplePositions
  • AK::SoundEngine::SetPosition
  • Wwise Help: Managing Events


Wwise Unity Integration Documentation: Using AkAudioListener from the Inspector

Using AkAudioListener from the Inspector
  • Is Default Listener: Sets the selected GameObject as the listener in relation to other GameObjects unless they override it. Typically, a Default Listener is applied to a central object such as a camera.
  • Override Attenuation Scaling Factor: Use a specified value for the Scaling Factor instead of the default value.
    • Attenuation Scaling Factor: Specifies the Attenuation Scaling Factor of the listener.
See also
  • Wwise SDK: Integrating Listeners in Wwise
  • Wwise-301: Audio Listener


Wwise Unity Integration Documentation: Using AkBank from the Inspector

Using AkBank from the Inspector
  • Load On: The moment the game should load the SoundBank. Click to select one or more of the following options:
    • Start: When the scene loads. This is the default setting and normal way to load SoundBanks.
    • Nothing: Default option from Unity, which should not be used.
    • Everything: Default option from Unity, which should not be used.
    • Awake: When the current game object becomes active.
    • Destroy: When the scene ends. Intended for unloading rather than loading a SoundBank.
    • AkTrigger options: There are multiple AkTrigger options. AkTriggerEnter, for example, could be applied so that when a player enters a room the SoundBank loads. Be aware of the risk of lag in sound should the SoundBank not be loaded when a room sound would be needed. See Wwise 301's Loading SoundBanks using Triggers for a more thorough overview of using Triggers to load SoundBanks.
  • Unload On: The moment the game should unload the SoundBank. Click to select one or more of the following options:
    • Start: When the scene loads. Intended for loading rather than unloading a SoundBank.
    • Nothing: Default option from Unity, which should not be used.
    • Everything: Default option from Unity, which should not be used.
    • Awake: When the current game object becomes active. Intended for loading rather than unloading a SoundBank.
    • Destroy: When the scene ends. This is the default setting and normal way to unload SoundBanks.
    • AkTrigger options: There are multiple AkTrigger options. AkTriggerExit, for example, could be applied so that when a player exits a room the SoundBank unloads.
  • Override Load Setting: Overrides the Load Bank Asynchronously setting in the Wwise Initialization Settings (Edit > Project Settings > Wwise Initialization). When enabled, the Load Bank Asynchronously setting is visible, which you can select to load this bank asynchronously.
  • Load Bank Asynchronously: Returns the LoadBank function call immediately, which indicates whether the load request is successfully queued, and allows other operations to be performed while the actual loading continues in the background. The synchronous version blocks the main processing thread waiting for the load to complete. Asynchronous calls are best for large SoundBanks which do not need to be loaded immediately.
    See also
    • The SDK reference doc for the asynchronous version of LoadBank
  • Decode compressed data (Deprecated): Decompresses all the SoundBank's Vorbis and Opus compressed files.
    See also
    • Wwise Help: About Audio Formats
    • Wwise SDK doc: Preparing Banks
    • AK::SoundEngine::PrepareBank
  • Save decoded bank: Stores the uncompressed files to disk so as to have them available to load more quickly after the SoundBank has been unloaded.
  • Name: Click to select the SoundBank from those already defined in WwiseProject > Banks. To add a new SoundBank, you can click the Create new 'SoundBank' button within the Wwise Project Explorer's SoundBanks tab.
See also
  • Wwise Help: Managing SoundBanks
    • Creating a SoundBank
  • Wwise-301: Managing SoundBanks in Unity


Wwise Unity Integration Documentation: Using AkEmitterObstructionOcclusion from the Inspector

Using AkEmitterObstructionOcclusion from the Inspector

Add an AkEmitterObstructionComponent to a GameObject to obstruct/occlude it from a listener if there is another object in the path between them.

When the emitter is obstructed or occluded, the AkEmitterObstructionOcclusion component will call SetObjectObstructionAndOcclusion() with a value of 1. Define the obstruction (Obstruction Volume, Obstruction LPF, and Obstruction HPF) and the occlusion curves (Occlusion Volume, Occlusion LPF, and Occlusion HPF) in your Wwise Project Settings.

When your map doesn't use spatial audio (that is, it doesn't have any AkRoom components), the AkEmitterObstructionOcclusion component will only use your Wwise-defined occlusion curves. Conversely, if your map uses spatial audio, then the GameObject will only use your Wwise-defined obstruction curves.

  • Fade Time: The number of seconds for fade ins and fade outs.
  • Layer Mask: Indicates which layers act as obstructers/occluders.
  • Max Distance: The maximum distance at which to perform obstruction/occlusion checks. A negative value will be interpreted as inifinite distance.
  • Refresh Interval: The number of seconds between obstruction/occlusion checks. If 0, obstruction/occlusion checking continues non-stop.
Note: Do not use AkEmitterObstructionOcclusion if using spatial audio diffraction.
See also
  • A. Emitter Obstruction/Occlusion
  • AK::SoundEngine::SetObjectObstructionAndOcclusion


Wwise Unity Integration Documentation: Using AkEnvironment and AkEnvironmentPortal from the Inspector

Using AkEnvironment and AkEnvironmentPortal from the Inspector

In the Unity integration, you can apply AkEnvironment and AkEnvironmentPortal components to game objects. You can then associate these components with an Auxiliary Bus that has a Wwise Effect to simulate environmental effects on sounds. This topic describes how to use these components to simulate reverb effects, although you can use the same principles to apply other types of effect.

Tip: Another way to implement reverb is to use Spatial Audio. See the following topics for more information:
  • Using AkRoom from the Inspector
  • AkReverbZone
  • Spatial Audio in Unity

The examples in this topic are available in the Using the WwiseDemoScene, which you can download through the Audiokinetic Launcher (see Unity).

Prerequisites

Review the following prerequisites before you add environment and environment portal components:

  • Before you can add environment and environment portal components to your Unity scene, you must create an Auxiliary Bus in Wwise Authoring, apply an effect to it, and generate SoundBanks. For information on busses, refer to Adding Busses in the Master-Mixer Hierarchy and Applying Effect ShareSets to Wwise objects.
  • To ensure that an AkEnvironment component can detect an emitter game object and that its signal is sent to the corresponding Auxiliary Bus, both the AkEnvironment and the actor to which the sound is posted (that is, the actor with the AkGameObj and AkEvent components) must contain colliders.
  • For a reverb effect, you can apply any of the reverb plug-ins to the bus:
    • Matrix Reverb
    • AK Convolution Reverb
    • RoomVerb

Adding AkEnvironment Components

An AkEnvironment component embodies a simple environment zone. You can attach an AkEnvironment component to any type of collider.

There are three ways to add AkEnvironment components to your scene: from the Wwise Picker, through the Add Component menu, or with C# scripts.

To add an AkEnvironment component from the Wwise Picker:

  1. In the Wwise Picker, locate the Auxiliary Bus that has the reverb effect you want to use.
  2. In Unity, select an object in the scene. The object properties are displayed in the Inspector.

  3. Drag the Auxiliary bus from the Wwise Picker to the Inspector.

    An AkEnvironment component is added to the object, named after the Auxiliary bus:

To add an AkEnvironment component from the menu:

  1. Select an object in the scene. The object properties are displayed in the Inspector.
  2. At the bottom of the Inspector, click Add Component > Wwise > AkEnvironment. An AkEnvironment component is added to the object.
  3. To select a different Auxiliary Bus, click the Name to open the Auxiliary Bus window. Then, either select a bus and click OK or double-click the desired bus. Alternatively, you can drag an Auxiliary Bus from the Wwise Picker to the current Auxiliary Bus's name.

To add an AkEnvironment component with a C# script:

  • Call AkUnitySoundEngine.SetGameObjectAuxSendValues() at any time.

AkEnvironment Component Properties

Only four AkEnvironment components can be active at the same time in a single scene or for a single AkGameObj.

The AkEnvironment component has the following properties, accessible in the Inspector:

  • Priority: Defines the priority of an environment. The smallest number (0) has the highest priority.
    If a game object is inside more than four environments, only the four environments with the highest priorities are active (if the Default and Exclude Others flags are not set).
  • Default: A default environment is active only if it is the only environment that contains your game object.
    If the game object is inside more than one default environment, only the one with the highest priority is active.
  • Exclude Others: An environment with this flag cannot be overlapped by other environments.
    If the game object is inside an environment with the Exclude Others flag, all other environments are discarded.
    If the game object is inside more than one environment with the Exclude Others flag, only the one with the highest priority is active.
  • Name: The name of the associated Auxiliary Bus.

Adding AkEnvironmentPortal Components

You can use portals to combine the effects of two environments. The contribution of each of the two environments is determined by their distance from the game object. This is useful if a game object stands between two rooms or is in a tunnel that connects two environments.

To add an environment portal to your project:

  1. In the Unity menu bar, click GameObject > Wwise > Environment Portal. An environment portal object is added to the project hierarchy.

AkEnvironmentPortal Component Properties

You can place an environment portal between two environments to combine their effects while your game object is inside the portal. The portal must intersect with both environments. The contribution of each environment is determined by its distance from the game object. The closer the game object is to an environment, the more that environment contributes to the final effect.

The AkEnvironmentPortal component has the following properties, accessible in the Inspector:

  • Environment #1: The portal automatically detects all environments that intersect the portal. The environments on the negative side of the portal (opposite the direction of the selected axis) are available in this drop-down menu.
  • Environment #2: The environments on the positive side of the portal (same direction as the chosen axis) are available in this drop-down menu.
  • Axis: The axis determines the relative contribution of each environment. For example, if the Z axis is selected, then movement along the X doesn't change the relative contribution of either environment. Only movement on the Z axis affects their contributions.
    Note: The axis is in object space. Therefore, rotating the portal also rotates the axis.

Using Environments and Environment Portals

To use environments and environment portals, you need a game object with an AkGameObj component that is environment-aware. AkEnvironmentPortal objects automatically detect overlapping AkEnvironment objects. The overlapping environments appear in the two select-lists in the portal's inspector:

If too many environments overlap the portal, you can select which ones the portal combines. Only four AkEnvironments can be active at the same time for a game object. In the case of environment portals, the four AkEnvironments are selected as follows:

  • The environments connected to a portal and that have the highest priority are selected until four are selected or until there are no more environments connected to a portal.
  • If there are fewer than four connected environments, any unconnected environments in the scene are connected according to the following criteria:
    • Environments with the highest priority are selected until the limit of four is reached (if the Default and Exclude Others flags are not set).
    • A Default environment is selected only if no other environments are selected.
    • If your game object is inside an environment with the Exclude Others flag, then it is selected and all other environments are discarded.
See also
  • Wwise SDK doc: Integrating Environments and Game-defined Auxiliary Sends
  • AK::SoundEngine::SetGameObjectAuxSendValues


Wwise Unity Integration Documentation: Using AkEvent from the Inspector

Using AkEvent from the Inspector
Note: AkAmbient builds on AkEvent by allowing multipositioning.
  • Trigger On: Provides a list of Unity events that can set this Wwise Event. You can choose more than one Unity event, in which case the field will display as "Mixed…". You are not limited to those events. You can set an Event at any time by calling AkUnitySoundEngine.PostEvent anywhere in your code. You can also code your own triggers, so they appear in the list for your co-workers. See Adding New Triggers for Wwise Events.
    • Action On Event: Enables users to override some Event parameters defined in Wwise directly from Unity. This allows the reuse of existing Events insted of creating new ones.
      Unchecked means you will post the Event. If you enable Action On Event, then you cannot enable Use Callback. See also the SDK documentation's entry for AK::SoundEngine::ExecuteActionOnEvent.
      • Action On Event Type: Overrides the Action type of the Event.
      • Curve Interpolation: Overrides the interpolation curve.
      • Fade Time: Overrides the sound's fade time.
    • Use Callback: Provides an easy way to make a game object react to an event callback. If you enable Action On Event, then you cannot enable Use Callback.
      • Game Object: The game object that will receive the callback. To select a game object, drag it from the hierarchy and drop it in the game object field.
      • Callback Function: This is the function that will get called by Game Object when the callback happens. To select a function, type its name in the Callback Function text field. For this to work, Game Object must define Callback Function in one of its components. The function must only receive one AkEventCallbackMsg argument.
      • Callback Flags: Select a flag which specifies when Callback Function will be called. More than one flag can be selected at the same time. See the AkCallbackType enumeration in the Wwise SDK documentation for more information about each flag.
      • Add: Creates a new callback.
  • Play / Stop: Can be used to preview the Wwise Event when in Edit mode.
  • Stop All: Stops all currently playing Wwise Events.
  • Name: Click to select the Event from those already defined in WwiseProject > States in the Wwise Picker. To add a new Event, you can click the Create new 'Event' button within the Wwise Project Explorer's Events tab.
See also
  • AK::SoundEngine::SetPosition
  • Wwise Help: Managing Events


Wwise Unity Integration Documentation: Using AkGameObj from the Inspector

Using AkGameObj from the Inspector

The AkGameObj component acts as a bridge between Unity game objects and Wwise objects. You can use an AkGameObj to track the position of a sound object in Unity and use it for game syncs such as Switches, RTPCs, and environmental values.

Any object that is passed to Wwise, including any object with an AkAudioListener, requires an AkGameObj. When you add such a component to a Unity Game Object in the Inspector, an AkGameObj is automatically added as well. All objects that have AkGameObj components are registered in Wwise and then unregistered according to the lifetime of the Unity object.

When using game-defined auxiliary sends, ensure that both the emitter (which has both AkGameObj and AkEvent components) and the AkEnvironment components have colliders. The colliders are necessary for the AkEnvironment component to detect the emitter game object and for its signal to be sent to the corresponding Auxiliary Bus.

  • Apply Position Offset: Applies a second Transform to the game object, to specify an audio calculation position different from the game object's actual position.
    • Position Offset: Moves the position of the game object's second Transform according to game units entered in each of the X (left-right), Y (up-down), and Z (front-back) fields.
    • Hide Main Transform: Removes the original Transform from view, so only the offset one is visible.
  • Environment Aware: Determines whether the audio of the game object is affected by the environment, rooms, and portals. When enabled, the AkGameObj must have a Rigidbody. This option only has an effect if selected before the scene plays.
    • Add Rigidbody: Creates a Rigidbody component on the game object.
  • Room Aware: Determines whether the audio of the game object is affected by AkRoom components. When using Spatial Audio, emitters and listeners must have AkRoomAwareObject components.
    • Add AkRoomAwareObject: Creates an AkRoomAwareObject component on the game object.
  • Attenuation Scaling Factor: The attenuation scaling factor of the game object, which adjusts audio attenuation for Unity.
  • Use Default Listeners: Default Listeners are typically applied to central objects, such as a camera. It listens to everything.
    • Add Listener: Specifies another listener entry. Click to open the Select AkAudioListener dialog, then select a game object that has an AkAudioListener.
      Note: You must have a listener. If you do not use the default listeners or specify another one, ensure that Automatically add Listener to Main Camera is selected in the the Wwise Integration settings (see Adjusting Unity Editor Settings).
  • Attenuation Scaling Factor: The Attenuation Scaling Factor of the game object.
See also
  • Using AkEnvironment and AkEnvironmentPortal from the Inspector
  • Integrating Listeners (SDK documentation)


Wwise Unity Integration Documentation: Using the Ak Listener Distance Probe Component to Customize Listeners in Third-Person Games

Using the Ak Listener Distance Probe Component to Customize Listeners in Third-Person Games
Note: Before proceeding with this example, refer to Working with Listeners in Third-Person Perspective Games for a general introduction to using Distance Probes in Wwise.

The following example assumes that you have a Unity project that is set up for a third-person perspective game. You must have a camera GameObject that will be used as the listener, and a player character or other GameObject that will be assigned as the Distance Probe. Note that by default, an Ak Audio Listener component is added automatically to the main camera.

  1. Navigate to the GameObject that will be assigned as the Distance Probe. In most cases, this will be the player character GameObject.
    1. Ensure that the Ak Game Obj component is attached to the GameObject. The component can be added by clicking Add Component in the Inspector and choosing Ak Game Obj.

  2. Navigate to the camera GameObject that is used as the listener.

    1. In the Inspector, click on Add Component. Select Ak Listener Distance Probe. If they do not already exist, both the Ak Audio Listener and Ak Game Obj scripts are automatically added to the GameObject.
    2. In the Inspector, navigate to the Ak Listener Distance Probe component. Click on the Distance Probe field to assign the Ak Game Obj that you want to use as the Distance Probe.
      • If the GameObject is not available in the selection menu, then it has not been assigned an Ak Game Obj component. See step 1.

You can now use the Wwise Authoring tool to connect to the game and confirm that the Distance Probe is set up correctly. Refer to Profiling the Distance Probe for details.


Wwise Unity Integration Documentation: Using AkState from the Inspector

Using AkState from the Inspector
  • Trigger On: Provides a list of Unity events that can trigger your State. You can choose more than one Unity event, in which case the field will display as "Mixed…". You are not limited to those events. You can trigger a State at any time by calling AkUnitySoundEngine.SetState anywhere in your code. You can also code your own triggers, so they appear in the list for your co-workers. See Adding New Triggers for Wwise Events.
  • Name: Click to select the State from those already defined in WwiseProject > States in the Wwise Picker. To add a new State, you can click the Create new 'State' button within the Wwise Project Explorer's Game Syncs tab.
See also
  • Working with States
    • Creating States
  • Wwise SDK doc: Integration Details - States
  • AkSoundEngine.SetState()


Wwise Unity Integration Documentation: Using AkSwitch from the Inspector

Using AkSwitch from the Inspector
  • Trigger On: Provides a list of Unity events that can trigger your Switch. You can choose more than one Unity event, in which case the field will display as "Mixed…". You are not limited to those events. You can trigger a Switch at any time by calling AkUnitySoundEngine.SetSwitch anywhere in your code. You can also code your own triggers, so they appear in the list for your co-workers. See Adding New Triggers for Wwise Events.
  • Use Other Object: This property is useful only when used with colliders. When enabled, the target of the Action will be the other colliding object. When disabled, it will be the current object.
  • Name: Click to select the Switch from those already defined in WwiseProject > Switches in the Wwise Picker. To add a new Switch, you can click the Create new 'Switch' button within the Wwise Project Explorer's SoundBanks tab.
See also
  • Footsteps demo
  • Working with Switches
    • Creating Switches
  • Wwise SDK doc: Integration Details - Switches
  • AkSoundEngine.SetSwitch()


Wwise Unity Integration Documentation: AkEarlyReflections from the Inspector

AkEarlyReflections from the Inspector

AkEarlyReflections is an optional component. This component will enable early reflections on all sounds emitted by the game object. It will call SetEarlyReflectionsAuxSend() and SetEarlyReflectionsVolume().

Early reflections can also be enabled per sound in the Sound Property Editor in the Authoring application. The Reflect Auxiliary Bus applied on the sound in the Authoring application will always take precedence over early reflections defined via an AkEarlyReflections component.

  • Reflections Aux Bus Set the early reflections auxiliary bus for the current game object. The component will call AK::SpatialAudio::SetEarlyReflectionsAuxSend() with the selected auxiliary bus. The auxiliary bus parameter applies to sounds playing on the game object which have not specified an early reflections auxiliary bus in the authoring tool. The early reflection auxiliary bus parameter specified on individual sounds takes priority over the value passed here.
  • Reflections Volume Set an early reflections send volume for the current game object. It will be used to control the volume of the early reflections send. The component will call AK:SpatialAudio::SetEarlyReflectionsVolume() with the entered volume value. The value is combined with the early reflections volume specified in the authoring tool, and is applied to all sounds playing on the game object. Valid values are [0, 1]. Setting the volume to 0 will disable all reflection processing for this game object.

This component also needs reflective surfaces. See the AkSurfaceReflector and Using AkSurfaceReflector from the Inspector for more details.


Wwise Unity Integration Documentation: AkRadialEmitter from the Inspector

AkRadialEmitter from the Inspector

This component adds an inner and outer radius to the game object to simulate a radial emitter. The sound's spread will automatically be calculated according to the inner and outer radius and the distance between the emitter and the listener. The distance used for applying attenuation curves is taken as the distance between the listener and the closest point on the inner radius sphere.

The component calls AK:SpatialAudio::SetGameObjectRadius() with the specified outer and inner radius values in the parameters.

Note: This feature only works with Spatial Audio, meaning there must be an AkSpatialAudioListener in the scene.
  • Outer Radius: Set the field to the desired outer radius size. The number set is sent directly to the spatial audio call without any transform. If gizmos are enabled and the current game object is selected, a yellow sphere is drawn around the game object's position to visualize the size entered.
  • Inner Radius: Set the field to the desired inner radius size. The size cannot be higher than the outer radius size. The number set is sent directly to the spatial audio call without any other transform. If gizmos are enabled and the current game object is selected, a yellow sphere is drawn around the game object's position to visualize the size entered.

If a game object with AkRadialEmitter is used with the AkAmbient component's Large_Mode position type, radii are added to all positions. The AkRadialEmitter also works with multipositioning.


Wwise Unity Integration Documentation: Using AkReverbZone from the Inspector

Using AkReverbZone from the Inspector

Sound propagates between the Reverb Zone and its parent Room as if it were the same Room without the need for a connecting Portal.

  • Reverb Zone: Click to select the AkRoom component to set as a Reverb Zone. If the AkReverbZone component is added to a game object with an AkRoom component, this property is automatically populated with that AkRoom component.
  • Parent Room: Click to select the AkRoom component to set as the Reverb Zone's parent. A parent Room can have multiple Reverb Zones, but a Reverb Zone can only have a single Parent. A Room cannot be its own parent. Leave this property set to None to attach the Reverb Zone to the automatically created 'Outdoors' Room.
  • Transition Zone Width: Set the slider to the desired transition zone width value between the Reverb Zone and its parent Room. The transition zone is centered around the Reverb Zone geometry. It only applies where triangle transmission loss is set to 0.
See also
  • AkRoom
  • AkRoomPortal


Wwise Unity Integration Documentation: Using AkRoom from the Inspector

Using AkRoom from the Inspector

Rooms are fundamental pieces of Spatial Audio, playing an important role in all Spatial Audio Concepts.

  • Reverb Aux Bus: Click to select the Auxiliary Bus from those already defined in WwiseProject > AuxiliaryBusses in the Wwise Picker. To add a new Auxiliary Bus, you can click the Create new 'Auxiliary Bus' button within the Wwise Project Explorer's Audio tab, after selecting an Audio Bus within the Master-Mixer Hierarchy.
  • Reverb Level: Set the slider or field directly as a multiplier (0, no aux send, to 1 with up to seven decimal positions) of the Volume for the Auxliary Sends of the Auxiliary Bus. If you had Auxiliary Busses set up for a large room and a small room, for example, you would likely decrease the level for the small room because the reverberations would be less noticible.
  • Transmission Loss: Set the slider or field (0 to 1) to the transmission loss value that you would like to associate with this room. Transmission loss is used to simulate the dissipation of energy as sounds travel though obstacles. The transmission loss value will use all the Transmission curves (Transmission Volume, Transmission LPF, and Transmission HPF) in your Project Settings to filter the sound. For example, a Transmission Loss of 0.75 corresponds to the 75% mark in the corresponding Transmission curve graphs' Transmission axis, which means -12.0 dB in the image below.
    Typically, lower transmission loss is appropriate for thin walls, while higher transmission loss is appropriate for thicker, more solid walls.
  • Priority: Sets the priority number of a room to be chosen for AK::SpatialAudio::SetGameObjectInRoom() when a game object is in more than one room. Note that the larger number is deemed the higher priority. For example, the room with Priority 2 would be used over the room with Priority l.

Room Tone

  • Trigger On: Provides a list of Unity events that can trigger your Wwise Event. You can choose more than one Unity event, in which case the field will display as "Mixed…". You are not limited to those events. You can trigger an Event at any time by calling AkUnitySoundEngine.PostEvent anywhere in your code. You can also code your own triggers, so they appear in the list for your co-workers. See Adding New Triggers for Wwise Events.
  • Room Tone Event: Click to select the Event from those already defined in WwiseProject > Events in the Wwise Picker. To add a new Event, you can click the Create new 'Event' button within the Wwise Project Explorer's Events tab. The selected Event will apply to the room game object.
  • Room Tone Aux Send: Set the slider or field directly as the send level for sounds posted on the room game object, where 0 disables the aux send and 1 sets it at full value.

The boundaries of a room are dictated by the collider on the same game object as the AkRoom component. Triggers with that collider will set other game objects in the room with AK::SpatialAudio::SetGameObjectInRoom().

Rooms can also transmit their wet sound through their walls. The shape of the room is defined by a bounding box ceated around its portals. Another way of specifying the shape of a room is by associating a geometry with the room. In Unity, a geometry can be automatically associated with a room depending on the collider shape or the presence of an AkSurfaceReflector component on the same game object.

The behavior is as follows:

  • If there is no AkSurfaceReflector component, and the collider is either a mesh, a box, a sphere, or a capsule, the AkRoom component will create a geometry to send to Spatial Audio from the collider's shape for room extent and visualization purposes only. In the case of the capsule, a box-shaped mesh will be sent. You can see this geometry in the Game Object 3D Viewer. It will appear as any other geometry, but with a specific color indicating it is a room.
  • If there is an enabled AkSurfaceReflector component, its ID is directly added to the AkRoomParams to associate its geometry to the room.
    Note: It is preferable that the AkSurfaceReflector component's mesh is similar to the room's collider. The room's collider is used to set game objects in the room. If both volumes are different, there will be a discrepancy between containment and room transmission. Also, the geometry that will be seen around the room in the Game Object 3D Viewer will be different than the volume where game objects are considered inside the room.
  • If neither of these two conditions are met, a warning will appear in the Inspector.

The result in Wwise is a bounding box constructed from the vertices of the associated geometry. This volume will influence spread. Outside of this volume, the room's wet transmission spread will be between 0 and 180 degrees. Inside the volume, it will reach 100%. This volume is called the room's extent. You can see it in the Game Object 3D Viewer by enabling Room Extent in the Game Object 3D Viewer Settings.

See also
  • Spatial Audio in Unity
    • Rooms and Portals Tutorial
      • B. Rooms
  • AkRoom
  • AkRoomParams
  • Rooms and Portal Documentation
  • Wwise Help: Defining environmental curves for your project
  • Transmission
  • Room Transmission


Wwise Unity Integration Documentation: Using AkRoomAwareObject from the Inspector

Using AkRoomAwareObject from the Inspector

Rigidbody

  • Interactions between GameObjects with the AkRoomAwareObject component and GameObjects with the AkRoom component need a Rigidbody component on at least one of them. Click on the Add Rigidbody button to add one.

Collider

  • GameObjects with the AkRoomAwareObject component need to have a collider component. It is necessary to identify the room that contains the GameObject and send that information to Spatial Audio with a call to the AK::SpatialAudio::SetGameObjectInRoom() function. As soon as the GameObject's collider overlaps with the AkRoom component's collider, the GameObject is set in the room (if the room has a higher priority than the current room the GameObject is in). Scale the GameObject's collider accordingly. We recommend scaling it to 0.
See also
  • Spatial Audio in Unity
    • Rooms and Portals Tutorial


Wwise Unity Integration Documentation: Using AkRoomPortal and AkRoomPortalObstruction from the Inspector

Using AkRoomPortal and AkRoomPortalObstruction from the Inspector

Portals play an important role in Spatial Audio. The Integration provides two Wwise components related to Portals: AkRoomPortal and the complementary and optional AkRoomPortalObstruction.

AkRoomPortal

  • Initial State: Sets the Portal to start in an open or closed state.
    • Open On: Provides a list of Unity events that open the Portal. You can choose more than one Unity event, in which case the field is displayed as "Mixed". You can also code your own triggers so they appear in the list for your co-workers. See Adding New Triggers for Wwise Events.
    • Close On: Provides a list of Unity events that close the Portal. You can choose more than one Unity event, in which case the field is displayed as "Mixed". You can also code your own triggers so they appear in the list for your co-workers. See Adding New Triggers for Wwise Events. Also see SDK doc: Using Rooms and Portals.
  • Back Room An AkRoomPortal connects two AkRoom Rooms. The Back Room is the highest priority, active and enabled Room on the negative side of the Portal (opposite the direction of the local Z axis). A disabled Room is not selected at runtime.
  • Front Room An AkRoomPortal connects two AkRoom Rooms. The Front Room is the highest priority, active and enabled Room on the positive side of the Portal (aligned with the direction of the local Z axis). A disabled Room is not selected at runtime.

AkRoomPortalObstruction

This is an optional component that applies obstruction to sounds that pass through a Portal when an object blocks the path between the Portal and the listener. If it is possible/desirable to add an AkSurfaceReflector with diffraction enabled to the blocking object, a more precise diffraction filtering can be achieved. See Using AkSurfaceReflector from the Inspector.

Obstructs the spatial audio portal of the current GameObject from the spatial audio listener, if at least one object is between them, through a call to SetPortalObstructionAndOcclusion(). When there is an object between the current GameObject and the spatial audio listener, this script will call SetObjectObstructionAndOcclusion() with an obstruction value of 1.

You can only add AkRoomPortalObstruction to GameObjects which already have an AkRoomPortal component. Also, there will be no obstruction if no spatial audio listener has been registered.

  • Fade Time: The number of seconds for fade ins and fade outs.
  • Layer Mask: Indicates which layers act as obstructers.
  • Max Distance: The maximum distance at which to perform obstruction. A negative value will be interpreted as inifinite distance.
  • Refresh Interval: The number of seconds between obstruction checks. If 0, obstruction checking continues non-stop.
Note:
  • Do not use AkRoomPortalObstruction if using spatial audio diffraction.
  • If you are using built-in game parameters to drive RTPCs, any obstruction values set on a Portal do not affect the RTPC values. This behavior is intentional and occurs because RTPCs only provide one value per game object, but a single game object can have multiple paths through different Portals, each with different obstruction values.
See also
  • A. Emitter Obstruction/Occlusion
  • Spatial Audio in Unity
    • Rooms and Portals Tutorial
      • C. Portals
  • Using the user-defined auxiliary sends
  • Using the game-defined auxiliary sends
  • Combining Rooms and Portals with Obstruction and Occlusion
  • AkPortalParams
  • SetPortalObstructionAndOcclusion()


Wwise Unity Integration Documentation: Using AkSpatialAudioDebugDraw from the Inspector

Using AkSpatialAudioDebugDraw from the Inspector
  • Draw First Order Reflections Draws lines for the reflections caused by hitting one surface.
  • Draw Second Order Reflections Draws lines for the reflections caused by sounds hitting two surfaces before reaching the listener.
  • Draw Higher Order Reflections Draws lines for the reflections caused by sounds hitting three or more surfaces before reaching the listener.
    Warning: The number of generated reflections grows exponentially with each order.
  • Draw Diffraction Paths Draws lines representing enabled geometric diffraction.
See also
  • Using the Geometry API for simulating diffraction
  • AK::SpatialAudio::SetReflectionsOrder
  • AkSpatialAudioInitSettings


Wwise Unity Integration Documentation: Using AkSpatialAudioListener from the Inspector

Using AkSpatialAudioListener from the Inspector

Add a Spatial Audio listener to use Spatial Audio in your game. The Integration will automatically add an AkAudioListener to the object if there isn't one already because the AkSpatialAudioListener requires one.

This is normally added to the Camera object or the Player object, but can be added to any game object.

As seen in the screenshot, the Integration warns you that Spatial Audio only supports one active AkSpatialAudioListener. Pay attention to where you apply it.

See also
  • Spatial Audio in Unity
    • 3. Unity Project Preparation


Wwise Unity Integration Documentation: Using AkSurfaceReflector from the Inspector

Using AkSurfaceReflector from the Inspector

This component sends geometry to Spatial Audio. This can be used for diffraction and transmission of sound propagation and, if you have the Wwise Reflect plug-in, for simluating early reflections.

  • Mesh The mesh to be used for early reflections, diffraction and/or transmission of the sound. If left to None, the mesh of the MeshFilter component of the GameObject will be used, if applicable.
  • Acoustic Textures Select an Acoustic Texture for each submesh from those already defined in WwiseProject > VirtualAcoustics in the Wwise Picker. To add a new Acoustic Texture, you can click the Create new 'Acoustic Texture' button within the Wwise Project Explorer's ShareSets tab, after selecting a work unit or folder within Virtual Acoustics. Leave to None to have an unfiltered early reflection.
  • Transmission Loss Values Select the transmission loss value of each submesh in a range from 0 to 1. Typically, a value of 1.0 represents full loss, and a value of 0.0 indicates that sound can be transmitted through the geometry without any filtering.
  • Enable Diffraction Sets geometric diffraction on the edges of the mesh.
  • Enable Diffraction On Boundary Edges Sets geometric diffraction on boundary edges. Boundary edges are edges that connect to only one triangle.
  • Associated Room (Deprecated) Associate this AkSurfaceReflector component with a Room. This property is deprecated and will be removed in a future version. We recommend not using it by leaving it set to None. Associating an AkSurfaceReflector with a particular Room limits the scope in which the geometry is accessible. Doing so reduces the search space for ray casting performed by reflection and diffraction calculations. When set to None, this geometry has a global scope. Note if one or more geometry sets are associated with a room, that room can no longer access geometry that is in the global scope.
See also
  • Spatial Audio in Unity
    • Surface Reflectors Tutorial
    • A. Surface Reflectors and Portals
  • Wwise Help: Wwise Reflect - Acoustic Textures
  • Wwise Help: Wwise Reflect - Working with Diffraction
  • Wwise SDK doc: Spatial Audio - Diffraction
  • AK::SpatialAudio::SetGeometry


Wwise Unity Integration Documentation: Adding New Triggers for Wwise Events

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)
{
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 AkUnitySoundEngine.PostEvent("GunHit", gameObject) and let the sound designer handle the effect of this Event in Wwise.

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


Wwise Unity Integration Documentation: Wwise Picker

Wwise Picker

The Wwise Picker window shows the available objects (such as Events and Switches) from your Wwise project, using the same structure. The project displayed in the Wwise Picker view is the same project that is entered in the Wwise Settings window (menu Edit > Project Settings > Wwise Integration). Normally, this project is specified when the Wwise plug-in was installed in Unity.

  • Features
    • Adding Audio to your Scenes with the Picker
    • Search and Navigation
    • Generating SoundBanks
    • Finding References in Scene
    • Auto Populate
    • Select in Wwise Picker
  • WAAPI Features
    • Synchronized Selection
    • Event Playback
    • Renaming Wwise Objects
    • Open Containing Folder
    • Open SoundBank Folder
    • Refreshing the Project
    • Connection Status

As of version 2021.1, the Wwise Picker has two modes: File System and Wwise Authoring. The mode can be changed using the menu in the upper-left corner of the picker window.

In File System mode, the available objects are updated in the Wwise Picker view when the Wwise project is saved. If you don't see objects that you created, it is probably because your project wasn't saved. You can force a refresh of the Wwise Picker view by clicking Refresh Project. Note that this also refreshes all Wwise-related data, including data found in the XML metadata files that are created when generating the SoundBanks.

Note: Do not keep AkWwiseProjectData.asset under version control! This is a temporary cache file for the Wwise project data, so as to avoid having the Wwise Picker continuously parse the Work Unit files. Adding it to version control could cause problems.
Note: It is necessary to specify the Wwise Windows Installation Path (or Wwise Application on the Mac) within the Wwise Settings dialog. Unity needs to use the Wwise path when clicking Generate SoundBanks in Unity.

In Wwise Authoring mode, the picker uses WAAPI to communicate with the open project in Wwise. In addition to the features available in File System mode, this mode provides the following functionality:

  • Available objects are immediately updated when they are modified in Wwise Authoring
  • Playback of sound Events from within the Picker
  • Synchronized selection between Unity and Wwise
  • Renaming and deletion of Wwise objects from within Unity.
Caution: The Wwise project must be open in Wwise Authoring and you must ensure that your WAAPI settings are properly configured for this mode to function properly. Refer to the WAAPI Utilities page for more information on setting up WAAPI for your project.

Features

The features described in the following sections are available in both the File System and Wwise Authoring modes.

Adding Audio to your Scenes with the Picker

To add any object from the Wwise Picker to your scene, drag the object onto an existing Game Object or into the Inspector window. Refer to each component's documentation for further details about the components:

  • Dragging and dropping an Event creates an AkAmbient.
  • Dragging and dropping a SoundBank creates an AkBank.
  • Dragging and dropping a Switch Value creates an AkSwitch.
  • Dragging and dropping a State Value creates an AkState.
  • Dragging and dropping an Aux Bus creates an AkEnvironment.

Search and Navigation

Use the filter box near the top of the Wwise Picker to search for a specific item. Simply write the name of the item you're looking for and the Picker will automatically filter the items that don't match your search.

You can expand and close items by clicking on the + and - buttons or by double-clicking the item's name. You can also select and expand items by using the keyboard's arrow keys.

You might need to expand some items if the one you're looking for has a closed parent.

Generating SoundBanks

Click Generate SoundBanks to generate all SoundBanks for all platforms and languages. The generated SoundBanks will appear under the Wwise Picker's SoundBanks folder, the same as if they were generated from within Wwise. Additionally, the Unity status bar will display one of the following messages:

  • WwiseUnity: SoundBanks generation successful, if there were no errors or warnings;
  • WwiseUnity: SoundBanks generation has warning(s) , if there were warnings ;
  • WwiseUnity: SoundBanks generation error, if there were errors. Click on the message to move focus to the Console tab, which displays information from the SoundBank generation process.

Finding References in Scene

When you right-click a Wwise object in the picker you can choose the option to find its references in the scene. This will add a custom search to the Hierarchy window that will isolate GameObjects containing a reference to the Wwise object. This can also be accomplished by selecting the item and pressing Shift + R.

Auto Populate

This option only appears in File System mode. When it is enabled, the picker will update its contents as soon as change is detected in Wwise project files (this is usually triggered by saving the project). If the option is disabled, you will have to click the Refresh Project button to update the picker contents.

Select in Wwise Picker

When you right-click a Wwise component referencing a Wwise Object, there is now a menu option to select it in the picker. This will highlight the referenced object in the picker window.

WAAPI Features

When in Wwise Authoring mode, modifications to the Wwise project are immediately reflected in the picker window. If you copy, rename, delete, or move an object in the Wwise Project Explorer, the contents of the Picker window will always correspond. There are also many additional features available when right clicking items in the picker window:

Synchronized Selection

The Autosync selection option lets you decide whether you want your selection to be synchronized across Unity and Wwise authoring. This can help ease the transition between programs as the last selected item will be the same.

Event Playback

You can right-click an event in the WAAPi Picker and choose to audition it. The same option also allows you to stop the Event that is currently playing, after it has been started.

Shortcuts: Space bar or a fast double click.

In case you lose track of which events are playing, you can right click any item in the picker and select Stop All.

Renaming Wwise Objects

You can rename Wwise objects within the picker window by selecting the option from the shortcut menu.

Shortcuts: F2 or a slow double click.

Note: It is not possible to rename Work Units or Physical Folders.

Open Containing Folder

The Open Containing Folder option in the shortcut menu opens the folder containing the Wwise object's Work Unit in the file explorer.

Shortcut: Ctrl + O

Open SoundBank Folder

If the selected item is a SoundBank, there will be an additional option to open the SoundBank folder. This will open the file explorer to the Generated SoundBanks folder of the currently active platform in Wwise Authoring.

Note: If you have not yet generated your SoundBanks this will likely open the root directory of your OS.

Refreshing the Project

In Wwise Authoring mode, clicking the Refresh button will clear the picker window refetch the project contents using WAAPI.

Connection Status

Connection status and any error messages resulting from unsuccessful WAAPI request will be displayed in the upper-right corner of the Wwise Picker Window.

For more information on setting up WAAPI for your project, refer to the WAAPI Utilities page. If WAAPI is enabled but the Unity project is not able to successfully open the websocket connnection, a specific error message will be displayed in the Wwise Picker window.

Connection error messages:

  • Connection refused
    • Caused by the project not being open.
    • Caused by the wrong port/IP address being specified in the Unity or Wwise WAAPI settings.
    • Caused by WAAPI being disabled in the Wwise Authoring User preferences
  • The wrong project is open in Wwise
    • Make sure you have opened the correct project
  • No project is open in Wwise yet
    • Make sure you have opened the project

Other error messages:

  • Cannot execute call because Wwise has an exclusive lock
    • Caused by a modal or settings window being open in Wwise Authoring.

After each failed connection, the Unity integration will attempt to reconnect after 2^N seconds, where N is the amount of failed connection attempts. This wait time will never exceed 32 seconds.


Wwise Unity Integration Documentation: Wwise Types

Wwise Types

Wwise Types are a collection of classes that represent core objects within Wwise, such as SoundBanks, Events, Game Parameters, States, and Switches. Each of these classes has an associated property drawer that allows users to easily select their required object. Wwise Types also include a support class that represents the callback flags that can be sent to the sound engine when posting Events.

Here is an example script that uses a few Wwise Types:

public class WwiseTypesExample : UnityEngine.MonoBehaviour
{
public AK.Wwise.Bank MyBank = null;
public AK.Wwise.Event MyEvent = null;
public AK.Wwise.RTPC MyRTPC = null;
public void Awake()
{
MyBank.Load();
}
public void Start()
{
MyEvent.Post(gameObject);
}
private float CalculateMyValue()
{
return (float)System.Math.Sin(System.Math.PI * UnityEngine.Time.timeSinceLevelLoad);
}
public void Update()
{
MyRTPC.SetValue(gameObject, CalculateMyValue());
}
}

The above script automatically generates the following inspector:

The following modifications can be made to the WwiseTypesExample class to use marker callbacks:

public AK.Wwise.CallbackFlags MyCallbackFlags = null;
public void Start()
{
MyEvent.Post(gameObject, MyCallbackFlags, EventCallback);
}
private void EventCallback(object cookie, AkCallbackType type, AkCallbackInfo info)
{
if (type == AkCallbackType.AK_Marker)
{
var markerInfo = info as AkMarkerCallbackInfo;
if (markerInfo != null)
{
// ...
}
}
}
AK.Wwise.RTPC
This type can be used to set game parameter values to the sound engine.
Definition: AkWwiseRtpc.cs:25
AK
Definition: AkWwiseAcousticTexture.cs:21
AK.Wwise.Event
This type can be used to post Events to the sound engine.
Definition: AkWwiseEvent.cs:29
AK.Wwise
Definition: AkWwiseAcousticTexture.cs:21
AK.Wwise.Bank
This type can be used to load/unload SoundBanks.
Definition: AkWwiseBank.cs:29
AK.Wwise.CallbackFlags
This type represents the values of the flags used when posting an Event with a callback.
Definition: AkWwiseCallbackFlags.cs:25


Wwise Unity Integration Documentation: Using C# Code to Control the Sound Engine

Using C# Code to Control the Sound Engine

Most Wwise SDK functions are available in Unity through the AkSoundEngine class. Think of it as the replacement of C++ namespaces AK::SoundEngine, AK::MusicEngine, and so on. See API Limitations for changes made in the API binding compared to the original SDK. For more complex situations, you'll need to call Wwise functions from code. In the API, the GameObjectID in all functions is replaced by the Unity flavor of the GameObject. At runtime, an AkGameObj component is automatically added to this GameObject, unless you have already manually added it before.

Using numeric IDs instead of strings for Events and Banks

The native Wwise API allows you to use strings or IDs to trigger events and other named objects in the Wwise project. You can still do this in the C# world by converting the file Wwise_IDs.h to Wwise_IDs.cs. Click Assets > Wwise > Convert Wwise SoundBank IDs. You need to have Python installed to make this work.

Sending MIDI to Wwise

MIDI can be sent to Wwise by filling the AkMIDIPost members of AkMIDIPostArray class and calling any of the following methods:

  • AkMIDIPostArray.PostOnEvent()
  • AkUnitySoundEngine.PostMIDIOnEvent()
  • AK.Wwise.Event.PostMIDI()

The following is a basic script that sends MIDI messages to the sound engine:

public class MyMIDIBehaviour : UnityEngine.MonoBehaviour
{
public AK.Wwise.Event SynthEvent;
private void Start()
{
AkMIDIPostArray MIDIPostArrayBuffer = new AkMIDIPostArray(6);
AkMIDIPost midiEvent = new AkMIDIPost();
midiEvent.byType = AkMIDIEventTypes.NOTE_ON;
midiEvent.byChan = 0;
midiEvent.byOnOffNote = 56;
midiEvent.byVelocity = 127;
midiEvent.uOffset = 0;
MIDIPostArrayBuffer[0] = midiEvent;
midiEvent.byOnOffNote = 60;
MIDIPostArrayBuffer[1] = midiEvent;
midiEvent.byOnOffNote = 64;
MIDIPostArrayBuffer[2] = midiEvent;
midiEvent.byType = AkMIDIEventTypes.NOTE_OFF;
midiEvent.byOnOffNote = 56;
midiEvent.byVelocity = 0;
midiEvent.uOffset = 48000 * 8;
MIDIPostArrayBuffer[3] = midiEvent;
midiEvent.byOnOffNote = 60;
MIDIPostArrayBuffer[4] = midiEvent;
midiEvent.byOnOffNote = 64;
MIDIPostArrayBuffer[5] = midiEvent;
SynthEvent.PostMIDI(gameObject, MIDIPostArrayBuffer);
}
}

Offline Rendering in Unity

The Unity integration exposes the offline rendering feature within the Wwise SDK and simplifies how audio samples can be retrieved.

Caution: Care must be taken to ensure that only the asynchronous AkUnitySoundEngine.LoadBank and AkUnitySoundEngine.UnloadBank APIs are used from the main thread when offline rendering is enabled. See Custom Scheduling of Audio Rendering for details.

AkUnitySoundEngine.StartDeviceCapture sets up a specific output audio device for capture so that the number of available samples can be determined by calling AkUnitySoundEngine.UpdateCaptureSampleCount and the audio samples can be retrieved by calling AkUnitySoundEngine.GetCaptureSamples.

The following example illustrates how to use the Unity integration to perform offline audio rendering in conjunction with Unity's screen capture functionality. With this functionality implemented, one can easily perform a multiplexing post-processing step to combine the captured audio samples and video frames into a movie.

public abstract class WwiseOfflineRenderer : UnityEngine.MonoBehaviour
{
public bool IsOfflineRendering { get; set; }
public bool StartWithOfflineRenderingEnabled = false;
private bool IsCurrentlyOfflineRendering = false;
public float FrameRate = 25.0f;
protected ulong OutputDeviceId = 0;
public abstract string GetUniqueScreenshotFileName(int frameCount);
public abstract void ProcessAudioSamples(float[] buffer);
protected void Start()
{
OutputDeviceId = AkUnitySoundEngine.GetOutputID(AkUnitySoundEngine.AK_INVALID_UNIQUE_ID, 0);
if (StartWithOfflineRenderingEnabled)
{
IsOfflineRendering = true;
Update();
}
}
private void LogAudioFormatInfo()
{
var sampleRate = AkUnitySoundEngine.GetSampleRate();
var channelConfig = new AkChannelConfig();
var audioSinkCapabilities = new Ak3DAudioSinkCapabilities();
AkUnitySoundEngine.GetOutputDeviceConfiguration(OutputDeviceId, channelConfig, audioSinkCapabilities);
UnityEngine.Debug.LogFormat("Sample Rate: {0}, Channels: {1}", sampleRate, channelConfig.uNumChannels);
}
protected void Update()
{
if (IsOfflineRendering != IsCurrentlyOfflineRendering)
{
IsCurrentlyOfflineRendering = IsOfflineRendering;
if (IsOfflineRendering)
{
#if UNITY_EDITOR
// Ensure that the editor update does not call AkUnitySoundEngine.RenderAudio().
AkSoundEngineController.Instance.DisableEditorLateUpdate();
#endif
LogAudioFormatInfo();
AkUnitySoundEngine.ClearCaptureData();
AkUnitySoundEngine.StartDeviceCapture(OutputDeviceId);
}
else
{
AkUnitySoundEngine.StopDeviceCapture(OutputDeviceId);
#if UNITY_EDITOR
// Bring back editor update calls to AkUnitySoundEngine.RenderAudio().
AkSoundEngineController.Instance.EnableEditorLateUpdate();
#endif
}
}
var frameTime = IsOfflineRendering && FrameRate != 0.0f ? 1.0f / FrameRate : 0.0f;
UnityEngine.Time.captureDeltaTime = frameTime;
AkUnitySoundEngine.SetOfflineRenderingFrameTime(frameTime);
AkUnitySoundEngine.SetOfflineRendering(IsOfflineRendering);
if (!IsOfflineRendering)
return;
UnityEngine.ScreenCapture.CaptureScreenshot(GetUniqueScreenshotFileName(UnityEngine.Time.frameCount));
var sampleCount = AkUnitySoundEngine.UpdateCaptureSampleCount(OutputDeviceId);
if (sampleCount <= 0)
return;
var buffer = new float[sampleCount];
var count = AkUnitySoundEngine.GetCaptureSamples(OutputDeviceId, buffer, (uint)buffer.Length);
if (count <= 0)
return;
ProcessAudioSamples(buffer);
}
}

Using the Audio Input Source Plug-in in Unity

The audio input source plug-in can be used via C# scripting. See Audio Input Source Plug-in from the Wwise SDK documentation.

The following is a basic script that sends a test tone to the audio input source plug-in:

public class MyAudioInputBehaviour : UnityEngine.MonoBehaviour
{
public AK.Wwise.Event AudioInputEvent;
public uint SampleRate = 48000;
public uint NumberOfChannels = 1;
public uint SampleIndex = 0;
public uint Frequency = 880;
private bool IsPlaying = true;
// Callback that fills audio samples - This function is called each frame for every channel.
bool AudioSamplesDelegate(uint playingID, uint channelIndex, float[] samples)
{
for (uint i = 0; i < samples.Length; ++i)
samples[i] = UnityEngine.Mathf.Sin(Frequency * 2 * UnityEngine.Mathf.PI * (i + SampleIndex) / SampleRate);
if (channelIndex == NumberOfChannels - 1)
SampleIndex = (uint)(SampleIndex + samples.Length) % SampleRate;
// Return false to indicate that there is no more data to provide. This will also stop the associated event.
return IsPlaying;
}
// Callback that sets the audio format - This function is called once before samples are requested.
void AudioFormatDelegate(uint playingID, AkAudioFormat audioFormat)
{
// Channel configuration and sample rate are the main parameters that need to be set.
audioFormat.channelConfig.uNumChannels = NumberOfChannels;
audioFormat.uSampleRate = SampleRate;
}
private void Start()
{
// The AudioInputEvent event, that is setup within Wwise to use the Audio Input plug-in, is posted on gameObject.
// AudioFormatDelegate is called once, and AudioSamplesDelegate is called once per frame until it returns false.
AkAudioInputManager.PostAudioInputEvent(AudioInputEvent, gameObject, AudioSamplesDelegate, AudioFormatDelegate);
}
// This method can be called by other scripts to stop the callback
public void StopSound()
{
IsPlaying = false;
}
private void OnDestroy()
{
AudioInputEvent.Stop(gameObject);
}
}

Apply Custom Positioning in Unity

By default, the AkGameObj component is attached to a specific Unity gameObject and uses its transform (with an optional offset) for full positioning. This is usually adequate for many games, such as first-person shooters. However, games with custom camera angles, such as many third-person games, may find it difficult to accommodate the two aspects of positioning (distance attenuation and spatialization) by simply attaching the audio listener to one game object, such as the main camera in Unity. Other games may want players to experience other custom positioning.

To this end, the AkGameObj component class provides overridable positioning to Unity users. Through the three virtual methods GetPosition(), GetForward(), and GetUpward(), users can derive a subclass from AkGameObj and use that subclass component to customize any number of Unity gameObjects' positioning.

Here is a simple example of how to use a custom component to override the default AkAudioListener behavior. With a third-person project integrated with Wwise, remove the existing AkAudioListener and its associated AkGameObj. Then attach the following script to the MainCamera object, attach AkAudioListener, and finally specify the target Unity gameObject (such as the player avatar) that the audio listener's position will follow. After this, the distance attenuation of all the emitters will rely on the selected target Unity gameObject's position as the listener position (an on-screen distance listener), while the orientation of all the emitters is still based on the main camera orientation as the listener orientation (an off-screen orientation listener).

#if ! (UNITY_DASHBOARD_WIDGET || UNITY_WEBPLAYER || UNITY_WII || UNITY_WIIU || UNITY_NACL || UNITY_FLASH || UNITY_BLACKBERRY) // Disable under unsupported platforms.
//
// Copyright (c) 2017 Audiokinetic Inc. / All Rights Reserved
//
using UnityEngine;
using System;
using System.Collections.Generic;
[AddComponentMenu ("Wwise/AkGameObj3rdPersonCam")]
[ExecuteInEditMode] //ExecuteInEditMode necessary to maintain proper state of isStaticObject.
public class AkGameObj3rdPersonCam : AkGameObj
{
public Transform target; // The position that this camera will be following. User can specify this to the player character's Unity gameObject in the Inspector.
// Sets the camera position to the player's position to handle distance attenuation.
public override Vector3 GetPosition ()
{
return target.GetComponent<AkGameObj> ().GetPosition ();
}
}
#endif // #if ! (UNITY_DASHBOARD_WIDGET || UNITY_WEBPLAYER || UNITY_WII || UNITY_WIIU || UNITY_NACL || UNITY_FLASH || UNITY_BLACKBERRY) // Disable under unsupported platforms.
AK
Definition: AkWwiseAcousticTexture.cs:21
AK.Wwise.Event
This type can be used to post Events to the sound engine.
Definition: AkWwiseEvent.cs:29
AkGameObj
This component represents a sound object in your scene and tracks its position and other game syncs s...
Definition: AkGameObj.cs:33
AK.Wwise
Definition: AkWwiseAcousticTexture.cs:21
AkGameObj.GetPosition
virtual UnityEngine.Vector3 GetPosition()
Definition: AkGameObj.cs:317


Wwise Unity Integration Documentation: Wwise Timeline Integration

Wwise Timeline Integration

Timeline is Unity's cinematic editing tool. It can be used to create gameplay sequences, audio sequences, and other cinematic content.

For more information on Timeline refer to Unity's Timeline documentation.

For instructions on how to create a Timeline Asset and Timeline instance, refer to Timeline Usage.

Note: As of Unity 2019.3, Timeline is now shipped through the Unity Package Manager. Should you wish to uninstall the Timeline package, please ensure to add the AK_DISABLE_TIMELINE Scripting Define Symbol to all of your platform's Player Settings.

Wwise Timeline Tracks

The Wwise Unity Integration adds two new Timeline tracks, the AkTimelineEventTrack and the AkTimelineRtpcTrack, and two deprecated Timeline tracks, the AkEventTrack and the AkRTPCTrack.

The AkTimelineEventTrack is used to post Wwise Events, and the AkTimelineRtpcTrack is used to set Game Parameter values. Both types of tracks can be added to a Timeline using the "Add" dropdown button or by right-clicking on the track header section of the Timeline window.

Adding AK tracks to Timeline
Note: The AkEventTrack and AkRTPCTrack tracks and their associated playables are only included to provide backward compatibility and should no longer be used.
Deprecated AkEventTrack

Ak Track Object Bindings

AkTimelineEventTracks and AkTimelineRtpcTracks have object bindings which can be set to any Game Object. The track binding, when explicitly set, specifies the target Game Object. If the track binding is not set (set to None), the track will target the Game Object that owns the Timeline (this is the Game Object that has a PlayableDirector component, which is used to trigger the Timeline). Events will be posted and RTPCs will modify this target GameObject.

Note: To reduce allocations at runtime, be sure to add an AkGameObj to any GameObject that will post events or have its RTPCs modified.

Wwise Timeline Playable Clips

The AkTimelineEventTrack and AkTimelineRtpcTrack tracks each hold corresponding clips: the AkTimelineEventPlayable clip and the AkTimelineRtpcPlayable clip, respectively. These can be added to a track using the track's menu or by right-clicking on the track.

Adding AK clips to AK tracks

Timeline Clip Properties

All clips in Timeline have timing properties that are displayed in the top portion of the inspector. For more information on these properties, refer to Clip Properties.

AkTimelineEventPlayable Clip Properties

The following properties are accessible from the inspector of an AkTimelineEventPlayable clip:

AkTimelineEventPlayable Clip Properties
  • Event: The Wwise Event that will be triggered by this clip.
  • Blend In Curve: The AkCurveInterpolation value used when posting the Event. This value only takes effect when the clip's Ease In Duration is greater than zero.
  • Blend Out Curve: The AkCurveInterpolation value used when stopping the Event. This value only takes effect when the clip's Ease Out Duration is greater than zero.
  • Use Wwise Event Duration: If checked, the Event will be triggered for its entire duration and will not be explicitly stopped via API calls, and the two following parameters will not be available.
  • Stop Event At End Of Clip: If checked, the Event will stop at the end of the clip with the stop API function being called at the appropriate time for the Blend Out Curve to take effect. If unchecked, the Blend Out Curve has no effect, and the Event will play until its duration elapses.
  • Loop: If checked and the clip's duration is longer than the Event's duration, the Event will be re-triggered every time it finishes playing before the end of the clip.

AkTimelineRtpcPlayable Clip Properties

The following properties are accessible from the inspector of an AkTimelineRtpcPlayable clip:

AkTimelineRtpcPlayable Clip Properties
  • RTPC: The Wwise Game Parameter that will be set on the GameObject associated with this track.
  • Set Globally: If this is checked, the RTPC will be set globally for all objects.
  • Animated Value: Value The value that will be animated by this clip.

AkTimelineRtpcPlayable Clip Curve

In order to begin animating the value of the RTPC sent to the track target, the following steps should be taken:

  1. Create the clip at the appropriate time with an appropriate duration.
  2. Arm the track for recording.
  3. Place the Timeline Playhead within the clip's region.
  4. In the Inspector for the clip, right-clicking on the Value, will bring up a context menu that will allow adding, removing and modification of Keys.
  5. With the first key added, double-clicking on the clip will bring up the Animation Window which allows for more precise editing of the curve and its keys.
Note: For more information on modifying animation curves in Timeline, refer to Record basic animation.
Arm for recording and display curve buttons
AkTimelineRtpcPlayable with recording armed and curve displayed

Known Issues & Limitations

Currently scrubbing is supported in Edit mode and Play mode in the Unity Editor. However, play back will not be available across assembly reloads.

Wwise Project Setup

To ensure that Event lengths are properly represented in the AkTimelineEventTracks, the Wwise project needs to be set up to estimate the duration of its audio Events and XML metadata must be generated. To enable these project-wide settings, go to the Project Settings' SoundBanks tab. Enable the Estimated duration check box within the Metadata Options group box and enable the Generate XML Metadata check box within the SoundBank Settings group box, as seen below.

Required Project Settings for AkTimelineEventTracks


Wwise Unity Integration Documentation: Build your Unity Game for a Target Platform

Build your Unity Game for a Target Platform

Building your Unity game for a target platform is now as simple as building your application using Unity's standard pipeline or a build script. Pre- and post-build steps that generate, copy, and delete SoundBanks can be enabled/disabled within the Edit > Project Settings > Wwise Integration.

Note: The Wwise Unity Integration does not support Unity Cloud Build.

Wwise plug-in deployment

The Unity build system automatically packages the Wwise plug-in with the game. By default, the Profile configuration of the plug-in is used. This is the most practical configuration for game development because it allows you to connect Wwise to your game for profiling. However, when you are ready to release your game, go to the Assets > Wwise > Activate Plugins menu to change your Wwise plug-in configuration to the Release option.

Note: Debug is only used for debugging specific issues with the sound engine, which is usually done with the assistance of Audiokinetic support.
See also
  • Platform-Specific Information

StreamingAssets folder

Unity normally creates a StreamingAssets folder (manually create one if it does not exist in your Unity project) in the Unity project's Assets folder, as shown here: <UNITY_PROJECT_ROOT>\Assets\StreamingAssets. Unity automatically deploys this folder's content to the target device. See Unity's StreamingAssets feature for details.

The default SoundBanks path, Audio\GeneratedSoundBanks, is found under the StreamingAssets folder. At the end of this path, Unity adds a folder for the current platform, as it was named in your Wwise project's Platform Manager. This gives a full final path of <UNITY_PROJECT_ROOT>\Assets\StreamingAssets\Audio\GeneratedSoundBanks\<YourPlatform>.

If necessary, you can modify the Base Path in the Common User Settings.

When running in the Unity editor, the SoundBanks path is always set to point to the Wwise project's GeneratedSoundBank path, which is defined in Wwise's Project Settings dialog. This way, when integrating sounds in your game in Windows or on a Mac, you can avoid bank deployment issues.

Deploying SoundBanks in single-platform projects

If you are working on a single platform title, instead of physically moving SoundBank files into the StreamingAssets folder, the SoundBank output path in a Wwise project can be set to the desired folder under the StreamingAssets folder so that the SoundBanks can be generated directly into the desired location. Using this method, be sure to disable the pre-build steps related to generating and copying SoundBanks within the Wwise Settings window.

Deploying SoundBanks in multi-platform projects

For productions that ship on multiple platforms, the pre-build steps can generate the SoundBanks and copy them over to the StreamingAssets folder before the binary is built, and then delete the SoundBanks in a post-build step to ensure that only SoundBanks for the target platforms are deployed.

Final implementations should be decided by game developers to accommodate the potential need for more elaborate management.

Handling multiple custom platforms for a reference platform

If, in your Wwise project, you have defined multiple versions of the same reference platform, such as an iPad and an iPhone platform targeting iOS, some more scripting will be needed. See Using Wwise Custom Platforms in Unity for more information.

Exclude SoundBank metadata

Wwise generates SoundBank metadata files, such as TXTs and XMLs. These files are always named SoundbanksInfo. They contain information about the SoundBanks to be used by your other pipeline tools, but are useless to the game. It is not necessary to copy them into your final StreamingAssets folder.


Wwise Unity Integration Documentation: Making DLCs with Wwise and Unity

Making DLCs with Wwise and Unity

Using Wwise File Packages

The default way to support DLCs with Wwise is to use file packages. This is explained in part in the Authoring documentation: Wwise > Help > Finishing Your Project > Managing File Packages > Downloadable Content Overview. The short explanation is that these packages can contain BNK and WEM replacement or additional files, and they can be loaded and unloaded at will to enable or disable the DLC. This package format is optional, but it is currently built-in the Wwise/Unity plug-in. If you want to write your own package format, you'll need to write a new Low-Level IO to replace the default one.

To use packages in Unity, you simply have to place them in the Base Path, the path where your banks are, as defined in AkInitializer's properties. Then call AkUnitySoundEngine.LoadFilePackage(). Wwise will always try to load files through the file packages first, in the reverse order (last added is the first searched).

This method will work on all platforms that allow you to write on disk, into your Base Path, after the game is shipped. This is unfortunately not the case with iOS and Android.

On Android and iOS, since all the data is bundled into a read-only file system, you will need to put your packages in a different directory. This is done by calling AkUnitySoundEngine.AddBasePath(), before AkUnitySoundEngine.LoadFilePackage(). You can add multiple paths, the last added will be searched first. Please check the appropriate Operating System documentation to find what are the restrictions. The code below is an example of code to select a path where you can store your files:

#if UNITY_IPHONE
string fileNameBase = Application.dataPath.Substring(0, Application.dataPath.LastIndexOf('/'));
fileName = fileNameBase.Substring(0, fileNameBase.LastIndexOf('/')) + "/Documents/" + FILE_NAME;
#elif UNITY_ANDROID
fileName = Application.persistentDataPath + "/" + FILE_NAME ;
#else
fileName = Application.dataPath + "/" + FILE_NAME;
#endif

Note that there are several other writable paths on Android, such as the SD card or similar storage devices.

Using Addressables

The Unity Addressables system can be used to package and distribute SoundBanks and streaming media files. For more information, consult the The Wwise Addressables Package for Unity page.

Streaming Banks Using UnityWebRequest

It is also possible to use the UnityWebRequest class from Unity to get your DLC audio files and load them directly. This is done through in-memory loading of banks, as demonstrated in AkMemBankLoader.cs. For older versions of Unity, AkMemBankLoader also loads banks with the (now obsolete) WWW class. If you are replacing existing banks with new ones, you must unload the previous banks first; the Wwise IO system would be unaware of that code so it can't determine if you're reloading the same bank by mistake or want to replace it.


Wwise Unity Integration Documentation: Build the Native Integration Plug-in from Source

Build the Native Integration Plug-in from Source

The Wwise-Unity integration is a thin layer of C# calling the native Wwise API. It comes pre-built for all platforms. In most cases, it is unnecessary to rebuild the Integration plug-in. However, if you have the source code, you may want to customize it to integrate custom changes to the native sound engine or to modify the C++ code that interfaces with the sound engine. This should be done by a programmer who has some C++ knowledge.

The procedure

  1. Install the Wwise SDK for the platforms you wish to build using the Audiokinetic Launcher. Make sure to logoff and login again.
  2. Locate the source zip for the operating system you are using (Windows or Mac), it is installed in your Unity project by the Launcher when you add the Wwise integration to it (the zip is post-fixed with _Src.zip).
  3. Locate the source zip for the platform you wish to build (if different from Windows or Mac).
  4. Verify the prerequisites for building the Integration. See Requirements for details.
  5. Unzip the source zips, all in the same folder. See Installing or Upgrading the Integration in a Unity Project for details.
  6. Launch the build process using one of these two methods: Build using console utility or Build using Integrated Development Environment (IDE).
  7. Wait until the build finishes. If the build succeeds, the plug-ins and API binding under the API/Runtime/Plugin folder will be updated or created if none existed before.

Notes

  • During the build, you can monitor warnings, errors, or critical messages, if any, by reading the detailed log messages found in the Build Log.

Requirements to build the Integration yourself:

Platform | Required Components
All platforms
  • Unity. See Unity QA - Long Term Support for the latest Unity versions.
  • Compatible Wwise SDK for your target platform(s). See Release Notes - Wwise Unity Integration 2024.1.5.
  • Compatible platform SDK for your target platform(s). Refer to Wwise SDK help (Section Reference Materials > Platform Requirements).
  • Python 3.9.x and up with Python executable folder in your system executable path.
Android
  • Android SDK: Minimum API 19 for 32 bits, Minimum API 21 for 64 bits.
  • Android NDK r25.
  • CMake: 3.16
  • Ninja: 1.12
  • The path to the Wwise SDK should not contain any white spaces.
  • The path to Unity project root should not contain any white spaces.
  • Environment variables:
    • ANDROID_HOME should point to the Android SDK root folder.
    • ANDROID_NDK_HOME should point to the Android NDK root folder.
    • NDKROOT should point to the Android NDK root folder.
iOS
  • Xcode 14 or above.
  • The Wwise SDK for iOS, and a WWISESDK environment variable pointing to it
Linux
  • Build-essential (sudo apt-get install build-essential)
  • The Wwise SDK for Linux, and a WWISESDK environment variable pointing to it
Mac
  • Xcode 14 or above.
  • The Wwise SDK for Mac, and a WWISESDK environment variable pointing to it
PS4 | Visual Studio 2019 or above.
Windows | Visual Studio 2019 or above.
Windows Store | Visual Studio 2019 or above.
Xbox One | Visual Studio 2019 or above.

How to install the source package

Unzip the source package. You can then rebuild and generate the content of the Integration using just the source package and a Wwise SDK installation for your target platforms. Optionally, you can merge the unzipped content under the Wwise folder with your imported Integration unity package in the Assets folder of your Unity project. However, this may generate unwanted intermediate files inside your Assets folder, which need to be cleaned up manually.

The folder structure of the installed Integration package

  • StreamingAssets: The folder used for automatic SoundBank deployment.
  • Wwise: The top-level folder.
    • API: The main Integration files used in your application.
      • Runtime: C++ to C# binding files. This is the translation of the native Wwise SDK.
      • Editor: Editor-only parts of the API.
      • Plug-ins: The Unity plug-in libraries of various configurations and debug symbol databases.
        • Platform
          • Architecture: Files shared by architectures of a multi-architecture platform.
            • Debug: The Debug version of the plug-in binaries. See Wwise plug-in deployment for details.
            • Profile: The Profile version of the plug-in binaries. See Wwise plug-in deployment for details.
            • Release: The Release version of the plug-in binaries. See Wwise plug-in deployment for details.
            • DSP: The Wwise plug-in Effects.
    • MonoBehaviour: The Unity component scripts that can be used directly and serve as examples for custom components.
    • Documentation: The full documents about the Integration.

The folder structure of the installed source package

  • Wwise: The top-level folder.
    • AkSoundEngine: The source code and IDE projects needed for building the Integration, organized by platforms.
      • Common: The source code and build scripts used by all supported platforms.
      • Platform: The IDE solution or project, the source code, and platform-specific build scripts for the target platform.
    • Integration/Assets/Wwise/API: The main Integration files used in your application.
      • Runtime: The root-level folder of the API binding.
        • Generated: API binding files generated during the SWIG binding step.
        • Handwritten: API binding files written by hand.
    • MonoBehaviour: The factory Unity component scripts that can be used directly and serve as examples for custom components.

Build using console utility

You can build the Integration from the command line using the build script located at Wwise\AkSoundEngine\Common\BuildWwiseUnityIntegration.py. This is useful for continuous integration. To see the usage and examples, assuming your current working directory is the parent folder of the script, type in a command console on your computer:

python BuildWwiseUnityIntegration.py -h

Build using Integrated Development Environment (IDE)

Located in the Wwise Unity Integration source package under:

WwiseUnityIntegration_version_platform_Src.zip\Wwise\AkSoundEngine\YourPlatform

the solution (or Xcode project) allows you to build the Integration for the target platform in a supported IDE.

Building for the Mac or iOS platform with Xcode

When building the integration from the command line, the WWISESDK path is provided to Xcode automatically based on the one set in the environment variable $WWISESDK or the one provided to the build script using the -w option. When using the Xcode IDE however, the WWISESDK path must be set manually. To do so, open the Xcode project for either Mac or iOS platform and choose the AkSoundEngine{platform} project in the project navigator. Select the Build Settings page. At the bottom of the page, a User-Defined section with the WWISESDK setting key is present. Fill the value of the setting with the path of the WWISESDK to build the integration against (ex: /Users/myUser/Wwise/SDK ).

Building for the Linux platform

A makefile previously generated by premake5 is included. To build the Linux plug-in from source, simply enter the following commands into a terminal:

  • cd <Integration source location>/AkUnitySoundEngine/Linux
  • make config=<config>

Where <config> is either debug_x64, profile_x64, or release_x64. The resulting plug-in will be located in <Integration source location>/API/Runtime/Plugins/Linux.

Deploy the new lib

The resulting binaries will be found in Wwise\API\Runtime\Plugins\[Platform]. If you haven't unzipped the sources in your Assets\Wwise directory, copy the new binaries from that folder to the corresponding folder in your project's Assets directory.

Under the hood

Prior to packaging the sources for building the integration code, we use SWIG to generate the API binding in the Unity for Wwise SDK. Most users will never need SWIG to work with Unity for Wwise. Even advanced users with access to the Wwise for Unity sources for building the integration code, which contains the converted APIs, do not need to install or use SWIG. The only exceptions to this are for integrating changes to the sound engine or modifying the C++ code that interfaces with it. In such rare cases, we recommend contacting support before proceeding.

The build process performs the following task:

  1. The Wwise SDK libraries are wrapped into a single library as the Unity plug-in, a dynamic library (.dll) on Windows, a loadable bundle (.bundle) on Mac OS X, a static library (.a) on iOS, or a shared library (.so) on Android. They are directly built into the Deployment folder. See Installing or Upgrading the Integration in a Unity Project for the folder structure.
See also
  • Platform-Specific Information
  • Build Log
  • Updating/Upgrading the Wwise Integration Package to a Newer Version When You Have Modified the Plug-in's C++ Code


Wwise Unity Integration Documentation: Build Log

Build Log

Warnings and error messages are displayed in the Unity Editor console and in the Build Log. The Build Log file contains more detailed messages created while building the Integration. The Build Log is stored in the following location:

UNITY_PROJECT_ROOT\Assets\Wwise\Logs\BuildWwiseUnityIntegration.log

The log messages are displayed in the following format:

Time: Message type: Source Code File name (Module name): Line number: Message body

Example:

2013-09-26 09:29:56,490: INFO: BuildWwiseUnityIntegration.py (WindowsBuilder): 91: Building: Windows (Win32, Debug) ...

The log file accumulates and rotates to a new file after an hour. You can modify the rotation behavior by configuring the BuildUtil.CreateLogger() function in the following file from the Wwise Unity Integration source package:

WwiseUnityIntegration_version_platform_Src.zip\Wwise\AkSoundEngine\Common\AkSoundEngine\Common\BuildUtil.py

Refer to the Python logging.handlers module for more information.

On certain platforms, additional log files may be generated by an IDE such as Visual Studio. The additional files are available under the same folder with the keyword IDE in their filenames.


Wwise Unity Integration Documentation: Updating/Upgrading the Wwise Integration Package to a Newer Version When You Have Modified the Plug-in's C++ Code

Updating/Upgrading the Wwise Integration Package to a Newer Version When You Have Modified the Plug-in's C++ Code
Warning: Recommendations
  • The Unity migration operation is not reversible. Make sure to back up your Unity project before you proceed.
  • If the Unity project is under source control, make sure to check out the whole Unity project folder before starting the migration. Otherwise, the migration will fail because it won't be able to modify the files successfully.
  • Before you install the Wwise integration, you need to make sure your Unity project is in a state where it can compile successfully without any errors. (Warnings are OK.)

This installation procedure assumes that you already have a Unity project containing a previous Wwise Integration package. For new installations, please refer to the Installing a Wwise Integration Package for the First Time page. Unlike other Unity plug-ins, you need to leave the previous Wwise Integration package installed in order to upgrade it to a newer version. The Launcher will install the new features and bug fixes, and then migrate the previous Wwise Integration to the newer version.

Warning: Do not delete the previous Wwise Integration before installing the new one as it will result in losing all the hard work you've done integrating Wwise audio in your game.

The upgrade is done in a 3-step process. First you need to update your Wwise project to the new version you wish to use and then you need to do the same with your Unity project.

Updating your Unity project to the new Wwise version

Update your Unity project to the new Wwise version using the Audiokinetic Launcher.

Updating your Wwise project to the new version

  1. Launch the Wwise version that matches the new Wwise Integration version you intend on using in Unity.
  2. Open your Wwise Project.
  3. Answer 'Yes' when prompted to update your Wwise project to the current version.
  4. Once completed, make sure to regenerate your Wwise SoundBanks to be ready to carry on with your work after updating the Unity project to the new Wwise version.
  5. Copy the generated SoundBanks to your Unity project's StreamingAssets folder.

Updating your C++ code modifications

  1. Install the updated Wwise SDK on your machine, for all your desired platforms.
  2. Locate the Unity Integration Source Code zips that were copied in your Unity project for all your desired platforms.
  3. Extract all the downloaded Unity Integration Source Code packages to the same directory
  4. Merge the modifications you have made to the Unity Integration Source Code into the updated location
  5. Compile the updated and merged integration source code


Wwise Unity Integration Documentation: Enter Play Mode Behaviors

Enter Play Mode Behaviors

Sound Engine initialization behavior changes when you use Enter Play Mode Settings. The relevant settings are "Reload Domain" and Load Sound Engine in Edit Mode.

Sound Engine Initialization
 | Reload Domain On | Reload Domain Off
Load Sound Engine in Edit Mode On | The Sound Engine is initialized when you enter Edit Mode and Play Mode and terminated when you exit Edit Mode and Play Mode | The Sound Engine is initialized when you enter Edit Mode or Play Mode and is never terminated.
Load Sound Engine in Edit Mode Off | The Sound Engine is initialized when you enter Play Mode and terminated when you exit Play Mode. | The Sound Engine is initialized when you enter Play Mode and terminated when you exit Play Mode.

Every AkGameObj is unregistered when the Sound Engine is disabled and is registered when needed.

Note:
  • To have a continuous Profiling Session in the Authoring with multiple enters and exits of Play Mode, Reload Domain must be off and Load Sound Engine in Edit Mode must be on.
  • If you skip scene reloading and use the "Awake" trigger on an AkType, there will be a discrepancy between the editor and the built game. When Reload Scene is off, we recommend that you use the "Start" trigger instead.

Refer to Configurable Enter Play Mode for more information.


Wwise Unity Integration Documentation: Known Issues and Limitations

Known Issues and Limitations

This page lists known issues and limitations in the Wwise Unity Integration. For platform-specific issues, see the relevant section under Platform-Specific Information.

Known Issues

Upgrading Wwise

Upgrading Wwise in a Unity project causes errors, notably "An infinite import loop has been detected". Make sure to update your Unity project to a supported version (see Release Notes - Wwise Unity Integration 2024.1.5).

Limitations

Unity Cloud Build

The Wwise Unity Integration does not support the Unity Cloud Build service.

Streaming Media with Addressables on tvOS

Avoid streaming media with Addressables on tvOS. It is not currently supported and the streamed media will not play.

API Limitations

The following features and functions of the native Wwise SDK are not supported, or their behaviors have been modified in the Integration (most recent change first):

  • Streaming sounds should not be done at the same time as level data is loaded from disk.
  • Several AK::SoundEngine::DynamicSequence API functions have different names in their Unity API bindings to compensate for the namespace-flattening side effects caused by SWIG. For example, AK::SoundEngine::DynamicSequence::Open() would have become AkUnitySoundEngine.Open() in the generated API. Instead, in the API binding its name is AkUnitySoundEngine.DynamicSequenceOpen().
  • C++ overloaded operators are renamed into functions in the Unity scripting language. For example, AkArray::operator[] becomes AkPlaylistArray.ItemAtIndex(uint uiIndex). This is done according to how SWIG handles C++ overloaded operators.
  • Unsupported APIs and components:
    • iOS audio input callback API
    • AkSpeakerVolumeMatrixCallbackInfo
    • AkSpeakerVolumeMatrixBusCallbackInfo
    • AkBusCallbackFunc
    • AK::SoundEngine::RegisterBusVolumeCallback
    • AK::SoundEngine::RegisterCodec
    • AK::SoundEngine::RegisterGlobalCallback
    • AK::SoundEngine::RegisterPlugin
    • AK::SoundEngine::Query::AkGameObjectsList
    • AK::SoundEngine::Query::GetActiveGameObjects()
    • AK::SoundEngine::Query::GameObjDst
    • AK::SoundEngine::Query::AkRadiusList
    • AK::SoundEngine::Query::GetMaxRadius(AkRadiusList& io_RadiusList)
    • All variants of AK::SoundEngine::DynamicDialogue::ResolveDialogueEvent that accept callbacks or event names


Wwise Unity Integration Documentation: Platform-Specific Information

Platform-Specific Information

The following pages contain platform-specific information.

Mac, iOS and tvOS

  • Mac/iOS/tvOS-Specific Information

Custom Platforms

  • Using Wwise Custom Platforms in Unity


Wwise Unity Integration Documentation: Mac/iOS/tvOS-Specific Information

Mac/iOS/tvOS-Specific Information

Building for iOS

To test your Unity application on an iOS device, you need to build your app and deploy it to the device. When you execute Build or Build and Run in the Unity Editor, Unity generates an Xcode project based on the Unity scripts.

UNITY_PROJECT_ROOT/Assets/Plugins/iOS

Unity does not yet support thumb instructions. Therefore, thumb instructions are disabled in the Xcode project.

Building for release

The Wwise Integration library, libAkUnitySoundEngine.a, normally contains all debug symbols, which makes the library very big. Make sure you strip the debug symbols by specifying the Stripping Level option in the Other Settings section of the (iOS) Player Settings. The integration usually adds between one and two MB to your game.

Audio Session Interruptions on iOS

The Unity Integration supports three audio session categories.

  • Solo Ambient (AkAudioSessionCategorySoloAmbient) (Default): When you use this category, audio from other apps is silenced. Your app's audio is also silenced by screen locking and by the Silent switch (called the Ring/Silent switch on the iPhone).
  • Ambient (AkAudioSessionCategoryAmbient): AmbientSound allows your app's audio to be mixed with other apps. Any audio interruptions, such as an incoming phone call, or playing music with the Music app using a remote control, will be mixed with your app's audio by default. However, you can specify route sounds and music to a special bus so that they get muted when user music plays and unmuted when user music stops. The muting and unmuting are done by the sound engine internally. You can still define the BGM (BackGround Music) callback to respond to user music behaviors for other useful tasks, such as updating a UI element to notify users of the user music playback status. Use AkCallbackManager.SetBGMCallback() to register that callback.
  • Play and Record (AkAudioSessionCategoryPlayAndRecord): This is used to enable playback and recording within the app where audio is of primary importance, such as a karaoke app, an audio streaming app, or an audio recording app.

Playing user music using the remote-control will trigger an interruption (under the SoloAmbient category) or the BGM event (under the Ambient category), however, stopping user music using the remote-control will trigger a BGM event under all categories. Again, the sound engine takes care of all the audio pipeline tasks regarding such events. The app can register a BGM callback to respond to these events if extra work is needed.

Note: The background and foreground switching is handled internally on iOS, no need to call Suspend and WakeupFromSuspend manually on this platform.

Refer to the Understanding Audio Sessions section in the Wwise SDK documentation for more information about these options.

See also
  • Making DLCs with Wwise and Unity
  • Mac, iOS and tvOS Release Notes


Wwise Unity Integration Documentation: Mac, iOS and tvOS Release Notes

Mac, iOS and tvOS Release Notes

The following pages contain information about the Mac, iOS and tvOS specific changes made to Wwise. If a version of Wwise does not appear in the following list, this means there were no Mac, iOS and tvOS specific changes in that version.

Mac, iOS, tvOS and visionOS 2024.1.5
Mac, iOS, tvOS and visionOS 2023.1.7
Mac, iOS, tvOS and visionOS 2023.1.3
Mac, iOS, tvOS and visionOS 2023.1.1
Mac, iOS, tvOS and visionOS 2022.1.12
Mac, iOS and tvOS 2022.1.5
Mac, iOS and tvOS 2022.1
Mac, iOS, tvOS and visionOS 2021.1.14
Mac, iOS and tvOS 2021.1.9
Mac, iOS and tvOS 2021.1.8
Mac, iOS and tvOS 2021.1.4
Mac, iOS and tvOS 2021.1.3
Mac, iOS and tvOS 2021.1.1
Mac, iOS and tvOS 2019.2.15
Mac, iOS and tvOS 2019.2.13
Mac, iOS and tvOS 2019.2.11


Wwise Unity Integration Documentation: Mac, iOS, tvOS and visionOS 2024.1.5

Mac, iOS, tvOS and visionOS 2024.1.5

The following sections list and describe the Mac, iOS, tvOS and visionOS specific changes for Wwise 2024.1.5.

  • New Features
  • Bug Fixes

New Features

  • WG-77468 Added support for Frameworks and .nro.

Bug Fixes

  • WG-77420 Fixed: Wrong plug-ins are packaged in game when the plug-ins used for the built platform differ from the Editor platform when building from a Mac Editor.


Wwise Unity Integration Documentation: Mac, iOS, tvOS and visionOS 2023.1.7

Mac, iOS, tvOS and visionOS 2023.1.7

The following sections list and describe the Mac, iOS, tvOS and visionOS specific changes for Wwise 2023.1.7.

  • Fixes for Community-Reported Bugs

Fixes for Community-Reported Bugs

  • WG-73124 Fixed: Crash on MacOS when quitting an application.


Wwise Unity Integration Documentation: Mac, iOS, tvOS and visionOS 2023.1.3

Mac, iOS, tvOS and visionOS 2023.1.3

The following sections list and describe the Mac, iOS, tvOS and visionOS specific changes for Wwise 2023.1.3.

  • New Features

New Features

  • WG-70349 Added support for iPhone and Apple TV simulators.
  • WG-71122 Added preliminary support for the visionOS platform.


Wwise Unity Integration Documentation: Mac, iOS, tvOS and visionOS 2023.1.1

Mac, iOS, tvOS and visionOS 2023.1.1

The following sections list and describe the Mac, iOS, tvOS and visionOS specific changes for Wwise 2023.1.1.

  • Bug Fixes

Bug Fixes

  • WG-69135 Fixed: Cannot package the Ak Channel Router plug-in.


Wwise Unity Integration Documentation: Mac, iOS, tvOS and visionOS 2022.1.12

Mac, iOS, tvOS and visionOS 2022.1.12

The following sections list and describe the Mac, iOS, tvOS and visionOS specific changes for Wwise 2022.1.12.

  • New Features

New Features

  • WG-70349 Added support for iPhone and Apple TV simulators.
  • WG-71122 Added preliminary support for the visionOS platform.


Wwise Unity Integration Documentation: Mac, iOS and tvOS 2022.1.5

Mac, iOS and tvOS 2022.1.5

The following sections list and describe the Mac, iOS and tvOS specific changes for Wwise 2022.1.5.

  • Fixes for Community-Reported Bugs

Fixes for Community-Reported Bugs

  • WG-65586 Fixed: Missing Bundle Identifier prevents submitting to the App Store.


Wwise Unity Integration Documentation: Mac, iOS and tvOS 2022.1

Mac, iOS and tvOS 2022.1

The following sections list and describe the Mac, iOS and tvOS specific changes for Wwise 2022.1.

  • Behavior Changes

Behavior Changes

  • WG-52303 iOS interruption handling has been redesigned to be more in line with Apple Human Interface Guidelines. Refer to the iOS/tvOS specific information page for more details.


Wwise Unity Integration Documentation: Mac, iOS, tvOS and visionOS 2021.1.14

Mac, iOS, tvOS and visionOS 2021.1.14

The following sections list and describe the Mac, iOS, tvOS and visionOS specific changes for Wwise 2021.1.14.

  • Fixes for Community-Reported Bugs

Fixes for Community-Reported Bugs

  • WG-66479 Fixed: Missing Bundle Identifier prevents submitting to the App Store.


Wwise Unity Integration Documentation: Mac, iOS and tvOS 2021.1.9

Mac, iOS and tvOS 2021.1.9

The following sections list and describe the Mac, iOS and tvOS specific changes for Wwise 2021.1.9.

  • Fixes for Community-Reported Bugs

Fixes for Community-Reported Bugs

  • WG-59213 Fixed: DllNotFoundException on M1 Macs using Unity 2021.2 or later.


Wwise Unity Integration Documentation: Mac, iOS and tvOS 2021.1.8

Mac, iOS and tvOS 2021.1.8

The following sections list and describe the Mac, iOS and tvOS specific changes for Wwise 2021.1.8.

  • Bug Fixes

Bug Fixes

  • WG-55735 Fixed: Spatial Audio Listener is missing from the mobile camera in the Unity Demo Game.


Wwise Unity Integration Documentation: Mac, iOS and tvOS 2021.1.4

Mac, iOS and tvOS 2021.1.4

The following sections list and describe the Mac, iOS and tvOS specific changes for Wwise 2021.1.4.

  • Fixes for Community-Reported Bugs

Fixes for Community-Reported Bugs

  • WG-55799 Fixed: AsyncHandle status is not checked to see if load operations have failed.


Wwise Unity Integration Documentation: Mac, iOS and tvOS 2021.1.3

Mac, iOS and tvOS 2021.1.3

The following sections list and describe the Mac, iOS and tvOS specific changes for Wwise 2021.1.3.

  • Bug Fixes

Bug Fixes

  • WG-55646 Fixed: Crash when initializing the Sound Engine with AkInitSettings::szPluginDLLPath set to an empty string.


Wwise Unity Integration Documentation: Mac, iOS and tvOS 2021.1.1

Mac, iOS and tvOS 2021.1.1

The following sections list and describe the Mac, iOS and tvOS specific changes for Wwise 2021.1.1.

  • Bug Fixes

Bug Fixes

  • WG-53337 Properly registering Resonance plug-in.


Wwise Unity Integration Documentation: Mac, iOS and tvOS 2019.2.15

Mac, iOS and tvOS 2019.2.15

The following sections list and describe the Mac, iOS and tvOS specific changes for Wwise 2019.2.15.

  • Fixes for Community-Reported Bugs

Fixes for Community-Reported Bugs

  • WG-59213 Fixed: DllNotFoundException on M1 Macs using Unity 2021.2 or later.


Wwise Unity Integration Documentation: Mac, iOS and tvOS 2019.2.13

Mac, iOS and tvOS 2019.2.13

The following sections list and describe the Mac, iOS and tvOS specific changes for Wwise 2019.2.13.

  • Bug Fixes

Bug Fixes

  • WG-55646 Fixed: Crash when initializing the Sound Engine with AkInitSettings::szPluginDLLPath set to an empty string.


Wwise Unity Integration Documentation: Mac, iOS and tvOS 2019.2.11

Mac, iOS and tvOS 2019.2.11

The following sections list and describe the Mac, iOS and tvOS specific changes for Wwise 2019.2.11.

  • Fixes for Community-Reported Bugs

Fixes for Community-Reported Bugs

  • WG-53337 Fixed: Resonance plug-in isn't registered properly.


Wwise Unity Integration Documentation: Using Wwise Custom Platforms in Unity

Using Wwise Custom Platforms in Unity

By default, the Wwise Unity Integration assumes the platforms defined in the associated Wwise project all have the default name. If you wish to give your platforms a custom name or define multiple custom platforms for a base platform, you will need to create a C# script to handle this.

Note: This page assumes that the subfolder in which your SoundBanks are generated has the same name as your platform. If this is not the case, note that the string returned by the GetPlatformName method is actually used as the in-game SoundBank subfolder name.

Custom platforms

The default platform resolving script can be found in the file <UNITY_PROJECT_ROOT>/Assets/Wwise/API/Runtime/Handwritten/Common/AkBasePathGetter.cs. As seen in the GetPlatformName() method, default names for all platforms are returned by this function. If you wish to use your own platform names, you will have to register a method to the GetCustomPlatformName delegate. It is recommended to use a static method called through the RuntimeInitializeOnLoadMethod attribute to register to the delegate.

Example

This example will only cover a use case for the iOS platform. In the example, you wish to have three different custom platforms for the iOS base platform: one for iPods, one for iPhones, and one for iPads.

  1. First, in the Wwise project, you will add three different platforms in the platform manager: "iPod", "iPhone", and "iPad". (For more information on the Platform Manager in Wwise, see the Wwise Help > Setting Up Your Projects > Managing Platforms section of the Wwise documentation).
  2. Then, in Unity, create a C# script that registers to the GetCustomPlatformName delegate. The contents of this file should be as follows:
    public partial class MyCustomBasePathGetter
    {
    [UnityEngine.RuntimeInitializeOnLoadMethod(UnityEngine.RuntimeInitializeLoadType.BeforeSceneLoad)]
    static void RegisterCustomPlatformName()
    {
    AkBasePathGetter.GetCustomPlatformName = GetCustomPlatformName;
    }
    static partial void GetCustomPlatformName(ref string platformName)
    {
    #if UNTIY_IOS
    switch(UnityEngine.iOS.Device.generation)
    {
    case UnityEngine.iOS.DeviceGeneration.iPodTouch1Gen:
    case UnityEngine.iOS.DeviceGeneration.iPodTouch2Gen:
    case UnityEngine.iOS.DeviceGeneration.iPodTouch3Gen:
    case UnityEngine.iOS.DeviceGeneration.iPodTouch4Gen:
    case UnityEngine.iOS.DeviceGeneration.iPodTouch5Gen:
    case UnityEngine.iOS.DeviceGeneration.iPodTouchUnknown:
    platformName = "iPod";
    break;
    case UnityEngine.iOS.DeviceGeneration.iPad1Gen:
    case UnityEngine.iOS.DeviceGeneration.iPad2Gen:
    case UnityEngine.iOS.DeviceGeneration.iPad3Gen:
    case UnityEngine.iOS.DeviceGeneration.iPadMini1Gen:
    case UnityEngine.iOS.DeviceGeneration.iPad4Gen:
    case UnityEngine.iOS.DeviceGeneration.iPadAir1:
    case UnityEngine.iOS.DeviceGeneration.iPadMini2Gen:
    case UnityEngine.iOS.DeviceGeneration.iPadMini3Gen:
    case UnityEngine.iOS.DeviceGeneration.iPadAir2:
    case UnityEngine.iOS.DeviceGeneration.iPadUnknown:
    platformName = "iPad";
    break;
    case UnityEngine.iOS.DeviceGeneration.iPhone:
    case UnityEngine.iOS.DeviceGeneration.iPhone3G:
    case UnityEngine.iOS.DeviceGeneration.iPhone3GS:
    case UnityEngine.iOS.DeviceGeneration.iPhone4:
    case UnityEngine.iOS.DeviceGeneration.iPhone4S:
    case UnityEngine.iOS.DeviceGeneration.iPhone5:
    case UnityEngine.iOS.DeviceGeneration.iPhone5C:
    case UnityEngine.iOS.DeviceGeneration.iPhone5S:
    case UnityEngine.iOS.DeviceGeneration.iPhone6:
    case UnityEngine.iOS.DeviceGeneration.iPhone6Plus:
    case UnityEngine.iOS.DeviceGeneration.iPhoneUnknown:
    default:
    platformName = "iPhone";
    break;
    }
    #endif
    }
    }
    Note: If platformName is left unmodified, the default platform name for the current active Unity platform will be used.
  3. Either, (a) create a C# that extends AkBuildPreprocessor or (b) create a C# script that uses the functionality within AkBuildPreprocessor. The contents of the file could be as follows:
    public class WwiseIOSBuildPreprocessor : IPreprocessBuild, IPostprocessBuild
    {
    public int callbackOrder { get { return 0; } }
    string iPodDestinationSoundBankFolder = string.Empty;
    string iPadDestinationSoundBankFolder = string.Empty;
    string iPhoneDestinationSoundBankFolder = string.Empty;
    public void OnPreprocessBuild(BuildTarget target, string path)
    {
    if (target == BuildTarget.iOS)
    {
    AkBuildPreprocessor.CopySoundbanks(true, "iPod", iPodDestinationSoundBankFolder);
    AkBuildPreprocessor.CopySoundbanks(true, "iPad", iPadDestinationSoundBankFolder);
    AkBuildPreprocessor.CopySoundbanks(true, "iPhone", iPhoneDestinationSoundBankFolder);
    }
    }
    public void OnPostprocessBuild(BuildTarget target, string path)
    {
    DeleteSoundbanks(iPodDestinationSoundBankFolder);
    DeleteSoundbanks(iPadDestinationSoundBankFolder);
    DeleteSoundbanks(iPhoneDestinationSoundBankFolder);
    }
    }
  4. Or in Wwise, generate the SoundBanks for all three platforms "iPhone", "iPod", and "iPad", and copy the three resulting folders to UNITY_PROJECT_ROOT/Assets/StreamingAssets/Audio/GeneratedSoundBanks.
  5. In Unity, build your game for the iOS platform.
  6. From now on, a different set of SoundBanks will be used depending on the type of device used.


Wwise Unity Integration Documentation: Wwise Demo Scene

Wwise Demo Scene

Demonstration scenes, containing the Wwise Unity Integration, are available to download. These simple scenes, created using Unity's standard assets, demonstrate how to use some of the Integration's basic features.

The Wwise Demo Scene is a standalone project, and provides an example of how to use the Wwise Unity Integration in the Unity Editor. It is not intended to be the foundation of a new Unity game.

Installing the Wwise Demo Scene

The Wwise Demo Scene is available to download through the Audiokinetic Launcher.

To install the Wwise Demo Scene:

  1. In the Audiokinetic Launcher, open the Unity tab.
  2. Select Download > Wwise Demo Scene, then select the desired version.
  3. Choose an installation directory. The WwiseUnityDemoScene project is installed, including the generated SoundBanks. The associated Wwise Project is located in the <DEMO_SCENE_ROOT>/WwiseProject directory.

Deployment

You can use the Wwise Demo Scene to test deployment to different platforms and devices.

To deploy a Wwise Demo Scene scene to a game console or mobile device:

  1. In the Audiokinetic Launcher, open the Unity tab.
  2. Next to the WwiseUnityDemoScene project, select Modify Wwise in Project. The Unity integration page opens.
  3. Add the desired Deployment Platforms and click Modify.
  4. After the modification is complete, open the updated version of the project in Unity.
  5. Generate the SoundBanks for the platform.
  6. Copy the GeneratedSoundBanks folder to the StreamingAssets/Audio folder.
  7. In Unity, build the scene for the desired platform, then deploy to the device.

The Unity Demo Scene contains two tutorials:

  • Using the WwiseDemoScene
  • Spatial Audio in Unity


Wwise Unity Integration Documentation: Using the WwiseDemoScene

Using the WwiseDemoScene

The WwiseDemoScene.unity scene is located in the <DEMO_SCENE_ROOT>/Assets/WwiseDemoScene folder.

This first-person 3D map contains "stations" along a path. For each station, there is a small description on a sign next to the station. For easy reference, each station's assets have been nested in the scene hierarchy.

Footsteps demo

The footpath, along with the first station, demonstrates how to use scripting and trigger volumes to create a footstep system.

In the Wwise Project, footsteps have been implemented in the recommended way: Random containers for each surface type, nested under a Switch Container. A footstep can be posted using the Footstep event, and the surface material is controlled with the "Footstep_material" Switch Group.

The scene's terrain has been painted with four different textures: grass, gravel, wood, and dirt. Walking around the different surface types changes the footstep sound accordingly.

To accomplish this, Box Colliders have been placed over each zone. Setting the Footstep_Material switch is then done simply by dragging a Switch Value from the Wwise Picker Window to a Box Collider. In order to set the switch on the First Person Controller when it enters the collider, we need to trigger the Ak Switch script on the "AkTriggerEnter" trigger, and make sure the "Use Other Object" check box is enabled (as seen in the Inspector Window).

A very rudimentary footstep script has been implemented, which simply posts the Footstep event every 0.3 seconds when the player is moving. This script has been attached to the First Person Controller. This illustrates a way to post an event to the Wwise SoundEngine via scripting.

Subtitle demo

This station illustrates how to create custom event triggers in Unity, as well as using event callbacks.

A simple button script contains a delegate to be run when the player is close enough to the button, and presses a key on the keyboard or controller. Another script, AkTriggerButtonPress, registers itself on that delegate, and then calls triggerDelegate from its parent class AkTriggerBase. Inheriting from AkTriggerBase allows the custom trigger to show up in the "trigger" list in Wwise Component Inspector windows (for example, the Ak Ambient attached to the button). For more information on custom triggers, see Adding New Triggers for Wwise Events.

The event starts playing a sound file containing WAV markers. Registering the marker callbacks associated with the event allows the updating of the subtitle on the panel. To achieve this, in the Ak Ambient's inspector, the "Use Callback" option was checked. Then the GameObject (SubtitleSign), containing a script (SubtitleDemo.cs), was dragged & dropped onto the "Game Object" box. The name of the Callback Function (MarkerCallback), to execute when the callback is triggered, was typed and "Marker" was chosen as the Callback Flags. Looking at SubtitleDemo's code, it can be seen that the Callback function is simply reading the subtitles from a pre-defined string array, using the MarkerCallback's uIdentifier field as an index. See Using AkAmbient from the Inspector for more information on callbacks.

AkWwiseTrigger demo

This station demonstrates how to play a music Stinger using the AkWwiseTrigger component in Unity. This demo differs from the trigger methods explained in the Subtitle demo. To understand how to implement music Stingers in your Wwise Project, refer to Using Stingers.

The Wwise Project includes two Music Segments in the Interactive Music Hierarchy. The first segment, MUS_RotTR_Cue2_Safe_4bars_85BPM, is a musical segment playing an orchestral piece over four bars while the second segment, MUS_RotTR_Cue2_Stinger_85BPM, is a dramatic musical cue. On the orchestral piece, the second Music Segment was linked to a Trigger called Stinger.

In Unity, the scene contains two buttons, one that triggers the music Event, the other launches the Stinger. In order to achieve the desired effect, the AkAmbient with the Event and the AkWwiseTrigger are associated with the PlayMusicButton because both components need to share the same Game Object. The TriggerButton contains a Button Script that has a reference to AkWwiseTrigger.HandleEvent, which allows it to play the sound associated with the Stinger.

A Music Stinger can only be played if the Music Segment assigned to it in the Wwise project has been previously called. Therefore, the TriggerButton only plays audible sounds if you press the PlayMusicButton first.

Warp Zones

The WwiseDemoScene and SpatialAudioScene contain simple Warp Zones. The player can step on Warp Zones to quickly travel between scenes.

Environment demo

This station demonstrates how to apply effects on sound within a zone in the scene. Two caves contain an EnvironmentZone (once again, a Box Collider is acting as a trigger) on which an AuxBus has been added (Dragged & Dropped from the Wwise Picker window).

In Wwise, two Auxiliary Busses have been created, each containing a different effect. Furthermore, the footsteps and the Little Sequence have "Use game-defined Auxiliary sends" checked.

When a Wwise event is posted from within the EnvironmentZone, its sound is routed to the AuxBus associated to the zone.

This station also demonstrates the Environment Portal component. This allows a spatial transition between two environments. The three buttons in this demonstration are used to illustrate how an Environment Portal affects the mixing of the Auxiliary Busses.

To create an environment portal, first create a Box Collider that touches two Ak Environments on one of its axes (in this demonstration, the portal touches the Red zone and the Blue zone on the 'z' axis). Then add the Ak Environment Portal component, and select the correct axis. The two environments, which will be mixed, will be automatically filled in.

For more information on Environments and Environment Portals, see Using AkEnvironment and AkEnvironmentPortal from the Inspector.

Timeline Demo

This station demonstrates the use of an AkEventTrack and an AkRTPCTrack within a Timeline in Unity. There are two cubes, which, when the button is pressed, are animated towards each other and stopped when they reach impact.

In order to inspect the Timeline, select Window->Timeline. Then in the Hierarchy, expand the TimelineDemo object, and then expand the Timeline Demo Button object. Then select the Button object. The Timeline editor will now show the Timeline that controls the animation and Wwise Events for the cubes. The Timeline is controlled by the Playable Director component of the Button object.

The Timeline contains two animation tracks, one for each cube. These tracks are used to animate the z position of each cube over time. The Timeline also contains an AkEventTrack and an AkRTPCTrack, marked by a white and red tab, respectively. The AkEventTrack contains two AkEventPlayable clips: the first triggers the PlayCubeMovement Wwise Event, and the next triggers the PlayImpact Wwise Event. The names of these Wwise Events are displayed in the clips. You may need to increase the size of the Timeline editor view and zoom in in order for the name to be displayed correctly. The PlayCubeMovement Wwise Event plays a sine wave source, which has an RTPC affecting its pitch. The name of this RTPC is CubeAcceleration. The AkRTPCTrack increases this RTPC over time as the cubes move towards each other. This causes the pitch of the sine wave to increase, producing a simple sound effect to indicate the acceleration of each cube towards the other.

This station also demonstrates the Motion feature. Note that there is a game object called "Motion listener" in the player hierarchy. This game object set up the output for the Motion device on supported platforms. Any output needs a set of listeners to receive data. That is why the Motion listener also have a Ak Game Object and a Ak Audio Listener. To enable the Motion effect on the cube impact, two important things needs to be done. First, the impact sound needs to be routed to an output bus using the Wwise Motion ShareSet in the Wwise project. Second, the listener used for the Motion output needs to be added to the listeners of the emitter posting the impact event. Inspect the AkMotionListener script for an example on how to add an output.

User-Defined Soundbank Demo

This station demonstrates how to use user-defined SounBanks in Unity.

The event is triggered in the same way as in the Subtitle demo.

However, in this demo, the event is part of a user-defined SoundBank. Because auto-defined SoundBanks are enabled in the Wwise Demo Scene, you must do the following things to use user-defined SoundBanks:

  • Add an AkBank component to the GameObject.
  • Select the Is In User Defined SoundBank option.

For more details about the differences between auto-defined and user-defined SoundBanks, refer to Understanding Auto-Defined and User-Defined SoundBanks.

Note: To support the Motion feature on android, the manifest of the application must include the vibration permission. Unity generates automatically the manifest based on the content of the application. Adding a call to Handheld.Vibrate() will add the desired permission in the manifest.

For more information on the Timeline integration, see Wwise Timeline Integration.


Wwise Unity Integration Documentation: Spatial Audio in Unity

Spatial Audio in Unity

This chapter gives an overview of how to use the Spatial Audio features of the Unity integration. It is broken down into:

  • A preparation page you need to follow before going to the tutorials:
    • Preparation for the Spatial Audio Tutorials
  • Two independent tutorials:
    • Surface Reflectors Tutorial
    • Rooms and Portals Tutorial
  • And supplementary pages addressing other spatial audio features:
    • Additional Spatial Audio Features
    • Obstruction and Occlusion
Note: Completion of sections using the Wwise Reflect plug-in require the appropriate license.
See also
  • Spatial Audio components
  • Spatial Audio SDK Documentation


Wwise Unity Integration Documentation: Preparation for the Spatial Audio Tutorials

Preparation for the Spatial Audio Tutorials

The following steps must be followed beforehand to successfully complete the Spatial Audio Tutorials :

  • 1. Create a Unity Project
  • 2. Wwise Project Preparation
  • 3. Unity Project Preparation
  • 4. Verify your Setup
Note: If you don't want to start a new project from scratch, you can download the Wwise Demo Scene from the Audiokinetic Launcher. It contains a scene called SpatialAudioTutorial, with all the steps from the tutorials. For more information, see Wwise Demo Scene.

1. Create a Unity Project

Using the latest version of Wwise and Unity, follow the steps below in order to build your working environment.

  1. Launch Unity and create a new project.
  2. Close Unity.
  3. Start the Audiokinetic Launcher and integrate Wwise into your Unity project.

2. Wwise Project Preparation

For the tutorials, you will need a Sound SFX, an Event to play it, and a SoundBank.

  1. From the Launcher, open your project in Wwise.
  2. Add a Sound SFX under the Actor Mixer Hierarchy's Default Work Unit.
    1. Import a sound into it.
    2. In the Sound Property Editor's
      1. General Settings tab, enable Use game-defined auxiliary sends.

        Sound Property Editor General Settings tab
      2. Positioning tab, enable Listener Relative Routing and select Position + Orientation for the 3D Spatialization. Add an Attenuation with a reasonnable Max Distance.

        Sound Property Editor Positioning tab
  3. Right-click on the Sound SFX within the Actor-Mixer Hierarchy, then select New Event > Play.

    Event Editor
  4. Go to the SoundBank layout (shortcut F7) and add a new SoundBank. Drag the Event into the new SoundBank.
  5. Save your project.

3. Unity Project Preparation

In this section we will create our game area and the objects in it. We will need a listener, emitters, and two rooms.

From the Launcher, open your project in Unity. Open the Wwise Picker (Windows > Wwise Picker), Refresh Project, and Generate SoundBanks.

Wwise Picker
  1. Create a character with the method of your choice.
    1. Remove any Unity Audio Source.
    2. Add an AkSpatialAudioListener component to the GameObject acting as your listener.
      AkSpatialAudioListener component
    3. Adding an AkSpatialAudioListener component will automatically create an AkAudioListener, AkRoomAwareObject and AkGameObj component.
      AkAudioListener component
      AkGameObj component
      AkRoomAwareObject component
      1. In the AkGameObj component,
        1. Uncheck the Environment Aware checkbox.
        2. Enable the Use Default Listener option.
      2. In the AkRoomAwareObject component you may see up to two warning messages. Since we are not yet using AkRoom components, you can ignore them for now. We'll come back to it in the Rooms and Portals Tutorial. You can disable the component if you are not planning to use AkRoom components at all in your game.
  2. Create a floor, a building with two rooms and an obstacle outside using your preferred method.
    In the SpatialAudioTutorial scene, we used a mesh for the building and cubes for the floor and obstacle ( GameObject > 3D Object > Cube ).

    SpatialAudioTutorial Scene
  3. Create emitters with the method of your choice. In the Wwise Unity Demo Scene, we created buttons using cylinders ( GameObject > 3D Object > Cylinder ). We added a button outside and inside each room.

    For each emitter:
    1. Add an AkAmbient component:
      1. Choose your preferred way to start the sound in Trigger On.
      2. Choose the Event in Name.
        AkAmbient component
    2. In the AkGameObj component (added automatically after adding an AkAmbient component):
      1. Enable the Use Default Listener option.
        AkGameObj component
    3. Add an AkBank component:
      1. Add the SoundBank created in the previous section to Name.
        AkBank component

4. Verify your Setup

  1. Start the game and connect it to Wwise,
    1. Open the Profiler layout (shortcut F6).
      1. Play the sound from a button. You should hear the sound you imported in the Wwise project.
      2. In the Voices Graph tab, you should see the following graph:
        Button Outside Voice Graph with no Effect
      3. In the Profiler settings, reachable from the gear icon in the top right corner of the Advanced Profiler view, make sure Spatial Audio is selected to be able to see Spatial Audio drawings in the Game Object 3D Viewer (next step).
        Profiler Settings
    2. Open the Game Object Profiler Layout (shortcut F12)
      1. In the Game Object 3D Viewer, you should see your game objects. Note that game objects that have not emitted yet won't appear in the viewer.
        Game Object 3D Viewer
  2. Save your Scene to a convenient place.


Wwise Unity Integration Documentation: Surface Reflectors Tutorial

Surface Reflectors Tutorial

In the following steps, this tutorial will show you how to use the Reflect plug-in with Spatial Audio in Unity. You will need a Reflect plug-in license to generate SoundBanks, but you can still try it out when connected to Wwise Authoring.

  • A. Wwise Project
  • B. Unity Project
  • C. Verify your Setup
Note: This tutorial presumes that you have completed the Preparation for the Spatial Audio Tutorials.

A. Wwise Project

We need to update our Wwise project with an Auxiliary Bus with the Reflect plug-in and Acoustic Textures.

  1. Import the factory assets to get access to an Auxiliary Bus preset and factory Acoustic Textures.
    1. Navigate to Project > Import Factory Assets...
    2. Choose Reflect and Acoustic Textures and press OK.
  2. Acoustic Textures are located in the Virtual Acoustics folder in the ShareSets tab of the Project Explorer view.
    Factory Reflect Acoustic Textures in the Project Explorer ShareSets tab
    1. (Optional) You can add custom Acoustic Textures in the Virtual Acoustics folder under Default Work Unit.
  3. Add an Auxiliary Bus for early reflections.
    1. Right-click on the Master Audio Bus, navigate to New Child > Presets and select Early Reflection Auxiliary Bus.
  4. Modify the Sound added in Preparation for the Spatial Audio Tutorials
    1. In the General Settings tab, add the newly created Auxiliary Bus with Reflect in the Early Reflections box.
      Specify the Reflect Auxiliary Bus in the General Settings tab of the Sound Property Editor
  5. Save your project.

B. Unity Project

You can simulate early reflections on surfaces with the AkSurfaceReflector component. One way is to add the surface reflector component to an existing mesh of the game. If the shape is too complex, too many triangles will be sent to the Spatial Audio API and this could slow down your game. In this case, you may add a different mesh in the AkSurfaceReflector component itself; a collision mesh, for example. Another way to add reflective surfaces is to create a new GameObject. In the scene provided by the Wwise Unity Demo Scene, new objects were used for surface reflectors. Since the rooms are cube shaped, we used cubes with no mesh renderer.

  1. Create a cube: GameObject > 3D Object > Cube
    1. Remove the Mesh Renderer component
    2. Check the Is Trigger in the Box Collider component
    3. add an AkSurfaceReflector component.
      1. The mesh parameter can be left to None if the mesh from a MeshFilter component is to be used. If not, the wanted mesh can be added here.
      2. In the Acoustic Textures array, choose an acoustic texture for each submesh (there is only one submesh for the cube) or leave it at None to have an unfiltered reflection.
      3. In the Transmission Loss Values array, you can set the transmission loss value of the surfaces of each submesh. These will be used to filter the sound going through the mesh. Refer to the D. Transmission section for further details.
      4. You can enable diffraction with the Enable Diffraction checkbox. Refer to E. Associate rooms to Surface Reflectors (Deprecated) for details.
      5. Lastly, leave Associated Room set to None. More details in the E. Associate rooms to Surface Reflectors (Deprecated) section.
        AkSurfaceReflector component
  2. The order of reflection is set in the AkWwiseInitializationSettings, under Spatial Audio Settings
    1. By default, the reflection Order is set to 1. You can set it up to 4.
      Spatial Audio Init Settings
  3. If you want to see reflections paths drawn into the scene, you can add the AkSpatialAudioDebugDraw component to an emitter.
    1. Tick the reflections orders you want to be drawn.
      AkSpatialAudioDebugDraw component

C. Verify your Setup

  1. In the Wwise Picker: Windows > Wwise Picker
    1. Generate SoundBanks
      Wwise Picker
  2. Start the game and play one of the emitters.
    1. Connect the game in Wwise and go to the Profiler Layout. You should see a similar graph:
      Voice Graph with Reflect Effect
    2. Double click on the highlighted Wwise Reflect under the Auxiliary Bus node in the graph to open the Reflect Effect Editor. When playing the sound, you should see the current reflections in the graph and the list. When there are two textures under the Texture(s) column, the reflection is a second order one.
      1. Here you can modify the attenuation curves of the reflections.
      2. If you don't see any reflections, make sure Max Distance is high enough compared to the reflection distance between the emitter and the listener.
        Reflect Effect Editor View
    3. Navigate to the Game Object Profiler Layout (shortcut F12)
      1. If not done already, make sure you enable Reflection Paths and Reflection Image Sources in the Game Object 3D Viewer Settings.
        Game Object 3D Viewer Settings for Reflect
      2. In the Game Object 3D Viewer, you should see surface reflectors and reflection paths between playing emitters and the spatial audio listener.
        Game Object 3D Viewer
Note: If you can't see any geometry in the Game Object 3D viewer, you may need to increase the Monitor Queue Pool Size in the Initialization Settings. Refer to the following page Adjusting Wwise Initialization Settings.
Note: Note that with a cube shaped surface reflector around the building, it is not possible to get any reflection paths from the emitters inside the building when the listener is outside, or vice versa, even if the emitters are playing. This is because the opening of the building is part of the reflective surface. This can be fixed by either only using the building's mesh as a surface reflector or by placing a portal around the opening. More on portals in the Rooms and Portals Tutorial.
See also
  • Spatial Audio components
  • Reflect Documentation
  • Using the Geometry API for Simulating Early Reflections


Wwise Unity Integration Documentation: Rooms and Portals Tutorial

Rooms and Portals Tutorial

This tutorial will show you how to use Rooms and Portals with Spatial Audio. The following sections detail each step in the tutorial:

  • A. Wwise Project
  • B. Rooms
  • C. Portals
  • D. Verify your Setup
  • E. Portals and Reverb
Note: This tutorial assumes that you have completed the Preparation for the Spatial Audio Tutorials. However, it does not consider if the Surface Reflectors Tutorial was done; both tutorials are independent. If you did the Surface Reflectors Tutorial and wish to continue with this tutorial, you can do so without changing anything to your scene. If you wish to start anew, and you've done the Surface Reflectors Tutorial, you can still keep the same scene.

A. Wwise Project

For this tutorial, we will need to add Reverb Effects and modify Diffraction curves to hear diffraction through a portal when loosing sight of an emitter.

  1. Add two Auxiliary Busses using the room preset.
    1. Right-click the Master Audio Bus, navigate to New Child > Presets and select Room Auxiliary Bus
    2. Under the Effects tab, choose different effects for each room. For example: Rooms/Room_Medium for the small room and Cathedrals/Medium for the large room.
      Auxiliary Bus Property Editor Effects tab for rooms
  2. Modify the Sound added in Preparation for the Spatial Audio Tutorials
    1. In the Positioning tab, make sure diffraction and transmission are enabled.
      Enable Diffraction and Transmission in the Positioning tab of the Sound Property Editor
  3. Navigate to Project > Project Settings > Environmental Curves
    1. Change the Diffraction curves to your liking. For example, this is what is used in the Wwise Unity Demo scene project:
      Curve | Point 1 | Point 2 | Curve Type
      X | Y | X | Y
      Diffraction Volume | 0 | 0 | 100 | -3 | Linear
      Diffraction LPF | 0 | 0 | 100 | 60 | Linear
      Transmission Volume | 0 | 0 | 100 | -12 | Sine (Constant Power Fade In)
      Transmission LPF | 0 | 0 | 100 | 75 | Sine (Constant Power Fade Out)
    2. Here's how the Diffraction Volume curve looks like:
      Environmental Curves in the Project Settings
  4. Save your project.
  5. In the Unity project, refresh the banks in the Wwise Picker: Windows > Wwise Picker
    1. Generate SoundBanks
      Wwise Picker

B. Rooms

We need to specify where our rooms are in the scene. To do so, we will use the AkRoom component.

  1. In the tutorial scene in Wwise Unity Demo Scene, we added cube meshes representing the interior of each room in the building. If you are coming from the Surface Reflectors Tutorial, you can use the GameObjects with AkSurfaceReflector components.
    1. Add a cube with GameObject > 3D Object > Cube
    2. Remove the Mesh Renderer component.
    3. Check the Is Trigger in the Box Collider component.
    4. Add an AkRoom component.
      1. Pick the corresponding Auxiliary Bus for Reverb Aux Bus.
      2. A warning message will suggest that you add a Rigidbody component to the room. Notice that this will enable interactions between AkRoom components and AkRoomAwareObject components. The next step will help you add those components.
        AkRoom component
  2. Since we are using rooms, we need to make all of our listener and emitters "Room Aware" by adding the AkRoomAwareObject component.
    1. There already was an AkRoomAwareObject component added automatically to the Spatial Audio listener, make sure that component is enabled.
      AkRoomAwareObject component
    2. Like shown in the image above, you may have two warning messages.
      1. The first tells you a Rigidbody component needs to be placed either on the room or the current object. If you didn't add one on the room already, click on Add Rigidbody.
      2. The second warning message is about colliders. Every AkRoomAwareObject need to have a collider to interact with AkRoom components.

C. Portals

When a listener is in a different room than the emitter, the sound is blocked by the "room's walls". You can set a transmission loss value to them (see /ref pg_obs_occ). Otherwise, you need to add portals to have direct sound propagation from desired openings. In the SpatialAudioTutorial scene, there are two openings where we could put portals: one on the opening between the outside area and the small Room and one between both Rooms.

  1. Create two AkRoomPortal components: GameObject > Wwise > Room Portal and place them around the openings.
  2. In the Scene window, a Portal is represented with a yellow ribbon around it indicating its size and the orientation in which it should be placed. The red line shows the separation between front and back areas of the Portal. The front is in the same direction as the local z axis.
    AkRoomPortal in the Scene window
  3. In the AkRoomPortal component:
    1. Open On Start.
    2. Close On Nothing.
    3. Make sure that the Back Room and Front Room display the right AkRoom components.
  4. This is how the AkRoomPortal component of the portal between the small room and outside will look like:
    AkRoomPortal component

D. Verify your Setup

  1. If you want to see the sound propagation paths drawn into the scene, you can add the AkSpatialAudioDebugDraw component to an emitter.
    1. Tick the Draw Diffraction Paths option.
      AkSpatialAudioDebugDraw component
  2. Start the game and connect to Wwise.
    1. Press the button in one of the rooms to hear the reverb.
      1. The voice graph should look like this:
        Voice Graph with Rooms
    2. Go out of the room and move in and out of sight of the playing emitter that is in a different room to hear the diffraction applied on the sound. You will hear more or less diffraction depending on the angle of the listener vs. the portal.
      1. In the Unity Scene window, you should see paths indicating the sound coming from the portals. The percentage of diffraction applied to the sound is displayed at the point of diffraction.
        Top view of diffraction paths through a portal
    3. Open the Game Object Profiler layout of the Authoring (shortcut F12)
      1. If not done already, make sure you enable Diffraction Paths in the Game Object 3D Viewer Settings.
        Game Object 3D Viewer Settings for Portal diffraction paths
    4. In the Game Object 3D Viewer, you should see:
      1. a visualization of the rooms and portals.
      2. diffraction paths from the emitter to the listener going through portals. A diffraction percentage is shown at each edge. Notice the apparition of a virtual source in green showing where the sound is actually coming from.
      3. transmission paths going through room walls with the percentage of transmission loss.
      4. Icons in the form of a house showing the wet sound of the room. In the image, there is one coming out of portals and one representing the sound going through the walls of the room.
      5. Each emitter/listener shows their respective room under their name. The listener is not in a room, so it is put by default in the "Outdoors" room.
        1. Move the listener to a room and see the room name change under the listener game object in the Game Object 3D Viewer.
          Diffraction paths through a portal in the Game Object 3D Viewer
Note: To add a reverb outside, add a Room around the entire area. Make sure that the Room has a lower priority than the other AkRoom components of your scene.

E. Portals and Reverb

Sound emitted through Portals can also use the reverb from the Room the listener is in. We call this Room Coupling.

  1. Open the a room's Auxiliary Bus Property Editor and make sure Use game-defined auxiliary sends is checked in the General Settings tab. This sends the room's reverb to other reverbs in the scene.
  2. When playing the small room emitter, and going into the large room, you will see the small room's reverb feeding into the large room's reverb.
    Room Coupling in the Voice Graph
Note:

The Wwise Unity Demo Scene, implements both the Surface Reflectors Tutorial and the Rooms and Portals Tutorial as well as diffraction. Head over to Additional Spatial Audio Features for more information.

See also
  • Room Coupling

F. Room Tones

Sometimes, rooms have a specific ambient sound like the buzzing sound of air conditioning. To recreate this, you can post an event on the Spatial Audio Room game object. When the listener will be in the room, the sound will be positioned at the location of the listener. When in a different room, the listener will hear the room tone from the portals connecting the room to the position of the listener.

  1. In the Wwise project,
    1. Create new Sound SFX for the room tone.
      1. Make sure you enable game-defined aux sends to send the room tone to the room reverb.
    2. Create a play event with the room tone by right-clicking on the Sound SFX, then selecting New Event > Play.
    3. Save your project.
  2. In Unity,
    1. Add this event to the Room Tone Event parameter, of the AkRoom component, of one of your rooms.
      1. Adjust the Aux Send Level to feed some of the sound to the reverb of the room.
      2. You can select how the event will be triggered.
        The AkEvent section of a Spatial Audio Volume with Room enabled.
  3. Generate SoundBanks.
  4. Start the scene and connect to Wwise Authoring.
  5. Verify that you can hear the room tone.
    1. In the Advanced Profiler view, you should see the event being played.
      Advanced Profiler view when the listener is in a room with a room tone
    2. In the 3D Game Object Viewer, you can watch the room game object as you move the listener around.
      1. If the listener is in the room, the room will emit at the position of the listener. You will see the room game object follow the listener game object.
      2. If the listener is in a different room, the room game object will be placed at the portal and a path will be drawn between it and the listener game object.
        Watch the room game object in the Game Object 3D Viewer
See also
  • Spatial Audio components
  • Spatial Audio Rooms and Portals Documentation


Wwise Unity Integration Documentation: Additional Spatial Audio Features

Additional Spatial Audio Features
  • A. Surface Reflectors and Portals
  • B. Surface Reflectors and Reverb
  • C. Diffraction
  • D. Transmission
  • E. Associate rooms to Surface Reflectors (Deprecated)
Note: This page assumes you have already completed the Preparation for the Spatial Audio Tutorials as well as both Surface Reflectors Tutorial and Rooms and Portals Tutorial.

A. Surface Reflectors and Portals

Just like portals will open up a room area to let the sound propagate through it, it will also do the same through a reflective surface. At the end of the Surface Reflectors Tutorial, we noticed that reflections were occuring on openings of our mesh if we used simple cubes as surface reflectors. To fix this problem, Spatial Audio Portals are also aware of reflection paths and let them pass through. Reflection paths will even diffract on the borders of a portal.

  1. Setup is simple, just placing a portal through a room and a surface reflector should do the trick.
    Reflection paths going through a Portal in the Game Object 3D Viewer

B. Surface Reflectors and Reverb

In a Room with late reverb, it is possible to feed early reflections into the reverb to make it more geometry aware.

  1. In the Wwise project, open the Auxiliary Bus with the Reflect Effect applied to it.
    1. In the General Settings tab, make sure Use game-defined auxiliary sends is checked.
      Auxiliary Bus Property Editor General Settings tab to send early reflection to the room reverb
  2. Play the scene and press the button in the small Room. With the player in the small Room, here is the Voices Graph we see:
    Early reflections in the small room are sent to the small room's reverb in the Voices Graph

C. Diffraction

When an object appears between the emitter and the listener, Spatial Audio can create diffraction paths that will go around the object. Depending on the angle of the path around an edge, the sound will be attenuated to simulate obstruction. You can enable diffraction per Sound and per Surface Reflector. An emitter emitting diffraction enabled sound will only diffract off a diffraction enabled reflective surface.

  1. Enable diffraction on the Sound:
    • In the Positioning tab, make sure the Diffraction and Transmission option is selected.
      Enable Diffraction on the Sound
  2. Adjust the diffraction curves in the sound's attenuation, or in the Project Settings. The diffraction curves in the Project Settings are used if the attenuation curves are set to "Use Project Diffraction", or if the sound doesn't have an attenuation.
    Diffraction curves in the Attenuation Editor
    Diffraction curves in the Project Settings
    See also
  3. Enabling diffraction on an AkSurfaceReflector component:
    1. Check Enable Diffraction. This will generate diffraction edges on the geometry sent to Wwise Spatial Audio. The diffraction edges will be visible in the game object viewer when Wwise is connected to the game.
    2. You may also want to check Enable Diffraction On Boundary Edges. This checkbox appears when the previous checkbox is checked. Boundary edges are edges that are connected to only one triangle. For example, edges around the Unity Quad 3D Object would be considered boundary edges.
      Diffraction enabled AkSurfaceReflector
  4. In the Wwise Unity Demo Scene, the outside emitter, the barrier and the exterior of the building are diffraction enabled. Diffraction paths are in purple. Each one of them will create a virtual source placed where the sound will be heard from.
    Diffraction paths in the Game Object 3D Viewer
    See also
    • Spatial Audio Diffraction
    • Using the Geometry API for Simulating Diffraction

D. Transmission

When an object appears between the emitter and the listener, the sound can also pass through the object. Spatial Audio models this phenomenon by filtering the direct path of the sound. When the emitter is in a room, the room's walls act like sound blocking objects. In this case, the direct and wet path of the sound are filtered to model transmission. Transmission loss values ranging from 0 to 1 can be applied to AkSurfaceReflector and AkRoom components. Typically, a value of 1.0 represents full loss of sound, and a value of 0.0 indicates that sound can be transmitted through the geometry unfiltered.

  1. Enable transmission on the Sound:
    • In the Positioning tab, make sure the Diffraction and Transmission option is selected.
      Enable Transmission on the Sound
  2. Adjust the transmission curves in the sound's attenuation, or in the Project Settings. The transmission curves in the Project Settings are used if the attenuation curves are set to "Use Project Transmission", or if the sound doesn't have an attenuation.
    Transmission curves in the Attenuation Editor
    Transmission curves in the Project Settings
    The sound will be filtered with the maximum transmission loss value of all surfaces sent from AkSurfaceReflector or AkRoom components that the sound encounters in a direct path from the emitter to the listener.
    1. On AkSurfaceReflector components, associate a transmission loss value for each submesh of the surface reflector mesh by populating the Transmission Loss Values array.
      Transmission Loss Values array on the AkSurfaceReflector component
    2. On AkRoom components, change the transmission loss value in the Transmission Loss parameter.
      Transmission Loss parameter on the AkRoom component
      See also
    • Spatial Audio Transmission
    • Rooms and Portal Transmission

E. Associate rooms to Surface Reflectors (Deprecated)

Warning: The Associated Room property of the AkSurfaceReflector component is deprecated and will be removed in a future version. We recommend not using it by leaving it set to None.

Each surface reflector added to Spatial Audio is analysed for diffraction edges and visibility. To optimize this step, each room can have a group of connected surface reflectors. Surface Reflectors associated with a room are not visible from other rooms. A Surface Reflector should be associated to a room if it is completely encompassed by it and if that room doesn't share surface reflectors with other rooms. Associating a room to a surface reflector is totally optional. If no room is selected, the surface reflector is added to a global group of surface reflectors. Associating surface reflectors to rooms will reduce the search space for ray casting performed by reflection and diffraction calculations.

  1. Choose a Room under Associated Room in the AkSurfaceReflector component to associate them.
    AkSurfaceReflector with an Associated Room
AkEvent
Helper class that knows a Wwise Event and when to trigger it in Unity. As of 2017....
Definition: AkEvent.cs:48
AkSurfaceReflector.RemoveGeometryInstance
void RemoveGeometryInstance()
Remove this component's geometry instance from Spatial Audio.
Definition: AkSurfaceReflector.cs:390
AkEnvironmentPortal.axis
UnityEngine.Vector3 axis
The axis used to find the contribution of each environment.
Definition: AkEnvironmentPortal.cs:27
TransportState
Used to deserialize transport-state information receieved from the transport.stateChanged topic.
Definition: AkWaapiHelper.cs:187
AkRoom.OutdoorsRoomParameters
Definition: AkRoom.cs:706
AkSpatialAudioEmitter
(DEPRECATED) This script is deprecated as of 2019.2. Early reflections, Diffraction and Room Reverb c...
Definition: AkSpatialAudioEmitter.cs:26
AkWaapiUtilities.Disconnecting
static System.Action< bool > Disconnecting
Fired when the connection is closing or closed, the bool parameter represents whether the socket conn...
Definition: AkWaapiUtilities.cs:42
AK.Wwise.RTPC
This type can be used to set game parameter values to the sound engine.
Definition: AkWwiseRtpc.cs:25
AkWwiseTreeWAAPIDataSource
This class communicates with Wwise Authoring via AkWaapiUtilities to keep track of the Wwise object h...
Definition: AkWwiseTreeWAAPIDataSource.cs:31
AkListenerDistanceProbe
Add this script on a listener game object to assign another game object as a distance probe....
Definition: AkListenerDistanceProbe.cs:28
AkRadialEmitter
A radial emitter is for sounds that are not point sources, but instead originate from a region of spa...
Definition: AkRadialEmitter.cs:26
AK.Wwise.AcousticTexture
This type represents an Acoustic Texture.
Definition: AkWwiseAcousticTexture.cs:25
ak.wwise.core
Definition: Uri.cs:103
ArgsObject
WAAPI arguments containing an object identfier.
Definition: AkWaapiHelper.cs:57
AkBank.decodeBank
bool decodeBank
DEPRECATED Decode this SoundBank upon load.
Definition: AkBank.cs:31
AK
Definition: AkWwiseAcousticTexture.cs:21
AkSurfaceReflector.AcousticTextures
AK.Wwise.AcousticTexture[] AcousticTextures
The acoustic texture per submesh. The acoustic texture represents the surface of the geometry....
Definition: AkSurfaceReflector.cs:36
AkSurfaceReflector.TransmissionLossValues
float[] TransmissionLossValues
The transmission loss value per submesh. The transmission loss value is a control value used to adjus...
Definition: AkSurfaceReflector.cs:41
AkWaapiUtilities.QueueCommandWithReturnWwiseObjects< T >
static void QueueCommandWithReturnWwiseObjects< T >(WaqlArgs args, ReturnOptions options, GetResultListDelegate< T > callback)
Enqueues a command with a payload that desirializes the list of wwise objects from the response.
Definition: AkWaapiUtilities.cs:564
ak.wwise
Definition: Uri.cs:73
AkReverbZone.SetReverbZone
static void SetReverbZone(AkRoom reverbZone, AkRoom parentRoom, float transitionRegionWidth)
Establish a parent-child relationship between two Rooms. Sound propagate between a Reverb Zone and it...
Definition: AkReverbZone.cs:60
AkBank.loadAsynchronous
bool loadAsynchronous
Check this to load the SoundBank in the background. Be careful, if Events are triggered and the Sound...
Definition: AkBank.cs:36
AK.Wwise.Event.StopMIDI
void StopMIDI()
Stops all MIDI Events on this Event.
Definition: AkWwiseEvent.cs:275
AkWaapiUtilities.GetWwiseObject< T >
static void GetWwiseObject< T >(System.Guid guid, ReturnOptions options, GetResultListDelegate< T > callback)
Generic function for fetching a Wwise object with custom return options.
Definition: AkWaapiUtilities.cs:582
ak.wwise.core.undo
Definition: Uri.cs:193
ak.wwise.error
Definition: Uri.cs:75
Wamp.ErrorException
Exception thrown during WAMP operations.
Definition: Wamp.cs:44
AK.Wwise.Event.PostMIDI
void PostMIDI(UnityEngine.GameObject gameObject, AkMIDIPostArray array, int count)
Posts MIDI Events on this Event associated with a GameObject.
Definition: AkWwiseEvent.cs:256
AkSpatialAudioDebugDraw.drawDiffractionPaths
bool drawDiffractionPaths
This allows you to visualize geometric diffraction sound paths between an obstructed emitter and the ...
Definition: AkSpatialAudioDebugDraw.cs:35
AkRoomPortal.ClosePortal
void ClosePortal(UnityEngine.GameObject in_gameObject)
Closes the portal on trigger event.
Definition: AkRoomPortal.cs:223
AkRoomPortal.GetID
ulong GetID()
Access the portal's ID.
Definition: AkRoomPortal.cs:183
AkReverbZone.TransitionRegionWidth
float TransitionRegionWidth
Width of the transition region between the Reverb Zone and its parent. The transition zone is centere...
Definition: AkReverbZone.cs:43
AkRoom.reverbLevel
float reverbLevel
The reverb control value for the send to the reverb aux bus.
Definition: AkRoom.cs:47
AkTriggerBase.triggerDelegate
Trigger triggerDelegate
All components reacting to the trigger will be registered in this delegate.
Definition: AkTriggerBase.cs:30
AK.Wwise.Bank.Load
void Load(bool decodeBank=false, bool saveDecodedBank=false)
Load the SoundBank For more details about bank decoding, see 'Saving a Decoded SoundBank' in Lesson 3...
Definition: AkWwiseBank.cs:74
AkEnvironment.AkEnvironment_CompareBySelectionAlgorithm
Sorts AkEnvironments based on the selection algorithm. The selection algorithm is as follows:
Definition: AkEnvironment.cs:87
AkWaapiUtilities.SelectObjectInAuthoring
static void SelectObjectInAuthoring(System.Guid guid)
Select the object in Wwise Authoring. Creates a WaapiCommand object containing a lambda call to Selec...
Definition: AkWaapiUtilities.cs:728
AK.Wwise.Event.PostMIDI
void PostMIDI(UnityEngine.GameObject gameObject, AkMIDIPostArray array)
Posts MIDI Events on this Event associated with a GameObject.
Definition: AkWwiseEvent.cs:244
AkWaapiUtilities.Search< T >
static void Search< T >(string searchString, WwiseObjectType objectType, ReturnOptions options, GetResultListDelegate< T > callback)
Composes a WAQL "search" request based on the parameters and enqueues a WAAPI command....
Definition: AkWaapiUtilities.cs:665
AkEnvironment.AkEnvironment_CompareByPriority
Sorts AkEnvironments based on their priorities.
Definition: AkEnvironment.cs:73
AkEvent.transitionDuration
float transitionDuration
Duration of the fade, in milliseconds. See AK::SoundEngine::ExecuteEventOnAction().
Definition: AkEvent.cs:86
AkSpatialAudioEmitter.reflectionsAuxBusGain
float reflectionsAuxBusGain
(DEPRECATED) As of 2019.2, the early reflections send volume can be set per sound,...
Definition: AkSpatialAudioEmitter.cs:37
AkSurfaceReflector.GeometryData
The Spatial Audio Geometry Data. Can be used when calling AkUnitySoundEngine.SetGeometry()
Definition: AkSurfaceReflector.cs:99
AkGameObj.GetUpward
virtual UnityEngine.Vector3 GetUpward()
Definition: AkGameObj.cs:337
AkSurfaceReflector.GetGeometryDataFromMesh
static void GetGeometryDataFromMesh(UnityEngine.Mesh mesh, ref GeometryData geometryData, AK.Wwise.AcousticTexture[] acousticTextures=null, float[] transmissionLossValues=null, string name="")
Create Spatial Audio Geometry Data from a Unity mesh. The Geometry Data can be used later to call AkU...
Definition: AkSurfaceReflector.cs:177
AkSurfaceReflector
This component converts the provided mesh into Spatial Audio Geometry.
Definition: AkSurfaceReflector.cs:27
JsonSerializable
Base class for Json serializable objects. Implements implicit cast to string using UnityEngine....
Definition: AkWaapiHelper.cs:27
AkSpatialAudioEmitter.roomReverbAuxBusGain
float roomReverbAuxBusGain
(DEPRECATED) As of 2019.2, the Room Reverb Aux Bus Gain is set by the Game-Defined Auxiliary Sends Vo...
Definition: AkSpatialAudioEmitter.cs:45
AkSpatialAudioEmitter.diffractionMaxPathLength
uint diffractionMaxPathLength
(DEPRECATED) As of 2019.2, diffraction is enabled in the Sound Property Editor in the Authoring tool.
Definition: AkSpatialAudioEmitter.cs:56
AkWaapiUtilities.GetChildren< T >
static void GetChildren< T >(System.Guid guid, ReturnOptions options, GetResultListDelegate< T > callback)
Get the children of a given object.
Definition: AkWaapiUtilities.cs:686
AkSpatialAudioListener.SpatialAudioListeners
static SpatialAudioListenerList SpatialAudioListeners
Returns the list of active Unity Game Objects that are designated to be spatial audio listeners.
Definition: AkSpatialAudioListener.cs:47
AK.Wwise.BaseGroupType
This type represents the base for all Wwise Types that also require a group GUID, such as State and S...
Definition: AkWwiseBaseGroupType.cs:25
AkSpatialAudioEmitter.drawDiffractionPaths
bool drawDiffractionPaths
(DEPRECATED) Spatial Audio Debug Drawing were moved to the new AkSpatialAudioDebugDraw component.
Definition: AkSpatialAudioEmitter.cs:72
AkSpatialAudioListener.SpatialAudioListenerList
This class represents the list of active Unity Game Objects that are designated to be spatial audio l...
Definition: AkSpatialAudioListener.cs:71
AkMemBankLoader.isLocalizedBank
bool isLocalizedBank
Is the bank localized (situated in the language-specific folders)
Definition: AkMemBankLoader.cs:31
ArgsPlay
WAAPI arguments containing an Event identfier and transport ID. Used to toggle Event playback.
Definition: AkWaapiHelper.cs:119
AkSurfaceReflector.UpdateGeometry
void UpdateGeometry()
Update this component's geometry instance
Definition: AkSurfaceReflector.cs:368
ak.wwise.ui.commands
Definition: Uri.cs:297
AkWaapiUtilities.TogglePlayEvent
static void TogglePlayEvent(WwiseObjectType objectType, System.Guid guid)
Play or pause an object in Wwise authoring. Creates a WaapiCommand object containing a lambda call to...
Definition: AkWaapiUtilities.cs:876
AkSpatialAudioEmitter.drawSecondOrderReflections
bool drawSecondOrderReflections
(DEPRECATED) Spatial Audio Debug Drawing were moved to the new AkSpatialAudioDebugDraw component.
Definition: AkSpatialAudioEmitter.cs:66
ak.wwise.core.transport
Definition: Uri.cs:230
AK.Wwise.Event
This type can be used to post Events to the sound engine.
Definition: AkWwiseEvent.cs:29
AkMemBankLoader.LoadNonLocalizedBank
void LoadNonLocalizedBank(string in_bankFilename)
Load a SoundBank from WWW object.
Definition: AkMemBankLoader.cs:56
WwiseRenameInfo
Used to deserialize information published on the ak.wwise.core.@object.nameChanged topic.
Definition: AkWaapiHelper.cs:246
AkSpatialAudioEmitter.reflectAuxBus
AK.Wwise.AuxBus reflectAuxBus
(DEPRECATED) As of 2019.2, the early reflections auxiliary bus can be set per sound,...
Definition: AkSpatialAudioEmitter.cs:30
AkWaapiUtilities.IsPlayable
static bool IsPlayable(WwiseObjectType type)
Checks if Wwise object is playable.
Definition: AkWaapiUtilities.cs:865
AK.Wwise.Event.Post
uint Post(UnityEngine.GameObject gameObject)
Posts this Event on a GameObject.
Definition: AkWwiseEvent.cs:62
AkWaapiUtilities.GetWwiseObjects< T >
static void GetWwiseObjects< T >(List< System.Guid > guids, ReturnOptions options, GetResultListDelegate< T > callback)
Generic function for fetching a list of Wwise objects with custom return options.
Definition: AkWaapiUtilities.cs:594
AkRadialEmitter.outerRadius
float outerRadius
Definition: AkRadialEmitter.cs:38
AkGameObj
This component represents a sound object in your scene and tracks its position and other game syncs s...
Definition: AkGameObj.cs:33
AkAudioListener
Add this script on the game object that represent a listener. This is normally added to the Camera ob...
Definition: AkAudioListener.cs:27
AkSurfaceReflector.EnableDiffractionOnBoundaryEdges
bool EnableDiffractionOnBoundaryEdges
Switch to enable or disable geometric diffraction on boundary edges for this mesh....
Definition: AkSurfaceReflector.cs:49
AkWaapiUtilities.WaapiCommand
A simple structure containing an async payload function that will be executed when it is consumed by ...
Definition: AkWaapiUtilities.cs:102
AkWaapiUtilities.Unsubscribe
static void Unsubscribe(uint id)
Unsubscribe from an existing subscription. Creates a WaapiCommand object containing a lambda call to ...
Definition: AkWaapiUtilities.cs:1042
AkSurfaceReflector.SetGeometry
void SetGeometry()
Call AkSurfaceReflector::SetGeometryFromMesh() with this component's mesh.
Definition: AkSurfaceReflector.cs:326
SelectedWwiseObjects
Class used to deserialize selected Wwise objects published on the ak.wwise.ui.selectionChanged topic.
Definition: AkWaapiHelper.cs:237
Wamp.WampNotConnectedException
Definition: Wamp.cs:35
AkSpatialAudioEmitter.diffractionMaxPaths
uint diffractionMaxPaths
(DEPRECATED) As of 2019.2, diffraction is enabled in the Sound Property Editor in the Authoring tool.
Definition: AkSpatialAudioEmitter.cs:53
AK.Wwise.TypeMigration
Definition: AkWwiseTypeMigration.cs:31
AkSpatialAudioEmitter.drawFirstOrderReflections
bool drawFirstOrderReflections
(DEPRECATED) Spatial Audio Debug Drawing were moved to the new AkSpatialAudioDebugDraw component.
Definition: AkSpatialAudioEmitter.cs:63
ErrorMessage
Used to deserialize WAAPI error messages.
Definition: AkWaapiHelper.cs:199
AkRoomAwareObject.ExitedRoom
void ExitedRoom(AkRoom room)
Called when exiting a room.
Definition: AkRoomAwareObject.cs:104
AK.Wwise.Event.StopMIDI
void StopMIDI(UnityEngine.GameObject gameObject)
Stops MIDI Events on this Event associated with a GameObject.
Definition: AkWwiseEvent.cs:266
AkBank.UnloadBank
void UnloadBank(UnityEngine.GameObject in_gameObject)
Unloads a SoundBank.
Definition: AkBank.cs:126
AkTriggerBase.Trigger
delegate void Trigger(UnityEngine.GameObject in_gameObject)
Delegate declaration for all Wwise Triggers.
Wamp.PublishHandler
delegate void PublishHandler(string json)
Publish events are delegates registered with Subscribe.
AkReverbZone.SetReverbZone
void SetReverbZone()
Calls AkReverbZone::SetReverbZone() with this component's properties
Definition: AkReverbZone.cs:94
AkEnvironmentPortal.EnvListWrapper
This enables us to detect intersections between portals and environments in the editor.
Definition: AkEnvironmentPortal.cs:90
AK.Wwise
Definition: AkWwiseAcousticTexture.cs:21
AkSurfaceReflector.SetGeometryInstance
static void SetGeometryInstance(ulong geometryInstanceID, ulong geometryID, UnityEngine.Transform transform, bool useForReflectionAndDiffraction, bool solid)
Add or update an instance of the geometry by sending the transform of this component to Wwise....
Definition: AkSurfaceReflector.cs:302
AkSpatialAudioListener.SpatialAudioListenerList.Remove
bool Remove(AkSpatialAudioListener listener)
Removes listeners from the list
Definition: AkSpatialAudioListener.cs:107
AkRoom.reverbAuxBus
AK.Wwise.AuxBus reverbAuxBus
The reverb auxiliary bus.
Definition: AkRoom.cs:43
AkWaapiUtilities.GetResultDelegate< T >
delegate void GetResultDelegate< T >(T result)
Generic delegate function for callbacks that expect to receive a single object in response to a WAAPI...
AkMemBankLoader.LoadLocalizedBank
void LoadLocalizedBank(string in_bankFilename)
Load a language-specific bank from WWW object.
Definition: AkMemBankLoader.cs:63
AkBank.HandleEvent
override void HandleEvent(UnityEngine.GameObject in_gameObject)
Loads the SoundBank.
Definition: AkBank.cs:103
AK.Wwise.Switch
This type can be used to set Switch values on gameobjects.
Definition: AkWwiseSwitch.cs:25
Wamp.TimeoutException
Exception thrown during WAMP operations when the timeout is reached.
Definition: Wamp.cs:27
AkSwitch
This will call AkUnitySoundEngine.SetSwitch() whenever the selected Unity event is triggered....
Definition: AkSwitch.cs:29
AkSpatialAudioDebugDraw.drawSecondOrderReflections
bool drawSecondOrderReflections
This allows you to visualize second order reflection sound paths.
Definition: AkSpatialAudioDebugDraw.cs:29
AK.Wwise.Trigger
This type can be used to post triggers to the sound engine.
Definition: AkWwiseTrigger.cs:25
AkGameObj.m_positionOffsetData
AkGameObjPositionOffsetData m_positionOffsetData
When not set to null, the position is offset relative to the Game Object position by the Position Off...
Definition: AkGameObj.cs:52
AkSurfaceReflector.SetGeometryInstance
void SetGeometryInstance()
Call AkSurfaceReflector::SetGeometryInstance() with this component's tranform.
Definition: AkSurfaceReflector.cs:355
AkWaapiUtilities.ParseRenameObject
static WwiseRenameInfo ParseRenameObject(string json)
Deserializes the object published by the ak.wwise.core.object.nameChanged topic.
Definition: AkWaapiUtilities.cs:1079
AkGameObj.GetForward
virtual UnityEngine.Vector3 GetForward()
Definition: AkGameObj.cs:330
AkEventCallbackMsg.sender
UnityEngine.GameObject sender
GameObject from whom the callback function was called.
Definition: AkEvent.cs:29
ArgsDisplayName
WAAPI arguments containing an object identfier and name used when deleting an object.
Definition: AkWaapiHelper.cs:88
ArgsRename
WAAPI arguments containing an object identfier and new value used when renaming an object.
Definition: AkWaapiHelper.cs:72
TransportOptions
WAAPI options used to specify the transport ID when subscribing.
Definition: AkWaapiHelper.cs:164
AkRoom
An AkRoom is an enclosed environment that can only communicate to the outside/other rooms with AkRoom...
Definition: AkRoom.cs:25
AkWaapiUtilities.ParseObjectInfo
static List< WwiseObjectInfo > ParseObjectInfo(List< WwiseObjectInfoJsonObject > returnObjects)
Parse the response WwiseObjectInfoJsonObject of a "from object" request and implicit cast the objects...
Definition: AkWaapiUtilities.cs:713
AK.Wwise.Bank
This type can be used to load/unload SoundBanks.
Definition: AkWwiseBank.cs:29
AkWaapiUtilities.Disconnected
static void Disconnected()
Invoked after the client has disconnected from Wwise authoring.
Definition: AkWaapiUtilities.cs:442
ArgsTransport
WAAPI arguments containing a transport ID. Used to specify transports in transport-specific commands.
Definition: AkWaapiHelper.cs:131
AkWaapiUtilities.QueueConsumed
static System.Action QueueConsumed
Fired when all commands in the queue have been executed.
Definition: AkWaapiUtilities.cs:52
AK.Wwise.CallbackFlags
This type represents the values of the flags used when posting an Event with a callback.
Definition: AkWwiseCallbackFlags.cs:25
AkWaapiUtilities.ParseSelectedObjects
static List< WwiseObjectInfo > ParseSelectedObjects(string json)
Deserializes the objects published by the ak.wwise.ui.selectionChanged topic.
Definition: AkWaapiUtilities.cs:1063
AkGameObj.GetPosition
virtual UnityEngine.Vector3 GetPosition()
Definition: AkGameObj.cs:317
AkEarlyReflections.reflectionsAuxBus
AK.Wwise.AuxBus reflectionsAuxBus
Definition: AkEarlyReflections.cs:32
AkSpatialAudioListener
Add this script on the game object that represent a listener. This is normally added to the Camera ob...
Definition: AkSpatialAudioListener.cs:30
ak.wwise.ui
Definition: Uri.cs:286
AK.Wwise.Bank.WwiseObjectReference
WwiseBankReference WwiseObjectReference
The reference to the SoundBank the script loads or unloads.
Definition: AkWwiseBank.cs:33
AkReverbZone
This component establishes a parent-child relationship between two Rooms and allows for sound propaga...
Definition: AkReverbZone.cs:27
AkRoomAwareObject.EnteredRoom
void EnteredRoom(AkRoom room)
Called when entering a room.
Definition: AkRoomAwareObject.cs:95
AkWaapiUtilities.OpenWorkUnitInExplorer
static void OpenWorkUnitInExplorer(System.Guid guid)
Open the OS file browser to the folder containing this object's Work Unit. Creates a WaapiCommand obj...
Definition: AkWaapiUtilities.cs:751
AK.Wwise.State
This type can be used to set Wwise States.
Definition: AkWwiseState.cs:25
AkWaapiUtilities.Delete
static void Delete(System.Guid guid)
Delete an object in wwise authoring. Work Units cannot be deleted in this manner. Creates a WaapiComm...
Definition: AkWaapiUtilities.cs:838
AkBank.unloadTriggerList
System.Collections.Generic.List< int > unloadTriggerList
Reserved.
Definition: AkBank.cs:42
AkSpatialAudioEmitter.reflectionsOrder
uint reflectionsOrder
(DEPRECATED) As of 2019.2, the Reflection Order is set in the Spatial Audio Initialization Settings.
Definition: AkSpatialAudioEmitter.cs:40
ReturnTransport
Used to deserialize the response from an ak.wwise.core.transport.create command. Contains the transpo...
Definition: AkWaapiHelper.cs:178
AkWwiseTreeWAAPIDataSource.SubscribeTopics
void SubscribeTopics()
Subscribes to nameChanged, childAdded, childRemoved, and selectionChanged WAAPI events in order to ke...
Definition: AkWwiseTreeWAAPIDataSource.cs:391
AkWaapiUtilities.QueueCommandWithReturnType< T >
static void QueueCommandWithReturnType< T >(string uri, GetResultDelegate< T > callback, string args=null, string options=null)
Use this function to enqueue a command with an expected return object of type T. The command will des...
Definition: AkWaapiUtilities.cs:548
WaapiKeywords.WwiseObjectTypeStrings
static ReadOnlyDictionary< WwiseObjectType, string > WwiseObjectTypeStrings
Maps WwiseObjectType to strings.
Definition: AkWaapiHelper.cs:464
AkRoomAwareManager
This manager tracks the AkRoomAwareObjects and the AkRooms in which they enter and exit.
Definition: AkRoomAwareManager.cs:22
AkRoom.SetReverbZone
void SetReverbZone(AkRoom parentRoom, float transitionRegionWidth)
Establish a parent-child relationship between this Room and a parent Room. Sound propagate between a ...
Definition: AkRoom.cs:595
WwiseObjectInfoParent
Contains the GUID of the returned object's parent.
Definition: AkWaapiHelper.cs:328
AkEventCallbackMsg
Event callback information. Event callback functions can receive this structure as a parameter
Definition: AkEvent.cs:24
AkEventCallbackMsg.info
AkCallbackInfo info
For more information about the event callback, see the classes derived from AkCallbackInfo.
Definition: AkEvent.cs:26
AkState
This will call AkUnitySoundEngine.SetState() whenever the selected Unity event is triggered....
Definition: AkState.cs:29
AkRoom.PriorityList
Definition: AkRoom.cs:624
AkSurfaceReflector.Mesh
UnityEngine.Mesh Mesh
The mesh to send to Spatial Audio as a Geometry Set. We recommend using a simplified mesh.
Definition: AkSurfaceReflector.cs:32
AkMemBankLoader.bankName
string bankName
Name of the bank to load.
Definition: AkMemBankLoader.cs:28
AkEnvironmentPortal.environments
AkEnvironment[] environments
Definition: AkEnvironmentPortal.cs:32
AkSpatialAudioDebugDraw.drawHigherOrderReflections
bool drawHigherOrderReflections
This allows you to visualize third or higher order reflection sound paths.
Definition: AkSpatialAudioDebugDraw.cs:32
WaapiHelper
Contains a helper function GetWwiseObjectTypeFromString.
Definition: AkWaapiHelper.cs:354
AkRoom.GetID
ulong GetID()
Access the room's ID.
Definition: AkRoom.cs:197
AkSurfaceReflector.RemoveGeometry
void RemoveGeometry()
Remove this component's geometry and corresponding instance from Spatial Audio.
Definition: AkSurfaceReflector.cs:376
AkRoomPortal.HandleEvent
override void HandleEvent(UnityEngine.GameObject in_gameObject)
Opens the portal on trigger event.
Definition: AkRoomPortal.cs:217
AkRoom.roomToneEvent
AK.Wwise.Event roomToneEvent
Wwise Event to be posted on the room game object.
Definition: AkRoom.cs:54
AkMemBankLoader
This class is an example of how to load banks in Wwise, if the bank data was preloaded in memory....
Definition: AkMemBankLoader.cs:22
AkRoom.transmissionLoss
float transmissionLoss
Loss value modeling transmission through walls.
Definition: AkRoom.cs:51
Args
Abstract base class for WAAPI command arguments.
Definition: AkWaapiHelper.cs:36
WaapiKeywords.FolderDisplaynames
static ReadOnlyDictionary< string, string > FolderDisplaynames
Maps root folder names to displayed strings.
Definition: AkWaapiHelper.cs:487
AkReverbZone.ReverbZone
AkRoom ReverbZone
Definition: AkReverbZone.cs:33
AkRoom.priority
int priority
Definition: AkRoom.cs:40
AkSpatialAudioDebugDraw.drawFirstOrderReflections
bool drawFirstOrderReflections
This allows you to visualize first order reflection sound paths.
Definition: AkSpatialAudioDebugDraw.cs:26
AkEnvironment
Use this component to define a reverb zone. This needs to be added to a collider object to work prope...
Definition: AkEnvironment.cs:34
Wamp
WAMP protocol implementation using only strings and regular expressions. This implements only a subse...
Definition: Wamp.cs:24
AkEventCallbackMsg.type
AkCallbackType type
AkUnitySoundEngine.PostEvent callback flags. See the AkCallbackType enumeration for a list of all cal...
Definition: AkEvent.cs:32
AkEvent.enableActionOnEvent
bool enableActionOnEvent
Enables additional options to reuse existing events. Use it to transform a Play event into a Stop eve...
Definition: AkEvent.cs:56
AkSurfaceReflector.SetGeometryFromMesh
static bool SetGeometryFromMesh(UnityEngine.Mesh mesh, ulong geometryID, bool enableDiffraction, bool enableDiffractionOnBoundaryEdges, AK.Wwise.AcousticTexture[] acousticTextures=null, float[] transmissionLossValues=null, string name="")
Convert the mesh into a geometry consisting of vertices, triangles, surfaces, acoustic textures and t...
Definition: AkSurfaceReflector.cs:126
AkTriggerBase
Base class for the generic triggering mechanism for Wwise Integration. All Wwise components will use ...
Definition: AkTriggerBase.cs:23
AkRoom.RemoveReverbZone
void RemoveReverbZone()
Remove this Room, a Reverb Zone, from its parent. Sound can no longer propagate between this Room and...
Definition: AkRoom.cs:617
AK.Wwise.Bank.Unload
void Unload()
Unload the SoundBank.
Definition: AkWwiseBank.cs:93
AkEvent.curveInterpolation
AkCurveInterpolation curveInterpolation
Fade curve to use with the new Action. See AK::SoundEngine::ExecuteEventOnAction()
Definition: AkEvent.cs:53
AkWaapiUtilities.Rename
static void Rename(System.Guid guid, string newName)
Rename an object in Wwise authoring. Creates a WaapiCommand object containing a lambda call to Rename...
Definition: AkWaapiUtilities.cs:813
AkGameObj.isEnvironmentAware
bool isEnvironmentAware
Indicates whether the object is affected by environmental changes. Set to false if the object is not ...
Definition: AkGameObj.cs:37
AK.Wwise.Bank.LoadAsync
void LoadAsync(AkCallbackManager.BankCallback callback=null)
Load the SoundBank asynchronously.
Definition: AkWwiseBank.cs:84
ReturnWwiseObjects
Generic class to deserialize a WAAPI response containing Wwise objects with custom return options.
Definition: AkWaapiHelper.cs:228
ReturnOptions
WAAPI options to specify the names of fields to return in a WAAPI request returning WwiseObjects.
Definition: AkWaapiHelper.cs:150
AkWaapiUtilities.Connected
static System.Action Connected
Fired when the connection is established, should be used by external classes to subscribe to topics t...
Definition: AkWaapiUtilities.cs:47
AkWaapiUtilities
This class wraps the client that communicates with the Wwise Authoring application via WAAPI....
Definition: AkWaapiUtilities.cs:34
AkSpatialAudioEmitter.reflectionMaxPathLength
float reflectionMaxPathLength
(DEPRECATED) As of 2019.2, the Reflection Max Path Length is set by the sound's Attenuation Max Dista...
Definition: AkSpatialAudioEmitter.cs:33
AkInitializer
This script deals with initialization, and frame updates of the Wwise audio engine....
Definition: AkInitializer.cs:38
AK.Wwise.Event.Post
uint Post(UnityEngine.GameObject gameObject, CallbackFlags flags, AkCallbackManager.EventCallback callback, object cookie=null)
Posts this Event on a GameObject.
Definition: AkWwiseEvent.cs:102
AkSpatialAudioListener.SpatialAudioListenerList.Add
bool Add(AkSpatialAudioListener listener)
Uniquely adds listeners to the list
Definition: AkSpatialAudioListener.cs:85
AkWwiseTrigger
This will call AkUnitySoundEngine.PostTrigger() whenever the selected Unity event is triggered....
Definition: AkWwiseTrigger.cs:28
AkEmitterObstructionOcclusion
Completely obstructs/occludes the emitter of the current game object from its listeners if at least o...
Definition: AkEmitterObstructionOcclusion.cs:23
AkSpatialAudioEmitter.diffractionMaxEdges
uint diffractionMaxEdges
(DEPRECATED) As of 2019.2, diffraction is enabled in the Sound Property Editor in the Authoring tool.
Definition: AkSpatialAudioEmitter.cs:50
AkSpatialAudioEmitter.drawHigherOrderReflections
bool drawHigherOrderReflections
(DEPRECATED) Spatial Audio Debug Drawing were moved to the new AkSpatialAudioDebugDraw component.
Definition: AkSpatialAudioEmitter.cs:69
AkWaapiUtilities.GetWwiseObjectAndDescendants< T >
static void GetWwiseObjectAndDescendants< T >(System.Guid guid, ReturnOptions options, int depth, GetResultListDelegate< T > callback)
Enqueues a waapi comand to fetch the specified object and all of its descendants in the hierarchy to ...
Definition: AkWaapiUtilities.cs:628
AkRoom.roomToneAuxSend
float roomToneAuxSend
Send level for sounds that are posted on the room game object; adds reverb to ambience and room tones...
Definition: AkRoom.cs:59
AkEvent.soundEmitterObject
UnityEngine.GameObject soundEmitterObject
Game object onto which the Event will be posted. By default, when empty, it is posted on the same obj...
Definition: AkEvent.cs:83
WwiseObjectInfo
Class containing the information returned by a WAAPI request for an object.
Definition: AkWaapiHelper.cs:338
AkEarlyReflections.reflectionsVolume
float reflectionsVolume
Definition: AkEarlyReflections.cs:39
AkRoomPortal.MAX_ROOMS_PER_PORTAL
const int MAX_ROOMS_PER_PORTAL
AkRoomPortals can only connect a maximum of 2 rooms.
Definition: AkRoomPortal.cs:26
AkAmbientLargeModePositioner
Use this component to add a Large Mode position to any AkAmbient in a Scene.
Definition: AkAmbientLargeModePositioner.cs:24
AkRoomManager
This manager tracks AkRoomPortals and the rooms that they connect (front and back room).
Definition: AkRoomManager.cs:22
AkReverbZone.RemoveReverbZone
static void RemoveReverbZone(AkRoom reverbZone)
Remove a Reverb Zone from its parent. Sound can no longer propagate between the two Rooms,...
Definition: AkReverbZone.cs:79
WaapiKeywords.typeStringDict
static ReadOnlyDictionary< string, WwiseObjectType > typeStringDict
Maps strings to WwiseObjectType.
Definition: AkWaapiHelper.cs:501
AkWaapiUtilities.IsConnected
static bool IsConnected()
Check whether the client is currently connected.
Definition: AkWaapiUtilities.cs:179
AkWaapiUtilities.GetProject< T >
static void GetProject< T >(GetResultListDelegate< T > callback, ReturnOptions options)
Get the WwiseObjectInfo for the project.
Definition: AkWaapiUtilities.cs:701
AkSpatialAudioDebugDraw
Add this script on a GameObject to print Spatial Audio paths.
Definition: AkSpatialAudioDebugDraw.cs:23
AkRoomPortalObstruction
Completely obstructs the spatial audio portal of the current game object from the spatial audio liste...
Definition: AkRoomPortalObstruction.cs:24
AkWaapiUtilities.QueueCommand
static void QueueCommand(string uri, string args, string options)
Use this function to queue a command with no expected return object.
Definition: AkWaapiUtilities.cs:533
AK.Wwise.IMigratable
Definition: AkWwiseTypeMigration.cs:25
AkWaapiUtilities.GetWwiseObjectAndAncestors< T >
static void GetWwiseObjectAndAncestors< T >(System.Guid guid, ReturnOptions options, GetResultListDelegate< T > callback)
Enqueues a waapi command to fetch the specified object and all of its ancestors in the hierarchy....
Definition: AkWaapiUtilities.cs:613
AkRoomPortal
An AkRoomPortal can connect two AkRoom components together.
Definition: AkRoomPortal.cs:24
AkReverbZone.ParentRoom
AkRoom ParentRoom
Definition: AkReverbZone.cs:39
AK.Wwise.Event.Post
uint Post(UnityEngine.GameObject gameObject, uint flags, AkCallbackManager.EventCallback callback, object cookie=null)
Posts this Event on a GameObject.
Definition: AkWwiseEvent.cs:143
Options
Abstract base class for WAAPI command options.
Definition: AkWaapiHelper.cs:141
AkEnvironmentPortal.envList
EnvListWrapper[] envList
Unity can't serialize an array of list so we wrap the list in a serializable class.
Definition: AkEnvironmentPortal.cs:95
AkEnvironmentPortal
Use this component to define an area that straddles two different AkEnvironment's zones and allow mix...
Definition: AkEnvironmentPortal.cs:23
AK.Wwise.BaseType
This type represents the base for all Wwise Types that require a GUID.
Definition: AkWwiseBaseType.cs:25
AkReverbZone.RemoveReverbZone
void RemoveReverbZone()
Calls AkReverbZone::RemoveReverbZone() with this component's properties
Definition: AkReverbZone.cs:103
ErrorDetails
Used to deserialize details in WAAPI error messages.
Definition: AkWaapiHelper.cs:209
WaqlArgs
WAAPI arguments containing a WAQL string.
Definition: AkWaapiHelper.cs:44
AkRoomAwareObject
This component makes a GameObject aware of AkRoom components. When using Spatial Audio rooms,...
Definition: AkRoomAwareObject.cs:28
AkWaapiUtilities.StopAllTransports
static void StopAllTransports()
Stops all playing transports. Creates a WaapiCommand object containing a lambda call to StopAllTransp...
Definition: AkWaapiUtilities.cs:989
AkWaapiUtilities.Subscribe
static void Subscribe(string topic, Wamp.PublishHandler subscriptionCallback, System.Action< SubscriptionInfo > handshakeCallback, ReturnOptions returnOptions=null)
Subscribe to WAAPI topic. Refer to WAAPI reference documentation for a list of topics and their optio...
Definition: AkWaapiUtilities.cs:1016
AkWaapiUtilities.SubscriptionInfo
Class used to store information about a specific subscription.
Definition: AkWaapiUtilities.cs:118
AkRadialEmitter.innerRadius
float innerRadius
Definition: AkRadialEmitter.cs:44
AkWaapiUtilities.GetResultListDelegate< T >
delegate void GetResultListDelegate< T >(List< T > result)
Generic delegate function for callbacks that expect to receive a list of objects in response to a WAA...
ak
URI strings to use in WAAPI calls. For a complete description, refer to the official Wwise SDK docume...
Definition: Uri.cs:20
AK.Wwise.AuxBus
This type represents an auxiliary send in the Master-Mixer Hierarchy.
Definition: AkWwiseAuxBus.cs:25
AK.Wwise.Event.Post
uint Post(ulong gameObjectId)
Posts this Event on a GameObject ID.
Definition: AkWwiseEvent.cs:181
AkSpatialAudioListener.TheSpatialAudioListener
static AkAudioListener? TheSpatialAudioListener
Returns the "single" spatial audio listener.
Definition: AkSpatialAudioListener.cs:39
WwiseChildModifiedInfo
Used to deserialize information published on the ak.wwise.core.@object.childAdded and ak....
Definition: AkWaapiHelper.cs:264
WaapiKeywords
Contains fields for specific WAAPI keywords.
Definition: AkWaapiHelper.cs:377
AkBank
Loads and unloads a SoundBank at a specified moment. Vorbis sounds can be decompressed at a specified...
Definition: AkBank.cs:27
WwiseObjectInfoJsonObject
Used to deserialize information from a request for a Wwise object. Implements an implicit cast to Wwi...
Definition: AkWaapiHelper.cs:284
AkAmbient
Use this component to attach a Wwise Event to any object in a scene. The sound can be started at vari...
Definition: AkAmbient.cs:47
AkEarlyReflections
Set an early reflections auxiliary bus and send volume for a particular game object.
Definition: AkEarlyReflections.cs:25
AkWaapiUtilities.GetStatusString
static string GetStatusString()
Returns a rich text string representing the current WAAPI connection status.
Definition: AkWaapiUtilities.cs:481
AkBank.saveDecodedBank
bool saveDecodedBank
DEPRECATED Save the decoded SoundBank to disk for faster loads in the future.
Definition: AkBank.cs:39
AkWaapiUtilities.OpenSoundBankInExplorer
static void OpenSoundBankInExplorer(System.Guid guid)
Open the OS file browser to the folder containing the generated SoundBank. Creates a WaapiCommand obj...
Definition: AkWaapiUtilities.cs:762
ArgsCommand
WAAPI arguments containing an object identfier and command field. Used by AkWaapiUtilities....
Definition: AkWaapiHelper.cs:103
AkEvent.actionOnEventType
AkActionOnEventType actionOnEventType
Replacement action. See AK::SoundEngine::ExecuteEventOnAction()
Definition: AkEvent.cs:50
AkWaapiUtilities.ParseChildAddedOrRemoved
static WwiseChildModifiedInfo ParseChildAddedOrRemoved(string json)
Deserializes the object published by the ak.wwise.core.object.childAdded or ak.wwise....
Definition: AkWaapiUtilities.cs:1091
AkSurfaceReflector.EnableDiffraction
bool EnableDiffraction
Switch to enable or disable geometric diffraction for this mesh.
Definition: AkSurfaceReflector.cs:45
AK.Wwise.Event.ExecuteAction
void ExecuteAction(UnityEngine.GameObject gameObject, AkActionOnEventType actionOnEventType, int transitionDuration, AkCurveInterpolation curveInterpolation)
Executes various actions on this event associated with a GameObject.
Definition: AkWwiseEvent.cs:213


Wwise Unity Integration Documentation: Obstruction and Occlusion

Obstruction and Occlusion

It is possible to obstruct or occlude sounds in Unity. You can either use:

  • Spatial Audio Diffraction and Transmission.
    • See Additional Spatial Audio Features section C. Diffraction and D. Transmission
  • Simple obstruction occlusion components presented in the following sections:
    • A. Emitter Obstruction/Occlusion
    • B. Portal Obstruction

A. Emitter Obstruction/Occlusion

An emitter can be obstructed or occluded in Unity when the AkEmitterObstructionOcclusion component is added to its GameObject. When an object is found in the path between the emitter and a listener, the component will call SetObjectObstructionAndOcclusion() with an obstruction/occlusion value of 1. When your map doesn't use spatial audio (that is, it doesn't have any AkRoom components), the AkEmitterObstructionOcclusion component will use occlusion. In a spatial audio scene, this same component will use obstruction with the spatial audio listener only; the GameObject with the AkSpatialAudioListener component. Emitter obstruction is applied to emitters that are in the same room as the spatial audio listener.

AkEmitterObstructionOcclusion component

To make sure obstruction or occlusion is done on desired objects, use layer masks. For example, you can specify a layer for the player object and exclude it from the AkEmitterObstructionOcclusion component so that the listener's body doesn't obstruct or occlude sounds.

Layer Mask options for the Ak Emitter Obstruction Occlusion component

B. Portal Obstruction

Sound emitted through portals can also be obstructed. If you are not using Spatial Audio Diffraction, you can use the AkRoomPortalObstruction component on the GameObject with an AkRoomPortal. When an object is found in the path between the portal and the spatial audio listener, the component will call SetObjectObstructionAndOcclusion() with an obstruction value of 1.

AkRoomPortalObstruction component

The meshes of Rooms that a Portal is connecting will cause obstruction with the AkRoomPortalObstruction component. If you are using Surface Reflectors, they may obstruct the portal opening too. Make sure you put these in different layers to exclude them from the AkRoomPortalObstruction component's Layer Mask.

Layer Mask options for the Ak Room Portal Obstruction component


Wwise Unity Integration Documentation: The Wwise Addressables Package for Unity

The Wwise Addressables Package for Unity

About Unity Addressables

The Unity Addressables system uses AssetBundles to package assets separately from the player. This is particularily useful in the context of DLC, where the extra assets can be stored on an external server.

If you are new to Addressables, see
Addressables package and Get started with Addressables for essential background information.

The following topics explain how to set up the Wwise Unity Addressables package:

  • Installing the Wwise Unity Addressables Package
  • Basic Tutorial For Packaging DLC

The following sections describe how the Wwise Addressables package works:

  • Characteristics of the Addressables System
  • Known Issues and Limitations
  • Wwise Addressable Samples
  • Understanding Wwise Addressable Assets
    • SoundBanks and AddressableSoundBanks
    • The Addressable Bank Manager
    • WwiseBankReference
    • Wwise Asset Importers
    • Media

Characteristics of the Addressables System

Be aware of the following characteristics of the Addressables system:

  • Loading assets with Addressables is inherently asynchronous: This can cause issues if loading a SoundBank and posting an event are both linked to the same trigger. It is therefore recommended to ensure the SoundBank is loaded before its associated Events can be triggered if precise event timing is particularly important. The Init Soundbank is a particular case, as it must be loaded before all other SoundBanks in the scene. If the Init SoundBank asset is updated remotely, you can expect there to be a slight additional delay in loading any SoundBanks at the start of a scene, as the new Init SoundBank must first be fetched from a webserver using Addressables.
  • Addressable assets should not be referenced directly in the scene: Addressable assets are meant to be loaded dynamically in your scenes using the Addressables system. Any assets that are referenced directly in your scene will be built into the scene's AssetBundle and will not be loaded via the Addressables. If you place an asset directly in your scene and also package that asset with Addressables, there will be two different copies of the asset in your game data: one in the scene's AssetBundle and one in the Addressable group's AssetBundle.

Known Issues and Limitations

  • All platforms in the project must share the same root Generated SoundBanks Path.
  • Setting the Generated SoundBank Path in the Unity project settings doesn't automatically change the output paths for External Sources.
  • Saving and loading of Decoded SoundBanks are not yet supported.
  • Prepared Events are not yet supported.
  • External Sources are not yet supported.

Wwise Addressable Samples

The Wwise Addressable Samples page provides additional information about code samples designed to help manage Wwise addressable assets.

Understanding Wwise Addressable Assets

Wwise Asset Importers

The WwiseBankImporter classes process .bnk and .wem files. This script creates assets containing the binary data of the files. Our custom asset postprocessor WwiseBankPostProcess then adds the new assets to the Addressables group of their respective platform. The Init SoundBank for each platform is added to its own Addressables group. The reason the Init Bank is kept separate is because it must be updated when modifications to the project (such as adding new audio busses) are made post-release. By packaging the Init SoundBank in its own addressable AssetBundle, we minimize the time it will take to fetch the new version of this asset from the hosting service. If you wish to customize what addressable group the assets are added to, and which labels are applied to the assets, please consult the Wwise Addressable Samples page.

SoundBanks and AddressableSoundBanks

The asset postprocessor also creates a WwiseAddressableSoundBank for each SoundBank in the project. This asset contains a dictionary that maps platform names to their respective SoundBank and streaming media assets.

  • WwiseAddressableSoundBanks are found at the root level of the Generated SoundBanks folder.
  • The WwiseAddressableSoundBank class uses AssetReferenceT to point to the SoundBanks and media files.
  • When building the project, the Current Platfrom Assets field of the WwiseAddressableSoundBank is set to the target build platform.
Caution:
  • SoundBanks and streaming media referenced in the WwiseAddressableSoundBank are soft references. They will be loaded using Addressables and must be packaged in an Addressables group.
  • If you delete a WwiseAddressableSoundBank by mistake, you will have to delete and regenerate the SoundBanks it is associated with in order to create a new one and set up its references properly.

The Init Bank Holder

When the WwiseAddressableSoundBank for the Init SoundBank is created, an InitBankHolder component will be added to the WwiseGlobal gameobject in the scene. This component simply stores the WwiseAddressableSoundBank so that the AddressableBankManager can find it easily.

The Addressable Bank Manager

When using Wwise Addressables, the AkAddressableBankManager handles loading and unloading of SoundBanks into memory. This class stores references to loading and loaded AddressableSoundBanks and ensures that the Init SoundBank is always loaded first. If an AkEvent is triggered before its SoundBank has finished loading, this class stores the triggered call's parameters and retriggers the event after the SoundBank is loaded.

When a SoundBank is loaded, the SoundBank asset that corresponds to the current platform is loaded using Addressables. After it is loaded, the SoundBank data is pinned and a copy of the memory is loaded into the sound engine with AkUnitySoundEngine.LoadBankMemoryCopy().

When in Play Mode in the Unity editor, the AssetDatabase is used instead of Addressables to load SoundBanks synchronously. Asynchronous loading can only be tested in the built game.

Note: Ensure that you use AkBank to load your SoundBanks instead of manually calling the API.

WwiseBankReference

The WwiseBankReference class is used in our custom inspector for the Ak.Wwise.Bank component. The WwiseBankReference contains a hard reference to a WwiseAddressableSoundBank. This reference is updated when a WwiseAddressableSoundBank Asset is created via the AkAssetUtilities.AddressableBankUpdated delegate. If the WwiseBankReference is created after the WwiseAddressableSoundBank, it will search in the SoundBanks folder for a WwiseAddressableSoundBank asset matching its bank name. Serialized WwiseBankReferences are stored in Assets\Wwise\ScriptableObjects\SoundBank.

Note: Any assets that are referenced directly by a game object will be packaged with the game object. AkBank Components contain a hard reference to a WwiseBankReference, and the WwiseBankReference contains a hard reference to its corresponding WwiseAddressableSoundBank. If you put a GameObject with an AkBank component in an Addressables group, the WwiseBankReference and WwiseAddressableSoundBank will be packaged with it (without having to explicitly add them to the group).

Media

Media files (.wem) are also handled by the WwiseBankImporter script. The WwiseAddressableSoundBank contains a list of references to the platform specific streaming media assets associated with the bank. When a bank is loaded, the media assets are loaded via Addressables and copied to the Application.persistentDataPath folder. If a file with the same name already exists in the folder, their hashes are compared. If the files differ, the file is overwritten by the one from the AssetBundle.


Wwise Unity Integration Documentation: Installing the Wwise Unity Addressables Package

Installing the Wwise Unity Addressables Package

Table of Contents

  • Using the Wwise Addressables Installer
  • Installing the Wwise Addressables Package with the Unity Package Manager and GitHub
    • Updating the Wwise Unity Addressables Package
    • Compatibility with the Unity Addressables Package
  • Setting Up and Building with the Wwise Addressables Package
  • Building the Project
  • Removing the Wwise Addressables Package

Using the Wwise Addressables Installer

For Wwise 24.1.2 and 23.1.10 and above, the Wwise Addressables Installer is available, which will automatically handle the installation/uninstallation process.

  • Using the Wwise Addressables Installer

Installing the Wwise Addressables Package with the Unity Package Manager and GitHub

The official repository for the Wwise Addressables Package is : https://github.com/audiokinetic/WwiseUnityAddressables.

  1. In the Unity Editor, select Window > Package Manager.
  2. Click + and select Add package from git URL.
  3. Paste https://github.com/audiokinetic/WwiseUnityAddressables.git in the text field and click Add.

More information about using packages hosted on Git repositories can be found in the Unity documentation.

Note: If you see an error containing the message "No 'git' executable was found", you will have to add the directory containing the git.exe executable to your system environment and possibly restart your system for the changes to take effect.
Note: The Unity Addressables Package must also be added to the project for Wwise addressables to function properly. The package is listed as a dependancy of the Wwise Addressables Package and should be installed automatically.

Updating the Wwise Unity Addressables Package

When updating to a newer version of Wwise, we recommend updating the Unity Integration before updating the Wwise Unity Addressables package.

Updates to the Wwise Unity Addressables Package are published at the same time as minor or major Wwise releases, but are not necessarily as frequent. Each update is tagged with the version of Wwise it was released (and tested) with. We aim to maintain compatibility between newer versions of the Unity Integration and older versions of the Wwise Unity Addressables package, unless major changes are needed. For example, the Wwise Unity integration version 2021.1.7 and newer are not compatible with versions of the Wwise Unity Addressables package older than the 21.1.7 tag (and vice-versa). Each GitHub tag has a corresponding entry on the repository's releases page which describes the changes made and their version compatibility.

Compatibility with the Unity Addressables Package

The Wwise Unity Addressables Package should be compatible with the latest version of the Unity Addressables package. It should also be compatible with older versions, but versions prior to 1.16.0 are untested. By default, the Wwise Unity Addressables Package uses the latest "verified" version of the Addressables package for minimum Unity version supported by the Unity Integration. Refer to Release Notes - Wwise Unity Integration 2024.1.5 for the list of supported Unity versions.

Setting Up and Building with the Wwise Addressables Package

Step 1: Set the target directory for your generated SoundBanks in Project Settings > Wwise Integration > SoundBanks Path.

Caution: This directory must be inside your Assets folder for the SoundBanks to be properly imported.
  • In this example we set the target directory to Assets\WwiseData\Banks.
  • Changing this path automatically modifies the output target directories in Wwise.
    • If Wwise Authoring is open when this change is made, a dialog opens prompting you to reload the project.
Note: When the target directory is changed in the Unity Wwise Project Settings, the Output Path for the external sources won't be adjusted automatically in the Wwise Project. If necessary, make sure to adjust it based on the changes made for the Root Output Path.

Step 2: Generate SoundBanks, either from within Wwise Authoring or using the Wwise Picker.

  • At this point, the custom asset importers for .bnk and .wem files create Unity assets for generated SoundBanks and streaming media files.
  • Metadata files and platform-specific groups are automatically generated in the AddressableAssetsData directory.
  • You can confirm that your assets were properly imported by inspecting the files in the Generated SoundBanks Path.
  • For more details, see Understanding Wwise Addressable Assets.

Step 3: Click Window > Asset Management > Addressables > Groups. The Wwise Addressables Groups window opens.

By default, one group is created for each deployment platform containing the platform-specific SoundBank assets. Separate groups are created containing only the Init SoundBank for each deployment platform.

If you inspect the WwiseGlobal object in the scene, you will find that an Init Bank Holder component has been added to it.

Note: The Init Bank Holder will only be added to the currently open scene. If the project contains multiple scenes, make sure all the scenes have been opened and saved, or alternatively, use the script under Tools > Reload All Scenes.

Step 4: Create a Wwise Build Script for Addressables.

  • We recommend placing this in AddressableAssetsData/DataBuilders alongside the default build scripts.
  • Right-click anywhere in the browser and select Create > Addressables > Content Builders > Wwise Build Script.
  • This creates an asset named BuildScriptWwisePacked.

Step 5: Inspect the Addressables settings.

  • By default, they are found in AddressableAssetsData/AddressableAssetSettings
  • From the Groups window: Tools > Inspect System Settings
  • From the editor: Window > AssetManagement > Addressables> Settings

Step 6: Add BuildScriptWwisePacked to the Addressables build scripts. In the inspector for AddressableAssetSettings, add the BuildScriptWwisePacked asset you created in Step 4 to the Build and Play Mode scripts.

Building the Project

Build the Addressable asset bundles from the Groups window using the Wwise Build Script. This will generate all general asset bundles (e.g. Default Local Group) as well as platform specific asset bundles in Library\com.unity.Addressables\StreamingAssetsCopy\aa\<Platform Name>.

Caution: The Wwise Build Script modifies the Include in Build property of WwiseData group schemas. If a group has WwiseData in its name, it will only be included if the name also contains the target build platform name. This behaviour can be modified in the BuildScriptWwisePacked.cs script. If you want to manually control which groups are included using the Include in Build property, you may simply use the default build script.

Once the addressable assets have been built, the project can be built as usual.

Caution: You will have to rebuild the Addressable groups if you modify or add new SoundBanks to your project. Also remember to rebuild Addressable groups after you switch platforms.

In the build directory :

  • Addressable asset bundles are copied to StreamingAssets\aa\ .

Removing the Wwise Addressables Package

Removing this package requires a few additional steps for the Wwise integration to function properly.

  • Delete the folder containing generated SoundBanks from your Unity assets folder. Make sure to delete the .meta file associated with the folder as well.
  • Uninstall the package, either through the Unity package manager or by deleting the corresponding line in the <UnityProject>\Packages\manifest.json file.
  • In your Wwise Project Settings, set the SoundBank Paths to a path outside of the Assets folder.
  • Regenerate your SoundBanks.
  • If you are still using the Unity Addressables package, be sure to clean up your Addressables groups.


Wwise Unity Integration Documentation: Using the Wwise Addressables Installer

Using the Wwise Addressables Installer

Prerequisites

Before you install the Wwise Addressables package, ensure that your system and projects meet the following requirements:

  • If your Wwise project requires a license, the license must be applied. See License Manager.
  • The Wwise and Unity projects must be created in or migrated to the desired software versions.
  • In Unity, the following Wwise Integration settings (see Adjusting Unity Editor Settings) must be set:
    • Wwise Application Path
    • WAAPI port
    • WAAPI IP address
  • Ensure that the Wwise Addressable Installer settings are appropriate for your needs. You can change these settings through the editor or in the WwiseSettings.xml file.

Wwise Addressable Installer Settings

The Wwise Addressable Installer settings are located in the Project Settings Window under Wwise Integration.

  • Install from a git repository
    • Description: Whether to install the package from a git repository or from a local copy of the Wwise Addressable Package.
    • Default: True
    • Options:
      • True: Install the package from git. Use this option if you plan to use the Wwise Addressable package as is.
      • False: Install a local copy of the package. Use this option if you plan to edit the Wwise Addressables code.
  • Package source
    • Description: The source where the Installer should fetch the Wwise Addressable Package.
    • Default: The official Wwise Addressables package release based on the current Integration version being used: https://github.com/audiokinetic/WwiseUnityAddressables.git#v2x.1.x
    • Options:
      • Git Repository URL: Automatically set based on the Wwise Integration version.
      • Path: A local or network location that contains the package.json file for the Wwise Unity Addressables package.
  • Addressable SoundBanks folder
    • Description: The directory in which to store the addressable SoundBanks.
    • Default: WwiseData/Banks
    • Options:
      • Path: The destination directory path, which can be anywhere under the Assets folder in the Unity project.
  • Use custom build script
    • Description: Whether to use a custom build script.
    • Default: False
    • Options:
      • True: Use a custom build script. If you select this option, you must specify a path in the Addressable asset build path setting.
      • False: Use the default Wwise Addressable build script.
  • Addressable asset build path (Only visible if Use existing custom build script is set to True.)
    • Description: Path to the custom build script Scriptable Object asset.
    • Default: Assets/AddressableAssetsData/DataBuilders/BuildScriptWwisePacked.asset
    • Options:
      • Path: The path to the Scriptable Object .asset file.

Running the Wwise Addressable Installer

The Wwise Addressable Installer is located under the Wwise in the Main Menu. After you ensure that you meet the prerequisites, and make any desired changes to the Wwise Addressable Installer Settings, click Install Addressable. The installation process automatically performs the following actions:

  1. Installs the Wwise Addressables Package through the Unity Package Manager.
  2. Sets the target directory for your generated SoundBanks.
  3. Generates the SoundBanks.
  4. Creates and imports the bank and wems assets.
  5. Adds the .bnk and .wem assets to Platform Specific Addressables groups.
  6. Creates a Wwise Build Script for Addressables.
  7. Adds the Build Script to the Addressables settings.
  8. Builds the Addressables.
  9. Reloads all the Scenes in order to set the Init Bank Holder.

Remember that you must rebuild the Addressable groups if you modify or add new SoundBanks to your project. When using auto-defined SoundBanks, this also applies to Events. Also remember to rebuild Addressable groups after you switch platforms.

Uninstalling the Wwise Addressables Package

After the Addressables Package is installed, the Install Addressable option in the Wwise Addressable Installer changes to Uninstall Addressable, which you can click to uninstall the package. The uninstallation process automatically performs the following actions:

  1. Deletes the folder that contains the generated SoundBanks from your Unity assets folder.
  2. Uninstalls the package.
  3. Cleans up the Addressables groups.
  4. Sets the SoundBank Paths to a path outside of the Assets folder.
  5. Regenerates your SoundBanks.


Wwise Unity Integration Documentation: Basic Tutorial For Packaging DLC

Basic Tutorial For Packaging DLC

Table of Contents

  • Prerequisites
  • Installing the Addressables Demo Scene
  • Getting Started
  • Loading Assets with Addressables
  • Loading Scenes with Addressables
  • Changing Languages
  • Setting Up Addressables Hosting
  • Updating an Addressables Asset

This example demonstrates how to separate certain assets (such as new items or characters) into a DLC asset bundle that is packaged using Addressables.

Prerequisites

Before you proceed with this tutorial, do the following:

  • Install the latest Wwise Demo Scene, as described in Wwise Demo Scene.
  • Install the Wwise Unity Addressables Package, as described in Installing the Wwise Unity Addressables Package.

Installing the Addressables Demo Scene

An Addressables Demo Scene is available on GitHub.

To install the Addressables Demo Scene:

  1. In a browser, open https://github.com/audiokinetic/WwiseUnityAddressablesDemoScene.
  2. Clone the repository to your computer.
  3. In the Unity Editor, open the WwiseDemoScene.
  4. Select Window > Package Manager.
  5. Click + and select Add package from disk.
    Warning: Do not select Add package from git URL. If you install the package that way, you cannot open the sample scenes.
  6. Open the package.json file in the WwiseUnityAddressablesDemoScene repository.

Getting Started

For this tutorial we have created two sound effects, an event and a SoundBank in the Wwise project.

We created two GameObject prefabs with AkBank and AkEvent components : DlcAssetHighImpact and DlcAssetLowImpact. These prefabs load the DLC SoundBank and play a sound effect when they are instantiated.

We also created two scenes: AddressablesDemoScene and AddressablesSubScene. AddressablesDemoScene is a simple Unity scene with some interactive buttons so we can test loading and unloading our Addressable assets. AddressablesSubScene is a scene containing only the DlcAssetLowImpact prefab. We will use it to test loading scenes containing Wwise objects with Addressables.

Note: The AddressablesDemoScene also contains an example of using localized voices and changing languages with the Wwise Addressables package.

All of these assets, as well as the scripts described in the following section, are found in the WwiseUnityAddressablesDemoScene package.

Mark the three following assets as addressable by enabling the Addressable checkbox in their inspector:

  • AddressablesSubScene.unity
  • Prefabs/DlcAssetHighImpact.prefab
  • Prefabs/DlcAssetLowImpact.prefab
Caution: Removing the Unity Addressables package from your project will remove the Addressable field from all assets and the state of this check box will not be preserved if you reinstall the package.

In the Addressables Groups window, you will find that these Addressable assets have been placed by default in the Default Local Group.

New groups can be created by either right-clicking the groups window and selecting Create New Group, or from the menu New > Packed Assets. Create two new groups for the DLC assets:

  • DLC_Assets for our prefabs and subscene.
  • DLC_WwiseData_Windows for our platform specific Soundbank assets.
Note: In this example we only create one additional SoundBank group for the Windows platform, but in general you should create one for each platform you plan on deploying to.
  • Move the DlcAssetHighImpact, DlcAssetLowImpact and AddressablesSubScene from the Default Local Group to the DLC_Assets group.
  • Move the platform specific DLC SoundBank asset from WwiseData_Windows to the DLC_WwiseData_Windows group.
Note:
  • We made sure to include the strings WwiseData and the platform name Windows in the platform specific group name, so that it will be properly handled by the BuildWwiseData script when building Addressables.
  • To save your group modifications, run the Assets > Wwise > Addressables > Serialize addressable asset metadata action once with the Use Sample Metadata Preserver setting enabled.

In the Groups window, set the Play Mode Script to Use Existing Build and build the new Addressable packages with the Wwise Build Script (as described in Building the Project).

Now, open the AddressablesDemoScene.

Loading Assets with Addressables

In this scene there are two buttons

  • The button on the left loads and instantiates the DlcAssetHighImpact prefab using Addressables.
  • The button on the right loads and instantiates the AddressableSubScene.
    • This scene contains the DlcAssetLowImpact asset.

If you inspect the Loading DLC Assets Demo GameObject, you will see that we have created an AssetLoader object, which contains the AddressablePrefabLoader component.

using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
public class AddressablePrefabLoader : MonoBehaviour
{
public AssetReference reference;
public void Load()
{
Addressables.LoadAssetAsync<GameObject>(reference).Completed += asyncOp =>
{
if (asyncOp.Status == AsyncOperationStatus.Succeeded)
{
Instantiate(asyncOp.Result,this.transform);
}
};
}
}

This component contains an AssetReference, which we have set to be the DlcAssetHighImpact prefab in its inspector.

When we run the game and press the left button, the Load method on the AddressablePrefabLoader will be called, loading it from the DLC_Assets and instantiating the DlcAssetHighImpact prefab. Once instantiated, the AkBank component will load the SoundBank from the DLC_WwiseData_Windows asset bundle.

Loading Scenes with Addressables

If you inspect the Loading DLC Scene Demo GameObject, you will see that we have created a SceneLoader object, which contains the AddressableSceneLoader component.

using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.ResourceManagement.ResourceProviders;
using UnityEngine.SceneManagement;
public class AddressableSceneLoader : MonoBehaviour
{
public AssetReference scene;
private AsyncOperationHandle<SceneInstance> sceneHandle;
public void Awake()
{
DontDestroyOnLoad(gameObject);
}
public void LoadScene()
{
if (!sceneHandle.IsValid() )
{
scene.LoadSceneAsync( LoadSceneMode.Additive).Completed += SceneLoadComplete;
}
else
{
UnloadScene();
}
}
public void UnloadScene()
{
Addressables.UnloadSceneAsync(sceneHandle).Completed += op =>
{
if (op.Status == AsyncOperationStatus.Succeeded)
{
Debug.Log("Successfully unloaded scene");
}
};
}
private void SceneLoadComplete(AsyncOperationHandle<SceneInstance> obj)
{
sceneHandle = obj;
if (obj.Status == AsyncOperationStatus.Succeeded)
{
Debug.Log(obj.Result.Scene.name + " successfully loaded");
}
}
}

This component uses an AssetReference to hold a reference to our AddressablesSubScene. The first time the button is pressed, the LoadSceneMethod is called, which will load the scene using the LoadSceneAsync method and add it to our current scene. The second time the button is pressed, the scene will be unloaded.

The AddressablesSubScene only contains our DlcAssetLowImpact prefab, which upon instantiation will load the DLC soundbank and play its corresponding event.

Changing Languages

The third demo in this scene lets you switch between the English and French languages and play a localized voice sample. This demo uses the AkWwiseSetLocalization script. Upon pressing the green or blue buttons, this calls the AkAddressableBankManager.SetLanguageAndReloadLocalizedBanks function to change the language to English or French.

This function performs the following operations:

  • Unload all localized banks
  • Unload the Init bank
  • Set the language using AkUnitySoundEngine.SetCurrentLanguage
  • Reload the Init bank
  • Reload the localized banks
using UnityEngine;
public class AkWwiseSetLocalization : MonoBehaviour
{
public string LanguageString;
public void SetLanguage()
{
Debug.Log($"Setting language to {LanguageString}");
AK.Wwise.Unity.WwiseAddressables.AkAddressableBankManager.Instance.SetLanguageAndReloadLocalizedBanks(LanguageString);
}
}

You can now build the AddressablesDemoScene and test the buttons to ensure that your built game is loading these assets.

Setting Up Addressables Hosting

Now we will configure Unity to serve our addressable DLC assets using its built-in hosting service. This will allow us to test updating assets using Addressables, without rebuilding our player.

First, build the AddressablesDemoScene and ensure that it works as expected. In the build window, you will have to add the AddressablesDemoScene with the Add open scenes button and select it as the scene to build.

Next we will configure Addressables Hosting, which can be accessed from the Tools menu.

Now create a Local Hosting service and enable it by selecting the Enable check box.

Open the Addressables Profiles window through the menu (Profile > Manage Profiles) and create a new profile named Editor Hosted.

Set Local and Remote. Then set the Paths to the following :

  • Local.BuildPath : HostedData/[BuildTarget]
  • Local.LoadPath : http://[PrivateIpAddress]:[HostingServicePort]
  • Remote.BuildPath : HostedData/[BuildTarget]
  • Remote.LoadPath : http://[PrivateIpAddress]:[HostingServicePort]

Then, use this profile by right-clicking Editor Hosted and selecting Set Active.

Note: Consult the official documentation for more information about using Addressables hosting service.

Inspect the DLC_WwiseData_Windows group asset and ensure that its Build & Load Paths have been updated.

Open your Addressable Asset Settings and enable Build Remote Catalog. Set the Build & Load Paths to Local.

Rebuild your addressable assets using the Wwise Build Script. The new adressable AssetBundles should be created in <Unity Project Path>\HostedData.

Now rebuild the AddressablesDemoScene to test that your assets are being served properly.

Open the Addressables Hosting window to view incoming requests as you run the game. The first time a button is pressed, a request should appear in the events log at the bottom of the window.

Updating an Addressables Asset

Now, we will update our DlcAssetHighImpact sound using Addressables.

First, in Wwise, adjust the imp_axe_stone_high sound sample's pitch value so that the change will be obvious. Then regenerate your SoundBanks.

Then, in the Addressables Groups window, select Build >Update a previous build. In the selection window that opens, select the addressables_content_state.bin file in AddressableAssetsData/Windows.

Finally, run your built game again (without rebuilding it). When it opens, you shoud see a request for the update catalog in the Addressables hosting window.

Then, when you press the left button, you should hear the sound effect at its new pitch height.

For more infomation about the Addressables catalog and the intended development cycle, consult the official documentation.

Note: This scripts provided in this tutorial are the minimum required to test loading assets with Addressables. You will likely want to use a more robust solution for loading assets in your project. Some more advanced examples can be found in the Unity Addressables Sample repository.
AK
Definition: AkWwiseAcousticTexture.cs:21
AK.Wwise
Definition: AkWwiseAcousticTexture.cs:21


Wwise Unity Integration Documentation: Wwise Addressable Samples

Wwise Addressable Samples

Table of Contents

  • The Wwise addressable asset metadata preserver
    • How it works
    • Sample code

The Wwise addressable asset metadata preserver

When working with addressable Wwise assets, the easiest way to ensure that WwiseAddressableBank assets are up to date is to delete the generated soundbanks folder and regenerate soundbanks. Deleting addressable assets will clear the contents of addressables groups as the assets are deleted, so when they are reimported, their parent group and labels will be lost. This sample script included in the Wwise Unity Addressables package provides the functionality to preserve addressable asset metadata such as parent groups and labels.

How it works

We have added an optional setting that can be enabled to help restore lost groups and labels. It can be found in the Unity project settings, under Wwise Addressables. Once enabled, a target directory for the metadata can be specified. This directory should be within the Unity project's assets folder.

The WwiseAssetMetadataPreserver script adds a menu trigger under Assets/Wwise/Addressables to save the metadata of all Wwise addressable assets in the project. When triggered, an AddressableMetadata asset will be created for each addressable Wwise asset, serializing the name of the parent group and labels. The script also registers itself with the WwiseBankPostProcess.GetAssetMetadataDelegate function. This delegate allows external code to fill in a metadata struct that it used to set the asset's fields when it is imported by the WwiseBankPostProcess custom importer (which imports .bnk and .wem files when they are added to the Unity project).

With these two mechanisms, asset metadata can be serialized before doing a cleanup, and will be reapplied to the assets when they are reimported after generating soundbanks.

Note:

This script is intended as an example of how this can be done. You may find that it is more relevant to implement your own metadata filler that better suits your production requirements.

Sample code

#if AK_WWISE_ADDRESSABLES && UNITY_ADDRESSABLES
using UnityEditor.AddressableAssets;
using UnityEditor.AddressableAssets.Settings;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using System.IO;
namespace AK.Wwise.Unity.WwiseAddressables
{
/*
This class provides the functionality to preserve and restore Wwise addressable asset group and label metadata.
This information is lost when the assets are deleted, and clearing the Wwise addressable asset folder is
the simplest way to repair broken WwiseAddressableSounbanks.
This class should be seen as an example of how to implement this functionality and not a complete solution.
*/
[InitializeOnLoad]
class WwiseAddressableAssetMetadataPreserver
{
static WwiseAddressableAssetMetadataPreserver()
{
if (AkAddressablesEditorSettings.Instance.UseSampleMetadataPreserver)
{
BindMetadataDelegate();
}
}
//Sets the GetAssetMetadataDelegate on the WwiseBankPostProcess AssetPostProcessor (which handles importing of .bnk and .wem files)
public static void BindMetadataDelegate()
{
WwiseBankPostProcess.GetAssetMetadataDelegate += GetMetadata;
}
//Unset the delegate (when the feature is disabled)
public static void UnbindMetaDataDelegate()
{
WwiseBankPostProcess.GetAssetMetadataDelegate -= GetMetadata;
}
//Creates a AddressableMetadata asset for each Addressable wwise asset that keeps track of groups and labels.
//Metadata assets are created in their own folder in a hierarchy matching the wwise assets
//The folder hierarchy and asset name are used to match the assets on import
[UnityEditor.MenuItem("Assets/Wwise/Addressables/Serialize addressable asset metadata")]
public static void PreserveAllWwiseAssetMetadata()
{
AddressableAssetSettings addressableSettings = AddressableAssetSettingsDefaultObject.Settings;
foreach (AddressableAssetGroup group in addressableSettings.groups)
{
foreach (AddressableAssetEntry assetEntry in group.entries)
{
if (assetEntry.MainAsset)
{
if (assetEntry.MainAsset.GetType().IsSubclassOf(typeof(WwiseAsset)))
{
CreateMetadataAsset(assetEntry.AssetPath, assetEntry.labels, group.name);
}
}
}
}
}
[UnityEditor.MenuItem("Assets/Wwise/Addressables/Preserve addressable asset metadata", true)]
public static bool ValidatePreserveAllWwiseAssetMetadata()
{
return AkAddressablesEditorSettings.Instance.UseSampleMetadataPreserver;
}
//Create the necessary subfolders and the metadata asset
public static void CreateMetadataAsset(string assetPath, HashSet<string> assetLabels, string groupName)
{
string soundbankPath = assetPath.Replace(AkAssetUtilities.GetSoundbanksPath(), "");
var splitBankPath = soundbankPath.Split('/');
AddressableMetadata metaDataAsset = ScriptableObject.CreateInstance<AddressableMetadata>();
metaDataAsset.labels = new List<string>(assetLabels);
metaDataAsset.groupName = groupName;
var rootPath = AkAddressablesEditorSettings.Instance.MetadataPath;
if (!Directory.Exists(Path.Combine(Application.dataPath, rootPath)))
{
UnityEditor.AssetDatabase.CreateFolder("Assets", rootPath);
}
for (int i = 1; i < splitBankPath.Length - 1; i++)
{
if (!Directory.Exists(Path.Combine(Application.dataPath, Path.Combine(rootPath, splitBankPath[i]))))
{
AssetDatabase.CreateFolder(Path.Combine("Assets", rootPath), splitBankPath[i]);
}
rootPath = Path.Combine(rootPath, splitBankPath[i]);
}
string assetMetadataPath = Path.Combine("Assets", rootPath, Path.GetFileNameWithoutExtension(assetPath) + ".asset");
AddressableMetadata oldAsset = AssetDatabase.LoadAssetAtPath<AddressableMetadata>(assetMetadataPath);
if (oldAsset)
{
if (!metaDataAsset.IsDifferent(oldAsset))
{
return;
}
}
UnityEditor.AssetDatabase.CreateAsset(metaDataAsset, assetMetadataPath);
}
//We know where the metadata asset should be located based on its platform and language.
public static AddressableMetadata FindMetadataAsset(string assetName, string platformName, string languageName)
{
string MetadataAssetPath;
if (languageName !="SFX")
{
MetadataAssetPath = Path.Combine("Assets", AkAddressablesEditorSettings.Instance.MetadataPath, platformName, languageName, Path.GetFileNameWithoutExtension(assetName) + ".asset");
}
else
{
MetadataAssetPath = Path.Combine("Assets", AkAddressablesEditorSettings.Instance.MetadataPath, platformName, Path.GetFileNameWithoutExtension(assetName) + ".asset");
}
return AssetDatabase.LoadAssetAtPath<AddressableMetadata>(MetadataAssetPath);
}
//Called when importing .bnk and .wem files. Will attempt to find an existing metadata object in the project and load it.
public static bool GetMetadata(string assetName, string platformName, string languageName, ref AddressableMetadata metaData )
{
AddressableMetadata asset = FindMetadataAsset(assetName, platformName, languageName);
if ( asset )
{
metaData = asset;
return true;
}
return false;
}
}
}
#endif


Wwise Unity Integration Documentation: Troubleshooting

Troubleshooting
  • Wwise Components/Types show stale or inconsistent data
  • Compiling errors after installation
  • DllNotFoundException in the Unity console
  • There is no sound
  • Can't connect the Wwise Profiler
  • Error during installation - Access to the path is denied in the Unity console
  • Error during SoundBank generation on Wwise for Mac - Cannot write to Wwise_IDs.h
  • Error: Plugin Not Registered
  • "Multiple plugins with the same name" in the Unity Console on Mac
  • Unable to integrate or migrate Wwise in a project with Google Play Services installed

Wwise Components/Types show stale or inconsistent data

If you notice Wwise Components, such as AkAmbient or AkState, lose references to their Wwise object, you may have added AkWwiseProjectData.asset to version control. If AkWwiseProjectData.asset is locked, such as often is the case when under version control, new files will be created of the form AkWwiseProjectData##.asset. If this occurs, delete all of them, then click Auto populate in the Wwise Picker to regenerate the file.

Note: Do not keep AkWwiseProjectData.asset under version control! This is a temporary cache file for the Wwise project data, so as to avoid having the Wwise Picker continuously parse the Work Unit files.

Compiling errors after installation

If you have just upgraded Wwise from a previous version, you may have duplicate scripts. In version 2013.2.8, the UNITY_PROJECT_ROOT\Assets\Wwise\Deployment\Examples folder was renamed to Components. If you haven't made any changes to the scripts in the Examples folder, you can simply delete it.

Also, if you develop on multiple platforms, make sure that you have installed the UnityPackage for each of your development platforms. There are some scripts that are platform-specific.

DllNotFoundException in the Unity console

If you see a DllNotFoundException message about AkSoundEngine in the Unity console on Windows, this can be caused by two missing dependencies:

  • Make sure you have DirectX installed on your machine.
  • If you are using the Debug config of the Wwise-Unity Integration, you also need the Microsoft Visual Studio 2010 Debug Redistributables installed. Normally, the Profile configuration is installed by default, so this should not be an issue unless you manually installed the Debug config.

There is no sound

If you hear no sound in your game, check the following:

  • If there is no sound when you run the game in standalone, try to run your game in the Editor on Windows or Mac. It is easier to fix the issues in the editor first.
  • Ensure your SoundBanks have been properly generated, and that Unity can find them. If you are running the game in the editor, the integration will look for the SoundBanks in the Generated SoundBanks path from your Wwise project. If none are found there, it will then look in the StreamingAssets folder. Note that if you chose to override the project SoundBank path in Wwise, the integration will not be able to load them automatically. For more information on the issue, see Build your Unity Game for a Target Platform
  • Ensure that the Sound Engine is initialized properly before any other audio calls are made, and terminated after all engine calls are completed. Ensure that your scripts have execution orders greater than -100, which is the value set for AkInitializer. See DefaultExecutionOrder for more information.
  • Ensure that the Enable Auto-Defined SoundBanks option is deselected in the Wwise Project Settings dialog.
  • Make sure there are no errors reported in the Unity console.
  • If you connect the Wwise Profiler (F7, in Wwise) while running your game, are there errors reported in the Capture Log?
  • In the Wwise Profiler, in the SoundBank tab can you see your bank(s) loaded? If the tab is not visible, open the Profiling Settings (Alt-G) and enable the SoundBanks. If they are not loaded, you should check when and how you load them. Look for AkBank components and AkUnitySoundEngine.LoadBank calls.
  • In the Wwise Profiler, in the Capture Log, can you see your expected Event posted? If not, you should check that your SoundBanks contain these Events and that they are properly loaded (see previous point). If the banks are loaded, you should check the AkEvent, AkAmbient components and AkUnitySoundEngine.PostEvent calls in your game scripts.

Can't connect the Wwise Profiler

If your game is running on Windows, check the following:

  • Verify that the Run in background setting is enabled in Unity (menu File > Build Settings > Player Settings).
  • Verify that the firewall on your machine allows port 24024 and that Wwise is set as an exception. If the firewall is disabled it is not an issue.
  • Which configuration of the Wwise-Unity Plug-in are you running? Only Debug and Profile have the communication code enabled.
  • Open the Task Manager, kill any process named "adb.exe". This is the Android driver and it locks TCP ports. This is true even if you don't develop on Android or have any Android device connected. (This is an issue on Google's side.)

If your game is running on another computer or console, check the following:

  • Are your Wwise computer and game console on the same subnet? If not, the game will not appear in the Remote Connection dialog. Enter the IP manually with the Connect To IP button.
  • Is your network allowing traffic on port 24024 or dynamic port allocations?

Error during installation - Access to the path is denied in the Unity console

If you see a Wwise: Error during installation: Access to the path is denied message in the Unity console, check the following:

  • Did you try to install a new Plug-in configuration (Debug, Profile, Release) from the Assets > Wwise > Install Plugins menu right after:
    • installing the new Unity Integration from the Wwise Setup window?
    • previewing a Scene in the Unity Editor?
  • Reopen your Unity project and install the new Plug-in configuration (Debug, Profile, Release) right away.

Error during SoundBank generation on Wwise for Mac - Cannot write to Wwise_IDs.h

If, using Wwise for Mac, you see an error during SoundBank generation about not being able to write to Wwise_IDs.h, check the following:

  • Open the Wwise project.
  • In the project settings, go to the SoundBanks tab.
  • Set the Header file path to where the SoundBanks are generated.

Error: Plugin Not Registered

Your Wwise project uses a licensed plug-in which hasn't been included yet in your AkSoundEngine dynamic library. See Adding Plug-ins.

"Multiple plugins with the same name" in the Unity Console on Mac

Using Unity for Mac, upon importing the Integration, the Unity Console might display many errors that say:

Multiple plug-ins with the same name 'aksoundengine' (found at 'Assets/Wwise/API/Runtime/Plugins/Mac/Release/AkSoundEngine.bundle' and 'Assets/Wwise/API/Runtime/Plugins/Mac/Debug/AkSoundEngine.bundle'). That means one or more plug-ins are set to be compatible with Editor. Only one plug-in at a time can be used by Editor.

These errors can be safely ignored, as the installation process will properly activate the correct plug-ins.

Unable to integrate or migrate Wwise in a project with Google Play Services installed

The Audiokinetic Launcher will fail to integrate Wwise into or migrate Wwise in a Unity project that has Google Play Services installed when the build target is set to Android. To workaround this limitation, open the Unity project, set the build target to a non-Android platform, close Unity, and restart the integration or migration via the Launcher.


Wwise Unity Integration Documentation: Copyright

Copyright

© 2024 Audiokinetic Inc. All rights reserved. Wwise Unity Integration

This document (whether in written, graphic or video form) is supplied as a guide for the Wwise Unity Integration product. This documentation is the property of Audiokinetic Inc. (“Audiokinetic”), and protected by Canadian copyright law and in other jurisdictions by virtue of international copyright treaties. It may be used by you in accordance with the following.

This documentation may be duplicated, reproduced, stored or transmitted, exclusively for your internal, non-commercial purposes. You may compile different extracts of the documentation to suit such internal purposes, but you may not alter the content of any portion of the documentation. Any copy of the documentation shall retain all copyright and other proprietary notices contained therein.

The content of this documentation is furnished for information purposes only, and its content is subject to change without notice. Reasonable care has been taken in preparing the information contained in this document, however, we disclaim all representations, warranties and conditions, whether express, implied or arising out of usage of trade or course of dealing, concerning this documentation and assume no responsibility or liability for any losses or damages of any kind arising out of the use of this guide or of any error or inaccuracy it may contain, even if we have been advised of the possibility of such loss or damage.

Wwise®, Audiokinetic®, Actor-Mixer®, SoundFrame® and Soundseed® are registered trademarks, and Master-Mixer™, SoundCaster™ and Randomizer™ are trademarks of Audiokinetic. Other trademarks, trade names or company names referenced herein may be the property of their respective owners.


Wwise Unity Integration Documentation: WAAPI Utilities

WAAPI Utilities

As of version 2018.1, support for the Wwise Authoring API (WAAPI) is built into the Unity integration (for more information, refer to Using the Wwise Authoring API (WAAPI)). In version 2021.1, the Wwise Authoring API (WAAPI) was redesigned for better integration with the Wwise Picker and overall ease of use. More information about how WAAPI is used with Wwise Picker is found on its documentation page: Wwise Picker.

  1. WAAPI Settings
    1. Troubleshooting
  2. Using WAAPI in Unity
    1. Fetching Wwise Objects Using Waapi
    2. Subscribing to Topics
    3. Disconnection
    4. Other WAAPI Commands

WAAPI Settings

WAAPI settings are found in Project Settings > Wwise Integration > Wwise Authoring API .

If the Connect to Wwise checkbox is unchecked, WAAPI functionalities will be disabled. By default, the WAAPI client will connect to port 8080 on the localhost (127.0.0.1). Changing these settings while WAAPI is connected will close the current connection and attempt to connect to the new target address.

Troubleshooting

Here are some potential solutions if you are having issues connecting to a project:

  • Check that you have opened the correct project in Wwise Authoring.
  • Check that the Wwise Project Path in Project Settings > Wwise Integration > Wwise Project is correct.
  • If you have multiple Wwise Authoring instances open, one of them might block the WAAPI port of the other.
  • Check that WAAPI is enabled in Wwise Authoring and that your allowed connections and port are correct
    • WAAPI settings are found in User Preferences.

Using WAAPI in Unity

The AKWaapiClient class uses a websocket connection to send and receive messages with Wwise Authoring. WAAPI messages are JSON objects. WAAPI calls are asynchronous, and because calls to WAAPI may come from threads such as the GUI thread, we cannot wait for their response. The websocket implementation can also only wait for one response at a time, so the WAAPI client is wrapped by the AkWaapiUtilities class. This class provides a set of functions to create and enqueue WAAPI requests and then calls them sequentially during its update loop. WAAPI requests are encapsulated in a WaapiCommand, which simply contains an asynchronous function pointer payload. When a command is consumed, its payload is executed.

The functions provided in AkWaapiUtilities should address most of your needs, but if you have a specific use for WAAPI that is not built in, you can still implement it yourself. Refer to Other WAAPI Commands for details.

Caution: Most of the provided WAAPI calls use the Wwise Authoring Query Language (WAQL). For more information about WAQL, refer to the WAQL introduction and reference pages.

Fetching Wwise Objects Using Waapi

AkWaapiUtilities already contains built-in WAAPI calls for fetching Wwise objects:

  • AkWaapiUtilities.GetWwiseObject<T>
  • AkWaapiUtilities.GetWwiseObjectAndDescendants<T>
  • AkWaapiUtilities.GetWwiseObjectAndAncestors<T>
  • AkWaapiUtilities.Search<T>
  • AkWaapiUtilities.GetChildren<T>

These will return a list of objects that contain the properties specified in the return options. A complete list of return options is found in the WAAPI documentation.

The Wwise Picker uses the WwiseObjectInfoJsonObject as the template type for these functions. These objects are then cast to WwiseObjectInfo by AkWaapiUtilities.ParseObjectInfo.

If you want to fetch object properties not contained in WwiseObjectInfo, you will need a custom class for the properties you wish to access. For example, if you are only interested in the Notes field you could create a class as follows:

public class WwiseObjectNotes
{
public string notes;
}

Then we can call AkWaapiUtilities.GetWwiseObject<T> (or any of the other functions listed previously) with a ReturnOptions object listing only the notes field and a callback accepting a list of WwiseObjectNotes.

{
var callback = ( List<WwiseObjectNotes> notes ) => {
// do something
};
var options = new ReturnOptions(new string[] { "notes" });
var objectGuid = System.Guid.Empty(); //Put an actual guid from your project here
AkWaapiUtilities.GetWwiseObject<WwiseObjectNotes>( objectGuid, options, callback);
}

The AkWwiseTreeWAAPIDataSource class contains many examples of using WAAPI to fetch Wwise objects to populate the Wwise Picker.

Subscribing to Topics

Use AkWaapiUtilities.Subscribe to subscribe to a WAAPI topic. The URI identifies the topic being subscribed to. The callback argument is the function accepting a JSON string argument to be called when the topic is published. The handshakeCallback is called when the subscription is successfully registered. It receives a AkWaapiUtilities.SubscriptionInfo object which contains the subscription identifier. The class that requested the subscription should store this information.

Caution: The class calling AkWaapiUtilities.Subscribe is responsible for cleaning up its subscriptions at the end of its lifetime. This is done by calling AkWaapiUtilities.Unsubscribe.

For an example of subscriptions used in the integration, see the AkWwiseTreeWAAPIDataSource class.

  • AkWwiseTreeWAAPIDataSource.SubscribeTopics
  • AkWwiseTreeWAAPIDataSource.UnsubscribeTopics

More information on the available topics is found in the >Wwise Authoring API Reference.

  • Most topic URIs are found in Uri.cs

Disconnection

When the WAAPI connection is about the be closed (or has been abruptly closed), the AkWaapiUtilities.Disconnection delegate is called. The boolean parameter of the delegate indicates whether the connection is still alive.

Note: Classes that subscribe to WAAPI topics should bind to this delegate so that they can unsubscribe before the connection is lost.

Other WAAPI Commands

The AkWaapiUtilities class contains the following additional functions that allow you to interact with your WAAPI project from within Unity:

  • AkWaapiUtilities.SelectObjectInAuthoring
  • AkWaapiUtilities.OpenWorkUnitInExplorer
  • AkWaapiUtilities.OpenSoundBankInExplorer
  • AkWaapiUtilities.Rename
  • AkWaapiUtilities.Delete
  • AkWaapiUtilities.TogglePlayEvent
  • AkWaapiUtilities.StopAllTransports

You can find examples of these commands being used in AkWwisePicker and AkWwiseTreeView .

If the WAAPI command you want to execute is not already implemented in AkWaapiUtilities, you are still able to create your own commands. In order to make WAAPI calls and receive responses, JSON arguments must be constructed and parsed.

For commands with nothing to parse from their response, use AkWaapiUtilities.QueueCommand

For commands with values to parse from their response, use AkWaapiUtilities.QueueCommandWithReturnType<T>

The Unity JsonUtility class makes it easy to translate between C# classes and JSON strings. Use JsonSerializable as a base class for arguments and options that must be converted to a JSON string.

public class JsonSerializable
{
public static implicit operator string(JsonSerializable o) => UnityEngine.JsonUtility.ToJson(o);
}

This class can then be extended to provide C# wrappers for specific WAAPI schemas. For examples of how these can be used, see how we created the necessary schema classes to play Events and subscribe to transports using WAAPI:

Arguments and options schemas

  • ArgsPlay
  • ArgsObject
  • TransportOptions

Returned object schemas

  • ReturnTransport
  • TransportState

You can see how they are used in AkWaapiUtilities.TogglePlayWwiseEventAsync and AkWaapiUtilities.CreateTransport.

JsonSerializable
Base class for Json serializable objects. Implements implicit cast to string using UnityEngine....
Definition: AkWaapiHelper.cs:27
ReturnOptions
WAAPI options to specify the names of fields to return in a WAAPI request returning WwiseObjects.
Definition: AkWaapiHelper.cs:150
AkWaapiUtilities
This class wraps the client that communicates with the Wwise Authoring application via WAAPI....
Definition: AkWaapiUtilities.cs:34


Wwise Unity Integration Documentation: Namespace List

Namespace List
Here is a list of all documented namespaces with brief descriptions:
[detail level 12]
▼N AK
N Wwise


Wwise Unity Integration Documentation: AK Namespace Reference

Namespaces
AK Namespace Reference


Wwise Unity Integration Documentation: AK.Wwise Namespace Reference

  • AK
  • Wwise
Classes
AK.Wwise Namespace Reference

Classes

class | AcousticTexture
This type represents an Acoustic Texture. More...
class | AuxBus
This type represents an auxiliary send in the Master-Mixer Hierarchy. More...
class | Bank
This type can be used to load/unload SoundBanks. More...
class | BaseGroupType
This type represents the base for all Wwise Types that also require a group GUID, such as State and Switch. More...
class | BaseType
This type represents the base for all Wwise Types that require a GUID. More...
class | CallbackFlags
This type represents the values of the flags used when posting an Event with a callback. More...
class | Event
This type can be used to post Events to the sound engine. More...
class | RTPC
This type can be used to set game parameter values to the sound engine. More...
class | State
This type can be used to set Wwise States. More...
class | Switch
This type can be used to set Switch values on gameobjects. More...
class | Trigger
This type can be used to post triggers to the sound engine. More...


Wwise Unity Integration Documentation: Class List

Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
▼N AK |
▼N Wwise |
C AcousticTexture | This type represents an Acoustic Texture
C AuxBus | This type represents an auxiliary send in the Master-Mixer Hierarchy
C Bank | This type can be used to load/unload SoundBanks
C BaseGroupType | This type represents the base for all Wwise Types that also require a group GUID, such as State and Switch
C BaseType | This type represents the base for all Wwise Types that require a GUID
C CallbackFlags | This type represents the values of the flags used when posting an Event with a callback
C Event | This type can be used to post Events to the sound engine
C RTPC | This type can be used to set game parameter values to the sound engine
C State | This type can be used to set Wwise States
C Switch | This type can be used to set Switch values on gameobjects
C Trigger | This type can be used to post triggers to the sound engine
C ak | URI strings to use in WAAPI calls. For a complete description, refer to the official Wwise SDK documentation
C AkAmbient | Use this component to attach a Wwise Event to any object in a scene. The sound can be started at various moments, dependent on the selected Unity trigger. This component is more useful for ambient sounds (sounds related to scene-bound objects) but could also be used for other purposes. Since AkAmbient has AkEvent as its base class, it features the play/stop, play multiple, stop multiple and stop all buttons for previewing the associated Wwise event
C AkAmbientLargeModePositioner | Use this component to add a Large Mode position to any AkAmbient in a Scene
C AkAudioListener | Add this script on the game object that represent a listener. This is normally added to the Camera object or the Player object, but can be added to any game object when implementing 3D busses. isDefaultListener determines whether the game object will be considered a default listener - a listener that automatically listens to all game objects that do not have listeners attached to their AkGameObjListenerList's
C AkBank | Loads and unloads a SoundBank at a specified moment. Vorbis sounds can be decompressed at a specified moment using the decode compressed data option. In that case, the SoundBank will be prepared
C AkEarlyReflections | Set an early reflections auxiliary bus and send volume for a particular game object
C AkEmitterObstructionOcclusion | Completely obstructs/occludes the emitter of the current game object from its listeners if at least one object is between them
▼C AkEnvironment | Use this component to define a reverb zone. This needs to be added to a collider object to work properly. See Using AkEnvironment and AkEnvironmentPortal from the Inspector
C AkEnvironment_CompareByPriority | Sorts AkEnvironments based on their priorities
C AkEnvironment_CompareBySelectionAlgorithm | Sorts AkEnvironments based on the selection algorithm. The selection algorithm is as follows:
▼C AkEnvironmentPortal | Use this component to define an area that straddles two different AkEnvironment's zones and allow mixing between both zones. Using AkEnvironment and AkEnvironmentPortal from the Inspector
C EnvListWrapper | This enables us to detect intersections between portals and environments in the editor
C AkEvent | Helper class that knows a Wwise Event and when to trigger it in Unity. As of 2017.2.0, the AkEvent inspector has buttons for play/stop, play multiple, stop multiple, and stop all. Play/Stop will play or stop the event such that it can be previewed both in edit mode and play mode. When multiple objects are selected, Play Multiple and Stop Multiple will play or stop the associated AkEvent for each object
C AkEventCallbackMsg | Event callback information. Event callback functions can receive this structure as a parameter
C AkGameObj | This component represents a sound object in your scene and tracks its position and other game syncs such as Switches, RTPCs, and environment values. You can add this to any object that emits sound, and it is added to any object to which an AkAudioListener is attached. If it is not present, Wwise adds it automatically, with the default values, to any Unity Game Object that is passed to Wwise
C AkInitializer | This script deals with initialization, and frame updates of the Wwise audio engine. It is marked as DontDestroyOnLoad so it stays active for the life of the game, not only one scene. Double-click the Initialization Settings entry, AkWwiseInitializationSettings, to review and edit Wwise initialization settings
C AkListenerDistanceProbe | Add this script on a listener game object to assign another game object as a distance probe. The position of the distance probe will be used for distance calculations for the listener, instead of the position of the listener itself. In third-person perspective applications, the distance probe Game Object may be set to the player character's position, and the listener Game Object's position to that of the camera. In this scenario, attenuation is based on the distance between the character and the sound, whereas panning, spatialization, and spread and focus calculations are based on the camera
C AkMemBankLoader | This class is an example of how to load banks in Wwise, if the bank data was preloaded in memory. This would be useful for situations where you use the WWW class
C AkRadialEmitter | A radial emitter is for sounds that are not point sources, but instead originate from a region of space
C AkReverbZone | This component establishes a parent-child relationship between two Rooms and allows for sound propagation between them as if they were the same Room, without the need for a connecting Portal
C AkRoom | An AkRoom is an enclosed environment that can only communicate to the outside/other rooms with AkRoomPortals
C AkRoomAwareManager | This manager tracks the AkRoomAwareObjects and the AkRooms in which they enter and exit
C AkRoomAwareObject | This component makes a GameObject aware of AkRoom components. When using Spatial Audio rooms, all emitters and the spatial audio listener should have this component
C AkRoomManager | This manager tracks AkRoomPortals and the rooms that they connect (front and back room)
C AkRoomPortal | An AkRoomPortal can connect two AkRoom components together
C AkRoomPortalObstruction | Completely obstructs the spatial audio portal of the current game object from the spatial audio listener if at least one object is between them
C AkSpatialAudioDebugDraw | Add this script on a GameObject to print Spatial Audio paths
C AkSpatialAudioEmitter | (DEPRECATED) This script is deprecated as of 2019.2. Early reflections, Diffraction and Room Reverb can all be enabled per sound in the Sound Property Editor of the Authoring
▼C AkSpatialAudioListener | Add this script on the game object that represent a listener. This is normally added to the Camera object or the Player object, but can be added to any game object when implementing 3D busses. isDefaultListener determines whether the game object will be considered a default listener - a listener that automatically listens to all game objects that do not have listeners attached to their AkGameObjListenerList's
C SpatialAudioListenerList | This class represents the list of active Unity Game Objects that are designated to be spatial audio listeners. Currently, only one spatial audio listener can be active at a time
C AkState | This will call AkUnitySoundEngine.SetState() whenever the selected Unity event is triggered. For example this component could be set on a Unity collider to trigger when an object enters it
▼C AkSurfaceReflector | This component converts the provided mesh into Spatial Audio Geometry
C GeometryData | The Spatial Audio Geometry Data. Can be used when calling AkUnitySoundEngine.SetGeometry()
C AkSwitch | This will call AkUnitySoundEngine.SetSwitch() whenever the selected Unity event is triggered. For example, this component could be set on a Unity collider to trigger when an object enters it
C AkTriggerBase | Base class for the generic triggering mechanism for Wwise Integration. All Wwise components will use this mechanism to drive their behavior. Derive from this class to add your own triggering condition, as described in Adding New Triggers for Wwise Events
▼C AkWaapiUtilities | This class wraps the client that communicates with the Wwise Authoring application via WAAPI. Given that only one request can be pending on the websocket, a queue is used to consume all calls sequentially. Messages sent to WAAPI use the JSON format and are serialized by Unity Json serialization. Helper classes (WaapiHelper) for serialization, keywords for WAAPI commands (WaapiKeywords), and classes for serializing message arguments and deserializing responses are found in AkWaapiHelper.cs. Uri.cs contains classes with fields containing URI strings for WAAPI calls and error messages
C SubscriptionInfo | Class used to store information about a specific subscription
C WaapiCommand | A simple structure containing an async payload function that will be executed when it is consumed by the command queue
C AkWwiseTreeWAAPIDataSource | This class communicates with Wwise Authoring via AkWaapiUtilities to keep track of the Wwise object hierarchy in the project. This hierarchy information is stored in a tree structure and is used by the Wwise Picker when it is in WAAPI mode. Changes to the project are received via WAAPI subscriptions
C AkWwiseTrigger | This will call AkUnitySoundEngine.PostTrigger() whenever the selected Unity event is triggered. For example this component could be set on a Unity collider to trigger when an object enters it
C Args | Abstract base class for WAAPI command arguments
C ArgsCommand | WAAPI arguments containing an object identfier and command field. Used by AkWaapiUtilities.SelectObjectInAuthoringAsync()
C ArgsDisplayName | WAAPI arguments containing an object identfier and name used when deleting an object
C ArgsObject | WAAPI arguments containing an object identfier
C ArgsPlay | WAAPI arguments containing an Event identfier and transport ID. Used to toggle Event playback
C ArgsRename | WAAPI arguments containing an object identfier and new value used when renaming an object
C ArgsTransport | WAAPI arguments containing a transport ID. Used to specify transports in transport-specific commands
C ErrorDetails | Used to deserialize details in WAAPI error messages
C ErrorMessage | Used to deserialize WAAPI error messages
C JsonSerializable | Base class for Json serializable objects. Implements implicit cast to string using UnityEngine.JsonUtility.ToJson
C Options | Abstract base class for WAAPI command options
C ReturnOptions | WAAPI options to specify the names of fields to return in a WAAPI request returning WwiseObjects
C ReturnTransport | Used to deserialize the response from an ak.wwise.core.transport.create command. Contains the transport ID
C ReturnWwiseObjects | Class used to deserialize a WAAPI response containing Wwise objects
C ReturnWwiseObjects | Generic class to deserialize a WAAPI response containing Wwise objects with custom return options
C SelectedWwiseObjects | Class used to deserialize selected Wwise objects published on the ak.wwise.ui.selectionChanged topic
C TransportOptions | WAAPI options used to specify the transport ID when subscribing
C TransportState | Used to deserialize transport-state information receieved from the transport.stateChanged topic
C WaapiHelper | Contains a helper function GetWwiseObjectTypeFromString
C WaapiKeywords | Contains fields for specific WAAPI keywords
▼C Wamp | WAMP protocol implementation using only strings and regular expressions. This implements only a subset of the WAMP feature set and is only compatible with Wwise
C ErrorException | Exception thrown during WAMP operations
C TimeoutException | Exception thrown during WAMP operations when the timeout is reached
C WaqlArgs | WAAPI arguments containing a WAQL string
C WwiseChildModifiedInfo | Used to deserialize information published on the ak.ww.nosp@m.ise..nosp@m.core..nosp@m.@obj.nosp@m.ect.c.nosp@m.hild.nosp@m.Added and ak.ww.nosp@m.ise..nosp@m.core..nosp@m.@obj.nosp@m.ect.c.nosp@m.hild.nosp@m.Remov.nosp@m.ed topics
C WwiseObjectInfo | Class containing the information returned by a WAAPI request for an object
C WwiseObjectInfoJsonObject | Used to deserialize information from a request for a Wwise object. Implements an implicit cast to WwiseObjectInfo
C WwiseObjectInfoParent | Contains the GUID of the returned object's parent
C WwiseRenameInfo | Used to deserialize information published on the ak.ww.nosp@m.ise..nosp@m.core..nosp@m.@obj.nosp@m.ect.n.nosp@m.ameC.nosp@m.hange.nosp@m.d topic


Wwise Unity Integration Documentation: AK.Wwise.AcousticTexture Class Reference

  • AK
  • Wwise
  • AcousticTexture
List of all members
AK.Wwise.AcousticTexture Class Reference

This type represents an Acoustic Texture. More...

Inheritance diagram for AK.Wwise.AcousticTexture:
AK.Wwise.BaseType

Detailed Description

This type represents an Acoustic Texture.


Wwise Unity Integration Documentation: AK.Wwise.AuxBus Class Reference

  • AK
  • Wwise
  • AuxBus
List of all members
AK.Wwise.AuxBus Class Reference

This type represents an auxiliary send in the Master-Mixer Hierarchy. More...

Inheritance diagram for AK.Wwise.AuxBus:
AK.Wwise.BaseType

Detailed Description

This type represents an auxiliary send in the Master-Mixer Hierarchy.


Wwise Unity Integration Documentation: AK.Wwise.Bank Class Reference

  • AK
  • Wwise
  • Bank
Public Member Functions | Public Attributes | List of all members
AK.Wwise.Bank Class Reference

This type can be used to load/unload SoundBanks. More...

Inheritance diagram for AK.Wwise.Bank:
AK.Wwise.BaseType

Public Member Functions

void | Load (bool decodeBank=false, bool saveDecodedBank=false)
Load the SoundBank For more details about bank decoding, see 'Saving a Decoded SoundBank' in Lesson 3 of the Wwise 301 certification. More...
void | LoadAsync (AkCallbackManager.BankCallback callback=null)
Load the SoundBank asynchronously. More...
void | Unload ()
Unload the SoundBank. More...

Public Attributes

WwiseBankReference WwiseObjectReference
The reference to the SoundBank the script loads or unloads. More...

Detailed Description

This type can be used to load/unload SoundBanks.


Wwise Unity Integration Documentation: AK.Wwise.Bank.Load

  • AK
  • Wwise
  • Bank
Load
LoadAsync
Unload
WwiseObjectReference

◆ Load()

void AK.Wwise.Bank.Load | ( | bool | decodeBank = false,
 |  | bool | saveDecodedBank = false
 | ) |  |
inline

Load the SoundBank For more details about bank decoding, see 'Saving a Decoded SoundBank' in Lesson 3 of the Wwise 301 certification.

Parameters
[in] | decodeBank | (Deprecated) Whether to decode the bank or not.
[in] | saveDecodedBank | (Deprecated) Whether to save the decoded bank or not.


Wwise Unity Integration Documentation: AK.Wwise.Bank.LoadAsync

  • AK
  • Wwise
  • Bank
Load
LoadAsync
Unload
WwiseObjectReference

◆ LoadAsync()

void AK.Wwise.Bank.LoadAsync ( AkCallbackManager.BankCallback callback = null )
inline

Load the SoundBank asynchronously.

Parameters
[in] callback A callback called when the loading operation is complete.


Wwise Unity Integration Documentation: AK.Wwise.Bank.Unload

  • AK
  • Wwise
  • Bank
Load
LoadAsync
Unload
WwiseObjectReference

◆ Unload()

void AK.Wwise.Bank.Unload ( )
inline

Unload the SoundBank.


Wwise Unity Integration Documentation: AK.Wwise.Bank.WwiseObjectReference

  • AK
  • Wwise
  • Bank
Load
LoadAsync
Unload
WwiseObjectReference

◆ WwiseObjectReference

WwiseBankReference AK.Wwise.Bank.WwiseObjectReference

The reference to the SoundBank the script loads or unloads.


Wwise Unity Integration Documentation: AK.Wwise.BaseGroupType Class Reference

  • AK
  • Wwise
  • BaseGroupType
List of all members
AK.Wwise.BaseGroupType Class Reference

This type represents the base for all Wwise Types that also require a group GUID, such as State and Switch. More...

Inheritance diagram for AK.Wwise.BaseGroupType:
AK.Wwise.BaseType AK.Wwise.State AK.Wwise.Switch

Detailed Description

This type represents the base for all Wwise Types that also require a group GUID, such as State and Switch.


Wwise Unity Integration Documentation: AK.Wwise.BaseType Class Reference

  • AK
  • Wwise
  • BaseType
List of all members
AK.Wwise.BaseType Class Reference

This type represents the base for all Wwise Types that require a GUID. More...

Inheritance diagram for AK.Wwise.BaseType:
AK.Wwise.AcousticTexture AK.Wwise.AuxBus AK.Wwise.Bank AK.Wwise.BaseGroupType AK.Wwise.Event AK.Wwise.RTPC AK.Wwise.Trigger AK.Wwise.State AK.Wwise.Switch

Detailed Description

This type represents the base for all Wwise Types that require a GUID.


Wwise Unity Integration Documentation: AK.Wwise.CallbackFlags Class Reference

  • AK
  • Wwise
  • CallbackFlags
List of all members
AK.Wwise.CallbackFlags Class Reference

This type represents the values of the flags used when posting an Event with a callback. More...

Detailed Description

This type represents the values of the flags used when posting an Event with a callback.


Wwise Unity Integration Documentation: AK.Wwise.Event Class Reference

  • AK
  • Wwise
  • Event
Public Member Functions | List of all members
AK.Wwise.Event Class Reference

This type can be used to post Events to the sound engine. More...

Inheritance diagram for AK.Wwise.Event:
AK.Wwise.BaseType

Public Member Functions

uint | Post (UnityEngine.GameObject gameObject)
Posts this Event on a GameObject. More...
uint | Post (UnityEngine.GameObject gameObject, CallbackFlags flags, AkCallbackManager.EventCallback callback, object cookie=null)
Posts this Event on a GameObject. More...
uint | Post (UnityEngine.GameObject gameObject, uint flags, AkCallbackManager.EventCallback callback, object cookie=null)
Posts this Event on a GameObject. More...
uint | Post (ulong gameObjectId)
Posts this Event on a GameObject ID. More...
void | ExecuteAction (UnityEngine.GameObject gameObject, AkActionOnEventType actionOnEventType, int transitionDuration, AkCurveInterpolation curveInterpolation)
Executes various actions on this event associated with a GameObject. More...
void | PostMIDI (UnityEngine.GameObject gameObject, AkMIDIPostArray array)
Posts MIDI Events on this Event associated with a GameObject. More...
void | PostMIDI (UnityEngine.GameObject gameObject, AkMIDIPostArray array, int count)
Posts MIDI Events on this Event associated with a GameObject. More...
void | StopMIDI (UnityEngine.GameObject gameObject)
Stops MIDI Events on this Event associated with a GameObject. More...
void | StopMIDI ()
Stops all MIDI Events on this Event. More...

Detailed Description

This type can be used to post Events to the sound engine.


Wwise Unity Integration Documentation: AK.Wwise.Event.ExecuteAction

  • AK
  • Wwise
  • Event
ExecuteAction
Post
Post
Post
Post
PostMIDI
PostMIDI
StopMIDI
StopMIDI

◆ ExecuteAction()

void AK.Wwise.Event.ExecuteAction | ( | UnityEngine.GameObject | gameObject,
 |  | AkActionOnEventType | actionOnEventType,
 |  | int | transitionDuration,
 |  | AkCurveInterpolation | curveInterpolation
 | ) |  |
inline

Executes various actions on this event associated with a GameObject.

Parameters
gameObject The GameObject
actionOnEventType
transitionDuration
curveInterpolation


Wwise Unity Integration Documentation: AK.Wwise.Event.Post

  • AK
  • Wwise
  • Event
ExecuteAction
Post
Post
Post
Post
PostMIDI
PostMIDI
StopMIDI
StopMIDI

◆ Post() [1/4]

uint AK.Wwise.Event.Post ( ulong gameObjectId )
inline

Posts this Event on a GameObject ID.

Parameters
gameObjectId The GameObject ID
Returns
Returns the playing ID.


Wwise Unity Integration Documentation: AK.Wwise.Event.Post

  • AK
  • Wwise
  • Event
ExecuteAction
Post
Post
Post
Post
PostMIDI
PostMIDI
StopMIDI
StopMIDI

◆ Post() [2/4]

uint AK.Wwise.Event.Post ( UnityEngine.GameObject gameObject )
inline

Posts this Event on a GameObject.

Parameters
gameObject The GameObject
Returns
Returns the playing ID.


Wwise Unity Integration Documentation: AK.Wwise.Event.Post

  • AK
  • Wwise
  • Event
ExecuteAction
Post
Post
Post
Post
PostMIDI
PostMIDI
StopMIDI
StopMIDI

◆ Post() [3/4]

uint AK.Wwise.Event.Post | ( | UnityEngine.GameObject | gameObject,
 |  | CallbackFlags | flags,
 |  | AkCallbackManager.EventCallback | callback,
 |  | object | cookie = null
 | ) |  |
inline

Posts this Event on a GameObject.

Parameters
gameObject | The GameObject
flags
callback
cookie | Optional cookie received by the callback
Returns
Returns the playing ID.


Wwise Unity Integration Documentation: AK.Wwise.Event.Post

  • AK
  • Wwise
  • Event
ExecuteAction
Post
Post
Post
Post
PostMIDI
PostMIDI
StopMIDI
StopMIDI

◆ Post() [4/4]

uint AK.Wwise.Event.Post | ( | UnityEngine.GameObject | gameObject,
 |  | uint | flags,
 |  | AkCallbackManager.EventCallback | callback,
 |  | object | cookie = null
 | ) |  |
inline

Posts this Event on a GameObject.

Parameters
gameObject | The GameObject
flags
callback
cookie | Optional cookie received by the callback
Returns
Returns the playing ID.


Wwise Unity Integration Documentation: AK.Wwise.Event.PostMIDI

  • AK
  • Wwise
  • Event
ExecuteAction
Post
Post
Post
Post
PostMIDI
PostMIDI
StopMIDI
StopMIDI

◆ PostMIDI() [1/2]

void AK.Wwise.Event.PostMIDI | ( | UnityEngine.GameObject | gameObject,
 |  | AkMIDIPostArray | array
 | ) |  |
inline

Posts MIDI Events on this Event associated with a GameObject.

Parameters
gameObject | The GameObject
array | The array of AkMIDIPost that are posted.


Wwise Unity Integration Documentation: AK.Wwise.Event.PostMIDI

  • AK
  • Wwise
  • Event
ExecuteAction
Post
Post
Post
Post
PostMIDI
PostMIDI
StopMIDI
StopMIDI

◆ PostMIDI() [2/2]

void AK.Wwise.Event.PostMIDI | ( | UnityEngine.GameObject | gameObject,
 |  | AkMIDIPostArray | array,
 |  | int | count
 | ) |  |
inline

Posts MIDI Events on this Event associated with a GameObject.

Parameters
gameObject | The GameObject
array | The array of AkMIDIPost that are posted.
count | The number of elements from the array that will be posted.


Wwise Unity Integration Documentation: AK.Wwise.Event.StopMIDI

  • AK
  • Wwise
  • Event
ExecuteAction
Post
Post
Post
Post
PostMIDI
PostMIDI
StopMIDI
StopMIDI

◆ StopMIDI() [1/2]

void AK.Wwise.Event.StopMIDI ( )
inline

Stops all MIDI Events on this Event.


Wwise Unity Integration Documentation: AK.Wwise.Event.StopMIDI

  • AK
  • Wwise
  • Event
ExecuteAction
Post
Post
Post
Post
PostMIDI
PostMIDI
StopMIDI
StopMIDI

◆ StopMIDI() [2/2]

void AK.Wwise.Event.StopMIDI ( UnityEngine.GameObject gameObject )
inline

Stops MIDI Events on this Event associated with a GameObject.

Parameters
gameObject The GameObject


Wwise Unity Integration Documentation: AK.Wwise.RTPC Class Reference

  • AK
  • Wwise
  • RTPC
List of all members
AK.Wwise.RTPC Class Reference

This type can be used to set game parameter values to the sound engine. More...

Inheritance diagram for AK.Wwise.RTPC:
AK.Wwise.BaseType

Detailed Description

This type can be used to set game parameter values to the sound engine.


Wwise Unity Integration Documentation: AK.Wwise.State Class Reference

  • AK
  • Wwise
  • State
List of all members
AK.Wwise.State Class Reference

This type can be used to set Wwise States. More...

Inheritance diagram for AK.Wwise.State:
AK.Wwise.BaseGroupType AK.Wwise.BaseType

Detailed Description

This type can be used to set Wwise States.


Wwise Unity Integration Documentation: AK.Wwise.Switch Class Reference

  • AK
  • Wwise
  • Switch
List of all members
AK.Wwise.Switch Class Reference

This type can be used to set Switch values on gameobjects. More...

Inheritance diagram for AK.Wwise.Switch:
AK.Wwise.BaseGroupType AK.Wwise.BaseType

Detailed Description

This type can be used to set Switch values on gameobjects.


Wwise Unity Integration Documentation: AK.Wwise.Trigger Class Reference

  • AK
  • Wwise
  • Trigger
List of all members
AK.Wwise.Trigger Class Reference

This type can be used to post triggers to the sound engine. More...

Inheritance diagram for AK.Wwise.Trigger:
AK.Wwise.BaseType

Detailed Description

This type can be used to post triggers to the sound engine.


Wwise Unity Integration Documentation: ak Class Reference

ak Class Reference

URI strings to use in WAAPI calls. For a complete description, refer to the official Wwise SDK documentation. More...

Detailed Description

URI strings to use in WAAPI calls. For a complete description, refer to the official Wwise SDK documentation.


Wwise Unity Integration Documentation: AkAmbient Class Reference

Public Attributes | Static Public Attributes | List of all members
AkAmbient Class Reference

Use this component to attach a Wwise Event to any object in a scene. The sound can be started at various moments, dependent on the selected Unity trigger. This component is more useful for ambient sounds (sounds related to scene-bound objects) but could also be used for other purposes. Since AkAmbient has AkEvent as its base class, it features the play/stop, play multiple, stop multiple and stop all buttons for previewing the associated Wwise event. More...

Inheritance diagram for AkAmbient:
AkEvent

Public Attributes

AkActionOnEventType | actionOnEventType = AkActionOnEventType.AkActionOnEventType_Stop
Replacement action. See AK::SoundEngine::ExecuteEventOnAction() More...
AkCurveInterpolation | curveInterpolation = AkCurveInterpolation.AkCurveInterpolation_Linear
Fade curve to use with the new Action. See AK::SoundEngine::ExecuteEventOnAction() More...
bool | enableActionOnEvent = false
Enables additional options to reuse existing events. Use it to transform a Play event into a Stop event without having to define one in the Wwise Project. More...
UnityEngine.GameObject | soundEmitterObject
Game object onto which the Event will be posted. By default, when empty, it is posted on the same object on which the component was added. More...
float | transitionDuration = 0.0f
Duration of the fade, in milliseconds. See AK::SoundEngine::ExecuteEventOnAction(). More...
System.Collections.Generic.List< int > | triggerList = new System.Collections.Generic.List<int> { START_TRIGGER_ID }
List containing the enabled triggers. More...
bool | useOtherObject = false
This property is usefull only when used with colliders. When enabled, the target of the action will be the other colliding object. When disabled, it will be the current object. More...

Static Public Attributes

const int | MAX_NB_TRIGGERS = 32
Since our mask is a 32 bits integer, we can't have more than 32 triggers. More...
static System.Collections.Generic.Dictionary< uint, string > | triggerTypes = AkTriggerBase.GetAllDerivedTypes()
Will contain the types of all the triggers derived from AkTriggerBase at runtime. More...

Detailed Description

Use this component to attach a Wwise Event to any object in a scene. The sound can be started at various moments, dependent on the selected Unity trigger. This component is more useful for ambient sounds (sounds related to scene-bound objects) but could also be used for other purposes. Since AkAmbient has AkEvent as its base class, it features the play/stop, play multiple, stop multiple and stop all buttons for previewing the associated Wwise event.

See also
  • Using AkAmbient from the Inspector
  • AkGameObj
  • AkEvent
  • Integration Details - Events (Note: This is described in the Wwise SDK documentation.)


Wwise Unity Integration Documentation: AkAmbientLargeModePositioner Class Reference

List of all members
AkAmbientLargeModePositioner Class Reference

Use this component to add a Large Mode position to any AkAmbient in a Scene. More...

Inherits MonoBehaviour.

Detailed Description

Use this component to add a Large Mode position to any AkAmbient in a Scene.

See also
  • Using AkAmbient from the Inspector
  • AkAmbient


Wwise Unity Integration Documentation: AkAudioListener Class Reference

List of all members
AkAudioListener Class Reference

Add this script on the game object that represent a listener. This is normally added to the Camera object or the Player object, but can be added to any game object when implementing 3D busses. isDefaultListener determines whether the game object will be considered a default listener - a listener that automatically listens to all game objects that do not have listeners attached to their AkGameObjListenerList's. More...

Inherits MonoBehaviour.

Detailed Description

Add this script on the game object that represent a listener. This is normally added to the Camera object or the Player object, but can be added to any game object when implementing 3D busses. isDefaultListener determines whether the game object will be considered a default listener - a listener that automatically listens to all game objects that do not have listeners attached to their AkGameObjListenerList's.

See also
  • Integrating Listeners (Note: This is described in the Wwise SDK documentation.)


Wwise Unity Integration Documentation: AkBank Class Reference

Public Member Functions | Public Attributes | Static Public Attributes | List of all members
AkBank Class Reference

Loads and unloads a SoundBank at a specified moment. Vorbis sounds can be decompressed at a specified moment using the decode compressed data option. In that case, the SoundBank will be prepared. More...

Inherits AkTriggerHandler, and AK.Wwise.IMigratable.

Public Member Functions

override void | HandleEvent (UnityEngine.GameObject in_gameObject)
Loads the SoundBank. More...
void | UnloadBank (UnityEngine.GameObject in_gameObject)
Unloads a SoundBank. More...

Public Attributes

bool | decodeBank = false
DEPRECATED Decode this SoundBank upon load. More...
bool | loadAsynchronous = false
Check this to load the SoundBank in the background. Be careful, if Events are triggered and the SoundBank hasn't finished loading, you'll have "Event not found" errors. More...
bool | saveDecodedBank = false
DEPRECATED Save the decoded SoundBank to disk for faster loads in the future. More...
System.Collections.Generic.List< int > | unloadTriggerList
Reserved. More...
System.Collections.Generic.List< int > | triggerList = new System.Collections.Generic.List<int> { START_TRIGGER_ID }
List containing the enabled triggers. More...
bool | useOtherObject = false
This property is usefull only when used with colliders. When enabled, the target of the action will be the other colliding object. When disabled, it will be the current object. More...

Static Public Attributes

const int | MAX_NB_TRIGGERS = 32
Since our mask is a 32 bits integer, we can't have more than 32 triggers. More...
static System.Collections.Generic.Dictionary< uint, string > | triggerTypes = AkTriggerBase.GetAllDerivedTypes()
Will contain the types of all the triggers derived from AkTriggerBase at runtime. More...

Detailed Description

Loads and unloads a SoundBank at a specified moment. Vorbis sounds can be decompressed at a specified moment using the decode compressed data option. In that case, the SoundBank will be prepared.


Wwise Unity Integration Documentation: AkBank.HandleEvent

  • AkBank
decodeBank
HandleEvent
loadAsynchronous
saveDecodedBank
UnloadBank
unloadTriggerList

◆ HandleEvent()

override void AkBank.HandleEvent ( UnityEngine.GameObject in_gameObject )
inline

Loads the SoundBank.

References decodeBank, loadAsynchronous, and saveDecodedBank.


Wwise Unity Integration Documentation: AkBank.UnloadBank

  • AkBank
decodeBank
HandleEvent
loadAsynchronous
saveDecodedBank
UnloadBank
unloadTriggerList

◆ UnloadBank()

void AkBank.UnloadBank ( UnityEngine.GameObject in_gameObject )
inline

Unloads a SoundBank.


Wwise Unity Integration Documentation: AkBank.decodeBank

  • AkBank
decodeBank
HandleEvent
loadAsynchronous
saveDecodedBank
UnloadBank
unloadTriggerList

◆ decodeBank

bool AkBank.decodeBank = false

DEPRECATED Decode this SoundBank upon load.

Referenced by HandleEvent().


Wwise Unity Integration Documentation: AkBank.loadAsynchronous

  • AkBank
decodeBank
HandleEvent
loadAsynchronous
saveDecodedBank
UnloadBank
unloadTriggerList

◆ loadAsynchronous

bool AkBank.loadAsynchronous = false

Check this to load the SoundBank in the background. Be careful, if Events are triggered and the SoundBank hasn't finished loading, you'll have "Event not found" errors.

Referenced by HandleEvent().


Wwise Unity Integration Documentation: AkBank.saveDecodedBank

  • AkBank
decodeBank
HandleEvent
loadAsynchronous
saveDecodedBank
UnloadBank
unloadTriggerList

◆ saveDecodedBank

bool AkBank.saveDecodedBank = false

DEPRECATED Save the decoded SoundBank to disk for faster loads in the future.

Referenced by HandleEvent().


Wwise Unity Integration Documentation: AkBank.unloadTriggerList

  • AkBank
decodeBank
HandleEvent
loadAsynchronous
saveDecodedBank
UnloadBank
unloadTriggerList

◆ unloadTriggerList

System.Collections.Generic.List<int> AkBank.unloadTriggerList

Reserved.


Wwise Unity Integration Documentation: AkEarlyReflections Class Reference

Public Attributes | List of all members
AkEarlyReflections Class Reference

Set an early reflections auxiliary bus and send volume for a particular game object. More...

Inherits MonoBehaviour.

Public Attributes

AK.Wwise.AuxBus | reflectionsAuxBus = new AK.Wwise.AuxBus()
float | reflectionsVolume = 1

Detailed Description

Set an early reflections auxiliary bus and send volume for a particular game object.


Wwise Unity Integration Documentation: AkEarlyReflections.reflectionsAuxBus

  • AkEarlyReflections
reflectionsAuxBus
reflectionsVolume

◆ reflectionsAuxBus

AK.Wwise.AuxBus AkEarlyReflections.reflectionsAuxBus = new AK.Wwise.AuxBus()

The early reflections auxiliary bus for this particular game object. Geometrical reflection calculation inside spatial audio is enabled for a game object if any sound playing on the game object has a valid early reflections aux bus specified in the authoring tool, or if an aux bus is specified via this parameter. The early reflection auxiliary bus specified in the authoring tool has precedence. Users may apply this function to avoid duplicating sounds in the actor-mixer hierarchy solely for the sake of specifying a unique early reflection bus, or in any situation where the same sound should be played on different game objects with different early reflection aux buses (the early reflection bus must be left blank in the authoring tool if the user intends to specify it through the API).


Wwise Unity Integration Documentation: AkEarlyReflections.reflectionsVolume

  • AkEarlyReflections
reflectionsAuxBus
reflectionsVolume

◆ reflectionsVolume

float AkEarlyReflections.reflectionsVolume = 1

The early reflections send volume for this particular game object. This parameter is used to control the volume of the early reflections send. It is combined with the early reflections volume specified in the authoring tool, and is applied to all sounds playing on the game object. Setting to 0.f will disable all reflection processing for this game object. Valid range 0.f-1.f.


Wwise Unity Integration Documentation: AkEmitterObstructionOcclusion Class Reference

Public Attributes | List of all members
AkEmitterObstructionOcclusion Class Reference

Completely obstructs/occludes the emitter of the current game object from its listeners if at least one object is between them. More...

Inherits AkObstructionOcclusion.

Public Attributes

float | fadeTime = 0.5f
The number of seconds for fade ins and fade outs. More...
UnityEngine.LayerMask | LayerMask = -1
Indicates which layers act as obstructers/occluders. More...
float | maxDistance = -1.0f
The maximum distance at which to perform obstruction/occlusion. A negative value will be interpreted as inifinite distance. More...
float | refreshInterval = 1
The number of seconds between obstruction/occlusion checks. More...

Detailed Description

Completely obstructs/occludes the emitter of the current game object from its listeners if at least one object is between them.


Wwise Unity Integration Documentation: AkEnvironment Class Reference

Classes | List of all members
AkEnvironment Class Reference

Use this component to define a reverb zone. This needs to be added to a collider object to work properly. See Using AkEnvironment and AkEnvironmentPortal from the Inspector. More...

Inherits MonoBehaviour, and AK.Wwise.IMigratable.

Classes

class | AkEnvironment_CompareByPriority
Sorts AkEnvironments based on their priorities. More...
class | AkEnvironment_CompareBySelectionAlgorithm
Sorts AkEnvironments based on the selection algorithm. The selection algorithm is as follows: More...

Detailed Description

Use this component to define a reverb zone. This needs to be added to a collider object to work properly. See Using AkEnvironment and AkEnvironmentPortal from the Inspector.

This component can be attached to any collider. You can specify a roll-off to fade-in/out of the reverb.
The reverb parameters will be defined in the Wwise project, by the sound designer. All AkGameObj that are "environment"-aware will receive a send value when entering the attached collider.

See also
  • Using AkEnvironment and AkEnvironmentPortal from the Inspector
  • Integrating Environments and Game-defined Auxiliary Sends (Note: This is described in the Wwise SDK documentation.)
  • AK::SoundEngine::SetGameObjectAuxSendValues (Note: This is described in the Wwise SDK documentation.)


Wwise Unity Integration Documentation: AkEnvironment.AkEnvironment_CompareByPriority Class Reference

  • AkEnvironment
  • AkEnvironment_CompareByPriority
List of all members
AkEnvironment.AkEnvironment_CompareByPriority Class Reference

Sorts AkEnvironments based on their priorities. More...

Inheritance diagram for AkEnvironment.AkEnvironment_CompareByPriority:
AkEnvironment.AkEnvironment_CompareBySelectionAlgorithm

Detailed Description

Sorts AkEnvironments based on their priorities.


Wwise Unity Integration Documentation: AkEnvironment.AkEnvironment_CompareBySelectionAlgorithm Class Reference

  • AkEnvironment
  • AkEnvironment_CompareBySelectionAlgorithm
List of all members
AkEnvironment.AkEnvironment_CompareBySelectionAlgorithm Class Reference

Sorts AkEnvironments based on the selection algorithm. The selection algorithm is as follows: More...

Inheritance diagram for AkEnvironment.AkEnvironment_CompareBySelectionAlgorithm:
AkEnvironment.AkEnvironment_CompareByPriority

Detailed Description

Sorts AkEnvironments based on the selection algorithm. The selection algorithm is as follows:

  1. Environments have priorities.
  2. Environments have a "Default" flag. This flag effectively says that this environment will be bumped out if any other is present.
  3. Environments have an "Exclude Other" flag. This flag will tell that this env is not overlappable with others. So, only one (the highest priority) should be selected.


Wwise Unity Integration Documentation: AkEnvironmentPortal Class Reference

Classes | Public Attributes | List of all members
AkEnvironmentPortal Class Reference

Use this component to define an area that straddles two different AkEnvironment's zones and allow mixing between both zones. Using AkEnvironment and AkEnvironmentPortal from the Inspector. More...

Inherits MonoBehaviour.

Classes

class EnvListWrapper
This enables us to detect intersections between portals and environments in the editor. More...

Public Attributes

UnityEngine.Vector3 | axis = UnityEngine.Vector3.right
The axis used to find the contribution of each environment. More...
AkEnvironment[] | environments = new AkEnvironment[MAX_ENVIRONMENTS_PER_PORTAL]
EnvListWrapper[] envList
Unity can't serialize an array of list so we wrap the list in a serializable class. More...

Detailed Description

Use this component to define an area that straddles two different AkEnvironment's zones and allow mixing between both zones. Using AkEnvironment and AkEnvironmentPortal from the Inspector.


Wwise Unity Integration Documentation: AkEnvironmentPortal.EnvListWrapper Class Reference

  • AkEnvironmentPortal
  • EnvListWrapper
List of all members
AkEnvironmentPortal.EnvListWrapper Class Reference

This enables us to detect intersections between portals and environments in the editor. More...

Detailed Description

This enables us to detect intersections between portals and environments in the editor.


Wwise Unity Integration Documentation: AkEnvironmentPortal.axis

  • AkEnvironmentPortal
axis
environments
envList

◆ axis

UnityEngine.Vector3 AkEnvironmentPortal.axis = UnityEngine.Vector3.right

The axis used to find the contribution of each environment.


Wwise Unity Integration Documentation: AkEnvironmentPortal.environments

  • AkEnvironmentPortal
axis
environments
envList

◆ environments

AkEnvironment [] AkEnvironmentPortal.environments = new AkEnvironment[MAX_ENVIRONMENTS_PER_PORTAL]

The array is already sorted by position. The first environment is on the negative side of the portal(opposite to the direction of the chosen axis) The second environment is on the positive side of the portal


Wwise Unity Integration Documentation: AkEnvironmentPortal.envList

  • AkEnvironmentPortal
axis
environments
envList

◆ envList

EnvListWrapper [] AkEnvironmentPortal.envList

Unity can't serialize an array of list so we wrap the list in a serializable class.


Wwise Unity Integration Documentation: AkEvent Class Reference

Public Attributes | Static Public Attributes | List of all members
AkEvent Class Reference

Helper class that knows a Wwise Event and when to trigger it in Unity. As of 2017.2.0, the AkEvent inspector has buttons for play/stop, play multiple, stop multiple, and stop all. Play/Stop will play or stop the event such that it can be previewed both in edit mode and play mode. When multiple objects are selected, Play Multiple and Stop Multiple will play or stop the associated AkEvent for each object. More...

Inheritance diagram for AkEvent:
AkAmbient

Public Attributes

AkActionOnEventType | actionOnEventType = AkActionOnEventType.AkActionOnEventType_Stop
Replacement action. See AK::SoundEngine::ExecuteEventOnAction() More...
AkCurveInterpolation | curveInterpolation = AkCurveInterpolation.AkCurveInterpolation_Linear
Fade curve to use with the new Action. See AK::SoundEngine::ExecuteEventOnAction() More...
bool | enableActionOnEvent = false
Enables additional options to reuse existing events. Use it to transform a Play event into a Stop event without having to define one in the Wwise Project. More...
UnityEngine.GameObject | soundEmitterObject
Game object onto which the Event will be posted. By default, when empty, it is posted on the same object on which the component was added. More...
float | transitionDuration = 0.0f
Duration of the fade, in milliseconds. See AK::SoundEngine::ExecuteEventOnAction(). More...
System.Collections.Generic.List< int > | triggerList = new System.Collections.Generic.List<int> { START_TRIGGER_ID }
List containing the enabled triggers. More...
bool | useOtherObject = false
This property is usefull only when used with colliders. When enabled, the target of the action will be the other colliding object. When disabled, it will be the current object. More...

Static Public Attributes

const int | MAX_NB_TRIGGERS = 32
Since our mask is a 32 bits integer, we can't have more than 32 triggers. More...
static System.Collections.Generic.Dictionary< uint, string > | triggerTypes = AkTriggerBase.GetAllDerivedTypes()
Will contain the types of all the triggers derived from AkTriggerBase at runtime. More...

Detailed Description

Helper class that knows a Wwise Event and when to trigger it in Unity. As of 2017.2.0, the AkEvent inspector has buttons for play/stop, play multiple, stop multiple, and stop all. Play/Stop will play or stop the event such that it can be previewed both in edit mode and play mode. When multiple objects are selected, Play Multiple and Stop Multiple will play or stop the associated AkEvent for each object.

See also
  • Edit Mode Support
  • Using AkAmbient from the Inspector
  • Integration Details - Events (Note: This is described in the Wwise SDK documentation.)


Wwise Unity Integration Documentation: AkEvent.actionOnEventType

  • AkEvent
actionOnEventType
curveInterpolation
enableActionOnEvent
soundEmitterObject
transitionDuration

◆ actionOnEventType

AkActionOnEventType AkEvent.actionOnEventType = AkActionOnEventType.AkActionOnEventType_Stop

Replacement action. See AK::SoundEngine::ExecuteEventOnAction()


Wwise Unity Integration Documentation: AkEvent.curveInterpolation

  • AkEvent
actionOnEventType
curveInterpolation
enableActionOnEvent
soundEmitterObject
transitionDuration

◆ curveInterpolation

AkCurveInterpolation AkEvent.curveInterpolation = AkCurveInterpolation.AkCurveInterpolation_Linear

Fade curve to use with the new Action. See AK::SoundEngine::ExecuteEventOnAction()


Wwise Unity Integration Documentation: AkEvent.enableActionOnEvent

  • AkEvent
actionOnEventType
curveInterpolation
enableActionOnEvent
soundEmitterObject
transitionDuration

◆ enableActionOnEvent

bool AkEvent.enableActionOnEvent = false

Enables additional options to reuse existing events. Use it to transform a Play event into a Stop event without having to define one in the Wwise Project.


Wwise Unity Integration Documentation: AkEvent.soundEmitterObject

  • AkEvent
actionOnEventType
curveInterpolation
enableActionOnEvent
soundEmitterObject
transitionDuration

◆ soundEmitterObject

UnityEngine.GameObject AkEvent.soundEmitterObject

Game object onto which the Event will be posted. By default, when empty, it is posted on the same object on which the component was added.


Wwise Unity Integration Documentation: AkEvent.transitionDuration

  • AkEvent
actionOnEventType
curveInterpolation
enableActionOnEvent
soundEmitterObject
transitionDuration

◆ transitionDuration

float AkEvent.transitionDuration = 0.0f

Duration of the fade, in milliseconds. See AK::SoundEngine::ExecuteEventOnAction().


Wwise Unity Integration Documentation: AkEventCallbackMsg Class Reference

Public Attributes | List of all members
AkEventCallbackMsg Class Reference

Event callback information. Event callback functions can receive this structure as a parameter More...

Public Attributes

AkCallbackInfo | info
For more information about the event callback, see the classes derived from AkCallbackInfo. More...
UnityEngine.GameObject | sender
GameObject from whom the callback function was called. More...
AkCallbackType | type
AkUnitySoundEngine.PostEvent callback flags. See the AkCallbackType enumeration for a list of all callbacks. More...

Detailed Description

Event callback information. Event callback functions can receive this structure as a parameter


Wwise Unity Integration Documentation: AkEventCallbackMsg.info

  • AkEventCallbackMsg
info
sender
type

◆ info

AkCallbackInfo AkEventCallbackMsg.info

For more information about the event callback, see the classes derived from AkCallbackInfo.


Wwise Unity Integration Documentation: AkEventCallbackMsg.sender

  • AkEventCallbackMsg
info
sender
type

◆ sender

UnityEngine.GameObject AkEventCallbackMsg.sender

GameObject from whom the callback function was called.


Wwise Unity Integration Documentation: AkEventCallbackMsg.type

  • AkEventCallbackMsg
info
sender
type

◆ type

AkCallbackType AkEventCallbackMsg.type

AkUnitySoundEngine.PostEvent callback flags. See the AkCallbackType enumeration for a list of all callbacks.


Wwise Unity Integration Documentation: AkGameObj Class Reference

Public Member Functions | Public Attributes | List of all members
AkGameObj Class Reference

This component represents a sound object in your scene and tracks its position and other game syncs such as Switches, RTPCs, and environment values. You can add this to any object that emits sound, and it is added to any object to which an AkAudioListener is attached. If it is not present, Wwise adds it automatically, with the default values, to any Unity Game Object that is passed to Wwise. More...

Inherits MonoBehaviour.

Public Member Functions

virtual UnityEngine.Vector3 | GetPosition ()
virtual UnityEngine.Vector3 | GetForward ()
virtual UnityEngine.Vector3 | GetUpward ()

Public Attributes

bool | isEnvironmentAware = true
Indicates whether the object is affected by environmental changes. Set to false if the object is not affected in order to save some unnecessary calls. The default value is true. More...
AkGameObjPositionOffsetData | m_positionOffsetData
When not set to null, the position is offset relative to the Game Object position by the Position Offset. More...

Detailed Description

This component represents a sound object in your scene and tracks its position and other game syncs such as Switches, RTPCs, and environment values. You can add this to any object that emits sound, and it is added to any object to which an AkAudioListener is attached. If it is not present, Wwise adds it automatically, with the default values, to any Unity Game Object that is passed to Wwise.

See also
  • Integration Details - Game Objects (SDK documentation)
  • Integration Details - Events (SDK documentation)
  • Integrating Listeners (SDK documentation)
  • Integration Details - Switches (SDK documentation)
  • Integration Details - States (SDK documentation)
  • Integration Details - Environments and Game-defined Auxiliary Sends (SDK documentation)


Wwise Unity Integration Documentation: AkGameObj.GetForward

  • AkGameObj
GetForward
GetPosition
GetUpward
isEnvironmentAware
m_positionOffsetData

◆ GetForward()

virtual UnityEngine.Vector3 AkGameObj.GetForward ( )
inlinevirtual

Gets the orientation forward vector. User can also override this method to calculate an arbitrary vector.

Returns
The forward vector of orientation.


Wwise Unity Integration Documentation: AkGameObj.GetPosition

  • AkGameObj
GetForward
GetPosition
GetUpward
isEnvironmentAware
m_positionOffsetData

◆ GetPosition()

virtual UnityEngine.Vector3 AkGameObj.GetPosition ( )
inlinevirtual

Gets the position including the position offset, if applyPositionOffset is enabled. User can also override this method to calculate an arbitrary position.

Returns
The position.

References m_positionOffsetData.


Wwise Unity Integration Documentation: AkGameObj.GetUpward

  • AkGameObj
GetForward
GetPosition
GetUpward
isEnvironmentAware
m_positionOffsetData

◆ GetUpward()

virtual UnityEngine.Vector3 AkGameObj.GetUpward ( )
inlinevirtual

Gets the orientation upward vector. User can also override this method to calculate an arbitrary vector.

Returns
The upward vector of orientation.


Wwise Unity Integration Documentation: AkGameObj.isEnvironmentAware

  • AkGameObj
GetForward
GetPosition
GetUpward
isEnvironmentAware
m_positionOffsetData

◆ isEnvironmentAware

bool AkGameObj.isEnvironmentAware = true

Indicates whether the object is affected by environmental changes. Set to false if the object is not affected in order to save some unnecessary calls. The default value is true.


Wwise Unity Integration Documentation: AkGameObj.m_positionOffsetData

  • AkGameObj
GetForward
GetPosition
GetUpward
isEnvironmentAware
m_positionOffsetData

◆ m_positionOffsetData

AkGameObjPositionOffsetData AkGameObj.m_positionOffsetData

When not set to null, the position is offset relative to the Game Object position by the Position Offset.

Referenced by GetPosition().


Wwise Unity Integration Documentation: AkInitializer Class Reference

List of all members
AkInitializer Class Reference

This script deals with initialization, and frame updates of the Wwise audio engine.
It is marked as DontDestroyOnLoad so it stays active for the life of the game, not only one scene. Double-click the Initialization Settings entry, AkWwiseInitializationSettings, to review and edit Wwise initialization settings. More...

Inherits MonoBehaviour.

Detailed Description

This script deals with initialization, and frame updates of the Wwise audio engine.
It is marked as DontDestroyOnLoad so it stays active for the life of the game, not only one scene. Double-click the Initialization Settings entry, AkWwiseInitializationSettings, to review and edit Wwise initialization settings.

See also
  • Initialize the Different Modules of the Sound Engine (Note: This is described in the Wwise SDK documentation.)
  • AK::SoundEngine::Init() (Note: This is described in the Wwise SDK documentation.)
  • AK::SoundEngine::Term() (Note: This is described in the Wwise SDK documentation.)
  • Enter Play Mode Behaviors
  • AkCallbackManager


Wwise Unity Integration Documentation: AkListenerDistanceProbe Class Reference

List of all members
AkListenerDistanceProbe Class Reference

Add this script on a listener game object to assign another game object as a distance probe. The position of the distance probe will be used for distance calculations for the listener, instead of the position of the listener itself. In third-person perspective applications, the distance probe Game Object may be set to the player character's position, and the listener Game Object's position to that of the camera. In this scenario, attenuation is based on the distance between the character and the sound, whereas panning, spatialization, and spread and focus calculations are based on the camera. More...

Inherits MonoBehaviour.

Detailed Description

Add this script on a listener game object to assign another game object as a distance probe. The position of the distance probe will be used for distance calculations for the listener, instead of the position of the listener itself. In third-person perspective applications, the distance probe Game Object may be set to the player character's position, and the listener Game Object's position to that of the camera. In this scenario, attenuation is based on the distance between the character and the sound, whereas panning, spatialization, and spread and focus calculations are based on the camera.


Wwise Unity Integration Documentation: AkMemBankLoader Class Reference

Public Member Functions | Public Attributes | List of all members
AkMemBankLoader Class Reference

This class is an example of how to load banks in Wwise, if the bank data was preloaded in memory.
This would be useful for situations where you use the WWW class. More...

Inherits MonoBehaviour.

Public Member Functions

void | LoadNonLocalizedBank (string in_bankFilename)
Load a SoundBank from WWW object. More...
void | LoadLocalizedBank (string in_bankFilename)
Load a language-specific bank from WWW object. More...

Public Attributes

string | bankName = ""
Name of the bank to load. More...
bool | isLocalizedBank = false
Is the bank localized (situated in the language-specific folders) More...

Detailed Description

This class is an example of how to load banks in Wwise, if the bank data was preloaded in memory.
This would be useful for situations where you use the WWW class.


Wwise Unity Integration Documentation: AkMemBankLoader.LoadLocalizedBank

  • AkMemBankLoader
bankName
isLocalizedBank
LoadLocalizedBank
LoadNonLocalizedBank

◆ LoadLocalizedBank()

void AkMemBankLoader.LoadLocalizedBank ( string in_bankFilename )
inline

Load a language-specific bank from WWW object.


Wwise Unity Integration Documentation: AkMemBankLoader.LoadNonLocalizedBank

  • AkMemBankLoader
bankName
isLocalizedBank
LoadLocalizedBank
LoadNonLocalizedBank

◆ LoadNonLocalizedBank()

void AkMemBankLoader.LoadNonLocalizedBank ( string in_bankFilename )
inline

Load a SoundBank from WWW object.


Wwise Unity Integration Documentation: AkMemBankLoader.bankName

  • AkMemBankLoader
bankName
isLocalizedBank
LoadLocalizedBank
LoadNonLocalizedBank

◆ bankName

string AkMemBankLoader.bankName = ""

Name of the bank to load.


Wwise Unity Integration Documentation: AkMemBankLoader.isLocalizedBank

  • AkMemBankLoader
bankName
isLocalizedBank
LoadLocalizedBank
LoadNonLocalizedBank

◆ isLocalizedBank

bool AkMemBankLoader.isLocalizedBank = false

Is the bank localized (situated in the language-specific folders)


Wwise Unity Integration Documentation: AkRadialEmitter Class Reference

Public Attributes | List of all members
AkRadialEmitter Class Reference

A radial emitter is for sounds that are not point sources, but instead originate from a region of space. More...

Inherits MonoBehaviour.

Public Attributes

float | outerRadius = 0.0f
float | innerRadius = 0.0f

Detailed Description

A radial emitter is for sounds that are not point sources, but instead originate from a region of space.

A radial emitter is described by an inner and outer radius. The radii are used in spread and distance calculations, simulating a radial sound source. Since all game objects have a position and orientation, the position (center) and local axes are defined by the AkGameObj component required by this component.


Wwise Unity Integration Documentation: AkRadialEmitter.innerRadius

  • AkRadialEmitter
innerRadius
outerRadius

◆ innerRadius

float AkRadialEmitter.innerRadius = 0.0f

Define an inner radius around each sound position to simulate a radial sound source. If the listener is inside the inner radius, the spread is 100%. Note that transmission and diffraction calculations in Spatial Audio always use the center of the sphere (the position(s) passed into AK::SoundEngine::SetPosition or AK::SoundEngine::SetMultiplePositions) for raycasting. To obtain accurate diffraction and transmission calculations for radial sources, where different parts of the volume may take different paths through or around geometry, it is necessary to pass multiple sound positions into AK::SoundEngine::SetMultiplePositions to allow the engine to 'sample' the area at different points.


Wwise Unity Integration Documentation: AkRadialEmitter.outerRadius

  • AkRadialEmitter
innerRadius
outerRadius

◆ outerRadius

float AkRadialEmitter.outerRadius = 0.0f

Define an outer radius around each sound position to simulate a radial sound source. The distance used for applying attenuation curves is taken as the distance between the listener and the point on the sphere, defined by the sound position and the outer radius, that is closest to the listener. The spread for each sound position is calculated as follows:

  • If the listener is outside the outer radius, the spread is defined by the area that the sphere takes in the listener field of view. Specifically, this angle is calculated as 2.0*asinf( outerRadius / distance ), where distance is the distance between the listener and the sound position.
  • When the listener intersects the outer radius (the listener is exactly outerRadius units away from the sound position), the spread is exactly 50%.
  • When the listener is in between the inner and outer radius, the spread interpolates linearly from 50% to 100% as the listener transitions from the outer radius towards the inner radius. Note that transmission and diffraction calculations in Spatial Audio always use the center of the sphere (the position(s) passed into AK::SoundEngine::SetPosition or AK::SoundEngine::SetMultiplePositions) for raycasting. To obtain accurate diffraction and transmission calculations for radial sources, where different parts of the volume may take different paths through or around geometry, it is necessary to pass multiple sound positions into AK::SoundEngine::SetMultiplePositions to allow the engine to 'sample' the area at different points.


Wwise Unity Integration Documentation: AkReverbZone Class Reference

Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
AkReverbZone Class Reference

This component establishes a parent-child relationship between two Rooms and allows for sound propagation between them as if they were the same Room, without the need for a connecting Portal. More...

Inherits MonoBehaviour.

Public Member Functions

void | SetReverbZone ()
Calls AkReverbZone::SetReverbZone() with this component's properties More...
void | RemoveReverbZone ()
Calls AkReverbZone::RemoveReverbZone() with this component's properties More...

Static Public Member Functions

static void | SetReverbZone (AkRoom reverbZone, AkRoom parentRoom, float transitionRegionWidth)
Establish a parent-child relationship between two Rooms. Sound propagate between a Reverb Zone and its parent as if they were the same Room, without the need for a connecting Portal. Examples of Reverb Zones include a covered area with no walls, a forested area within an outdoor space, or any situation where multiple reverb effects are desired within a common space. Reverb Zones have many advantages compared to standard Game-Defined Auxiliary Sends. They are part of the wet path, and form reverb chains with other Rooms; they are spatialized according to their 3D extent; they are also subject to other acoustic phenomena simulated in Wwise Spatial Audio, such as diffraction and transmission. If a Room is already assigned to a parent Room, it is first be removed from the original parent (exactly as if RemoveReverbZone were called) before it is assigned to the new parent Room. The automatically created 'Outdoors' Room is commonly used as a parent Room for Reverb Zones, since they often model open spaces. Calls AkRoom::SetReverbZone() from the Reverb Zone AkRoom component with the Parent Room and transition Region Width parameters. More...
static void | RemoveReverbZone (AkRoom reverbZone)
Remove a Reverb Zone from its parent. Sound can no longer propagate between the two Rooms, unless they are explicitly connected with a Portal. Calls AkRoom::RemoveReverbZone() from the Reverb Zone AkRoom component. More...

Public Attributes

AkRoom ReverbZone
AkRoom ParentRoom
float TransitionRegionWidth = 1.0f
Width of the transition region between the Reverb Zone and its parent. The transition zone is centered around the Reverb Zone geometry. It only applies where triangle transmission loss is set to 0. More...

Detailed Description

This component establishes a parent-child relationship between two Rooms and allows for sound propagation between them as if they were the same Room, without the need for a connecting Portal.

Setting a Room as a Reverb Zone is useful in situations where two or more acoustic environments are not easily modeled as closed rooms connected by portals. Possible uses for Reverb Zones include: a covered area with no walls, a forested area within an outdoor space, or any situation where multiple reverb effects are desired within a common space. Reverb Zones have many advantages compared to standard Game-Defined Auxiliary Sends. They are part of the wet path, and form reverb chains with other Rooms; they are spatialized according to their 3D extent; they are also subject to other acoustic phenomena simulated in Wwise Spatial Audio, such as diffraction and transmission. A parent Room can have multiple Reverb Zones, but a Reverb Zone can only have a single Parent. A Room cannot be its own parent.


Wwise Unity Integration Documentation: AkReverbZone.RemoveReverbZone

  • AkReverbZone
ParentRoom
RemoveReverbZone
RemoveReverbZone
ReverbZone
SetReverbZone
SetReverbZone
TransitionRegionWidth

◆ RemoveReverbZone() [1/2]

void AkReverbZone.RemoveReverbZone ( )
inline

Calls AkReverbZone::RemoveReverbZone() with this component's properties

References ReverbZone.


Wwise Unity Integration Documentation: AkReverbZone.RemoveReverbZone

  • AkReverbZone
ParentRoom
RemoveReverbZone
RemoveReverbZone
ReverbZone
SetReverbZone
SetReverbZone
TransitionRegionWidth

◆ RemoveReverbZone() [2/2]

static void AkReverbZone.RemoveReverbZone ( AkRoom reverbZone )
inlinestatic

Remove a Reverb Zone from its parent. Sound can no longer propagate between the two Rooms, unless they are explicitly connected with a Portal. Calls AkRoom::RemoveReverbZone() from the Reverb Zone AkRoom component.

Parameters
reverbZone The Reverb Zone AkRoom component.

References AkRoom.RemoveReverbZone().


Wwise Unity Integration Documentation: AkReverbZone.SetReverbZone

  • AkReverbZone
ParentRoom
RemoveReverbZone
RemoveReverbZone
ReverbZone
SetReverbZone
SetReverbZone
TransitionRegionWidth

◆ SetReverbZone() [1/2]

void AkReverbZone.SetReverbZone ( )
inline

Calls AkReverbZone::SetReverbZone() with this component's properties

References ParentRoom, ReverbZone, and TransitionRegionWidth.


Wwise Unity Integration Documentation: AkReverbZone.SetReverbZone

  • AkReverbZone
ParentRoom
RemoveReverbZone
RemoveReverbZone
ReverbZone
SetReverbZone
SetReverbZone
TransitionRegionWidth

◆ SetReverbZone() [2/2]

static void AkReverbZone.SetReverbZone | ( | AkRoom | reverbZone,
 |  | AkRoom | parentRoom,
 |  | float | transitionRegionWidth
 | ) |  |
inlinestatic

Establish a parent-child relationship between two Rooms. Sound propagate between a Reverb Zone and its parent as if they were the same Room, without the need for a connecting Portal. Examples of Reverb Zones include a covered area with no walls, a forested area within an outdoor space, or any situation where multiple reverb effects are desired within a common space. Reverb Zones have many advantages compared to standard Game-Defined Auxiliary Sends. They are part of the wet path, and form reverb chains with other Rooms; they are spatialized according to their 3D extent; they are also subject to other acoustic phenomena simulated in Wwise Spatial Audio, such as diffraction and transmission. If a Room is already assigned to a parent Room, it is first be removed from the original parent (exactly as if RemoveReverbZone were called) before it is assigned to the new parent Room. The automatically created 'Outdoors' Room is commonly used as a parent Room for Reverb Zones, since they often model open spaces. Calls AkRoom::SetReverbZone() from the Reverb Zone AkRoom component with the Parent Room and transition Region Width parameters.

Parameters
reverbZone | The AkRoom component to set as a Reverb Zone.
parentRoom | The AkRoom component to set as the Reverb Zone's parent. A parent Room can have multiple Reverb Zones, but a Reverb Zone can only have a single Parent. A Room cannot be its own parent. Set to null to attach the Reverb Zone to the automatically created 'Outdoors' room.
transitionRegionWidth | The width of the transition region between the Reverb Zone and its parent. The transition region is centered around the Reverb Zone geometry. It only applies where triangle transmission loss is set to 0.

References AkRoom.SetReverbZone().


Wwise Unity Integration Documentation: AkReverbZone.ParentRoom

  • AkReverbZone
ParentRoom
RemoveReverbZone
RemoveReverbZone
ReverbZone
SetReverbZone
SetReverbZone
TransitionRegionWidth

◆ ParentRoom

AkRoom AkReverbZone.ParentRoom

Set this Room as the parent of the Reverb Zone. Sound propagates between the Reverb Zone and its parent Room as if it were the same Room without the need for a connecting Portal. A parent Room can have multiple Reverb Zones, but a Reverb Zone can only have a single Parent. A Room cannot be its own parent. The automatically created 'Outdoors' Room is commonly used as a parent Room for Reverb Zones, because they often model open spaces. Leave this set to None to attach the Reverb Zone to 'Outdoors'.

Referenced by SetReverbZone().


Wwise Unity Integration Documentation: AkReverbZone.ReverbZone

  • AkReverbZone
ParentRoom
RemoveReverbZone
RemoveReverbZone
ReverbZone
SetReverbZone
SetReverbZone
TransitionRegionWidth

◆ ReverbZone

AkRoom AkReverbZone.ReverbZone

Set this Room as a Reverb Zone. Sound propagates between the Reverb Zone and its parent Room as if it were the same Room without the need for a connecting Portal. Examples include a covered area with no walls, a forested area within an outdoor space, or any situation where multiple reverb effects are desired within a common space.

Referenced by RemoveReverbZone(), and SetReverbZone().


Wwise Unity Integration Documentation: AkReverbZone.TransitionRegionWidth

  • AkReverbZone
ParentRoom
RemoveReverbZone
RemoveReverbZone
ReverbZone
SetReverbZone
SetReverbZone
TransitionRegionWidth

◆ TransitionRegionWidth

float AkReverbZone.TransitionRegionWidth = 1.0f

Width of the transition region between the Reverb Zone and its parent. The transition zone is centered around the Reverb Zone geometry. It only applies where triangle transmission loss is set to 0.

Referenced by SetReverbZone().


Wwise Unity Integration Documentation: AkRoom Class Reference

Public Member Functions | Public Attributes | Static Public Attributes | List of all members
AkRoom Class Reference

An AkRoom is an enclosed environment that can only communicate to the outside/other rooms with AkRoomPortals. More...

Inherits AkTriggerHandler.

Public Member Functions

ulong | GetID ()
Access the room's ID. More...
void | SetReverbZone (AkRoom parentRoom, float transitionRegionWidth)
Establish a parent-child relationship between this Room and a parent Room. Sound propagate between a Reverb Zone and its parent as if they were the same Room, without the need for a connecting Portal. Examples of Reverb Zones include a covered area with no walls, a forested area within an outdoor space, or any situation where multiple reverb effects are desired within a common space. Reverb Zones have many advantages compared to standard Game-Defined Auxiliary Sends. They are part of the wet path, and form reverb chains with other Rooms; they are spatialized according to their 3D extent; they are also subject to other acoustic phenomena simulated in Wwise Spatial Audio, such as diffraction and transmission. If a Room is already assigned to a parent Room, it is first be removed from the original parent (exactly as if RemoveReverbZone were called) before it is assigned to the new parent Room. The automatically created 'Outdoors' Room is commonly used as a parent Room for Reverb Zones, since they often model open spaces. Calls AK::SpatialAudio::SetReverbZone() with the Parent Room and transition Region Width parameters. More...
void | RemoveReverbZone ()
Remove this Room, a Reverb Zone, from its parent. Sound can no longer propagate between this Room and its parent, unless they are explicitly connected with a Portal. Calls AK::SpatialAudio::RemoveReverbZone() with this Room's ID."/>. More...

Public Attributes

int | priority = 0
AK.Wwise.AuxBus | reverbAuxBus = new AK.Wwise.AuxBus()
The reverb auxiliary bus. More...
float | reverbLevel = 1
The reverb control value for the send to the reverb aux bus. More...
float | transmissionLoss = 1
Loss value modeling transmission through walls. More...
AK.Wwise.Event | roomToneEvent = new AK.Wwise.Event()
Wwise Event to be posted on the room game object. More...
float | roomToneAuxSend = 0
Send level for sounds that are posted on the room game object; adds reverb to ambience and room tones. Valid range: (0.f-1.f). A value of 0 disables the aux send. More...
System.Collections.Generic.List< int > | triggerList = new System.Collections.Generic.List<int> { START_TRIGGER_ID }
List containing the enabled triggers. More...
bool | useOtherObject = false
This property is usefull only when used with colliders. When enabled, the target of the action will be the other colliding object. When disabled, it will be the current object. More...

Static Public Attributes

const int | MAX_NB_TRIGGERS = 32
Since our mask is a 32 bits integer, we can't have more than 32 triggers. More...
static System.Collections.Generic.Dictionary< uint, string > | triggerTypes = AkTriggerBase.GetAllDerivedTypes()
Will contain the types of all the triggers derived from AkTriggerBase at runtime. More...

Detailed Description

An AkRoom is an enclosed environment that can only communicate to the outside/other rooms with AkRoomPortals.

The AkRoom component uses its required Collider component to determine when AkRoomAwareObjects enter and exit the room using the OnTriggerEnter and OnTriggerExit callbacks.


Wwise Unity Integration Documentation: AkRoom.GetID

  • AkRoom
GetID
priority
RemoveReverbZone
reverbAuxBus
reverbLevel
roomToneAuxSend
roomToneEvent
SetReverbZone
transmissionLoss

◆ GetID()

ulong AkRoom.GetID ( )
inline

Access the room's ID.

Referenced by RemoveReverbZone(), and SetReverbZone().


Wwise Unity Integration Documentation: AkRoom.RemoveReverbZone

  • AkRoom
GetID
priority
RemoveReverbZone
reverbAuxBus
reverbLevel
roomToneAuxSend
roomToneEvent
SetReverbZone
transmissionLoss

◆ RemoveReverbZone()

void AkRoom.RemoveReverbZone ( )
inline

Remove this Room, a Reverb Zone, from its parent. Sound can no longer propagate between this Room and its parent, unless they are explicitly connected with a Portal. Calls AK::SpatialAudio::RemoveReverbZone() with this Room's ID."/>.

References GetID().

Referenced by AkReverbZone.RemoveReverbZone().


Wwise Unity Integration Documentation: AkRoom.SetReverbZone

  • AkRoom
GetID
priority
RemoveReverbZone
reverbAuxBus
reverbLevel
roomToneAuxSend
roomToneEvent
SetReverbZone
transmissionLoss

◆ SetReverbZone()

void AkRoom.SetReverbZone | ( | AkRoom | parentRoom,
 |  | float | transitionRegionWidth
 | ) |  |
inline

Establish a parent-child relationship between this Room and a parent Room. Sound propagate between a Reverb Zone and its parent as if they were the same Room, without the need for a connecting Portal. Examples of Reverb Zones include a covered area with no walls, a forested area within an outdoor space, or any situation where multiple reverb effects are desired within a common space. Reverb Zones have many advantages compared to standard Game-Defined Auxiliary Sends. They are part of the wet path, and form reverb chains with other Rooms; they are spatialized according to their 3D extent; they are also subject to other acoustic phenomena simulated in Wwise Spatial Audio, such as diffraction and transmission. If a Room is already assigned to a parent Room, it is first be removed from the original parent (exactly as if RemoveReverbZone were called) before it is assigned to the new parent Room. The automatically created 'Outdoors' Room is commonly used as a parent Room for Reverb Zones, since they often model open spaces. Calls AK::SpatialAudio::SetReverbZone() with the Parent Room and transition Region Width parameters.

Parameters
parentRoom | The AkRoom component to set as the Reverb Zone's parent. A parent Room can have multiple Reverb Zones, but a Reverb Zone can only have a single Parent. A Room cannot be its own parent. Set to null to attach the Reverb Zone to the automatically created 'Outdoors' room.
transitionRegionWidth | The width of the transition region between the Reverb Zone and its parent. The transition region is centered around the Reverb Zone geometry. It only applies where triangle transmission loss is set to 0.

References GetID().

Referenced by AkReverbZone.SetReverbZone().


Wwise Unity Integration Documentation: AkRoom.priority

  • AkRoom
GetID
priority
RemoveReverbZone
reverbAuxBus
reverbLevel
roomToneAuxSend
roomToneEvent
SetReverbZone
transmissionLoss

◆ priority

int AkRoom.priority = 0

In cases where a game object is in an area with two rooms, the higher priority room will be chosen for AK::SpatialAudio::SetGameObjectInRoom() The higher the priority number, the higher the priority of a room.


Wwise Unity Integration Documentation: AkRoom.reverbAuxBus

  • AkRoom
GetID
priority
RemoveReverbZone
reverbAuxBus
reverbLevel
roomToneAuxSend
roomToneEvent
SetReverbZone
transmissionLoss

◆ reverbAuxBus

AK.Wwise.AuxBus AkRoom.reverbAuxBus = new AK.Wwise.AuxBus()

The reverb auxiliary bus.


Wwise Unity Integration Documentation: AkRoom.reverbLevel

  • AkRoom
GetID
priority
RemoveReverbZone
reverbAuxBus
reverbLevel
roomToneAuxSend
roomToneEvent
SetReverbZone
transmissionLoss

◆ reverbLevel

float AkRoom.reverbLevel = 1

The reverb control value for the send to the reverb aux bus.


Wwise Unity Integration Documentation: AkRoom.roomToneAuxSend

  • AkRoom
GetID
priority
RemoveReverbZone
reverbAuxBus
reverbLevel
roomToneAuxSend
roomToneEvent
SetReverbZone
transmissionLoss

◆ roomToneAuxSend

float AkRoom.roomToneAuxSend = 0

Send level for sounds that are posted on the room game object; adds reverb to ambience and room tones. Valid range: (0.f-1.f). A value of 0 disables the aux send.


Wwise Unity Integration Documentation: AkRoom.roomToneEvent

  • AkRoom
GetID
priority
RemoveReverbZone
reverbAuxBus
reverbLevel
roomToneAuxSend
roomToneEvent
SetReverbZone
transmissionLoss

◆ roomToneEvent

AK.Wwise.Event AkRoom.roomToneEvent = new AK.Wwise.Event()

Wwise Event to be posted on the room game object.


Wwise Unity Integration Documentation: AkRoom.transmissionLoss

  • AkRoom
GetID
priority
RemoveReverbZone
reverbAuxBus
reverbLevel
roomToneAuxSend
roomToneEvent
SetReverbZone
transmissionLoss

◆ transmissionLoss

float AkRoom.transmissionLoss = 1

Loss value modeling transmission through walls.


Wwise Unity Integration Documentation: AkRoomAwareManager Class Reference

List of all members
AkRoomAwareManager Class Reference

This manager tracks the AkRoomAwareObjects and the AkRooms in which they enter and exit. More...

Detailed Description

This manager tracks the AkRoomAwareObjects and the AkRooms in which they enter and exit.

At the end of the frame, the AkRoomAwareObject is set in the highest priority AkRoom in Spatial Audio.


Wwise Unity Integration Documentation: AkRoomAwareObject Class Reference

Public Member Functions | List of all members
AkRoomAwareObject Class Reference

This component makes a GameObject aware of AkRoom components. When using Spatial Audio rooms, all emitters and the spatial audio listener should have this component. More...

Inherits MonoBehaviour.

Public Member Functions

void | EnteredRoom (AkRoom room)
Called when entering a room. More...
void | ExitedRoom (AkRoom room)
Called when exiting a room. More...

Detailed Description

This component makes a GameObject aware of AkRoom components. When using Spatial Audio rooms, all emitters and the spatial audio listener should have this component.


Wwise Unity Integration Documentation: AkRoomAwareObject.EnteredRoom

  • AkRoomAwareObject
EnteredRoom
ExitedRoom

◆ EnteredRoom()

void AkRoomAwareObject.EnteredRoom ( AkRoom room )
inline

Called when entering a room.

Parameters
room The room.


Wwise Unity Integration Documentation: AkRoomAwareObject.ExitedRoom

  • AkRoomAwareObject
EnteredRoom
ExitedRoom

◆ ExitedRoom()

void AkRoomAwareObject.ExitedRoom ( AkRoom room )
inline

Called when exiting a room.

Parameters
room The room.


Wwise Unity Integration Documentation: AkRoomManager Class Reference

List of all members
AkRoomManager Class Reference

This manager tracks AkRoomPortals and the rooms that they connect (front and back room). More...

Detailed Description

This manager tracks AkRoomPortals and the rooms that they connect (front and back room).

At the end of the frame, the AkRoomPortals which rooms might have changed are updated and sent to Spatial Audio.


Wwise Unity Integration Documentation: AkRoomPortal Class Reference

Public Member Functions | Public Attributes | Static Public Attributes | List of all members
AkRoomPortal Class Reference

An AkRoomPortal can connect two AkRoom components together. More...

Inherits AkTriggerHandler.

Public Member Functions

ulong | GetID ()
Access the portal's ID. More...
override void | HandleEvent (UnityEngine.GameObject in_gameObject)
Opens the portal on trigger event. More...
void | ClosePortal (UnityEngine.GameObject in_gameObject)
Closes the portal on trigger event. More...

Public Attributes

System.Collections.Generic.List< int > | triggerList = new System.Collections.Generic.List<int> { START_TRIGGER_ID }
List containing the enabled triggers. More...
bool | useOtherObject = false
This property is usefull only when used with colliders. When enabled, the target of the action will be the other colliding object. When disabled, it will be the current object. More...

Static Public Attributes

const int | MAX_ROOMS_PER_PORTAL = 2
AkRoomPortals can only connect a maximum of 2 rooms. More...
const int | MAX_NB_TRIGGERS = 32
Since our mask is a 32 bits integer, we can't have more than 32 triggers. More...
static System.Collections.Generic.Dictionary< uint, string > | triggerTypes = AkTriggerBase.GetAllDerivedTypes()
Will contain the types of all the triggers derived from AkTriggerBase at runtime. More...

Detailed Description

An AkRoomPortal can connect two AkRoom components together.


Wwise Unity Integration Documentation: AkRoomPortal.ClosePortal

  • AkRoomPortal
ClosePortal
GetID
HandleEvent
MAX_ROOMS_PER_PORTAL

◆ ClosePortal()

void AkRoomPortal.ClosePortal ( UnityEngine.GameObject in_gameObject )
inline

Closes the portal on trigger event.


Wwise Unity Integration Documentation: AkRoomPortal.GetID

  • AkRoomPortal
ClosePortal
GetID
HandleEvent
MAX_ROOMS_PER_PORTAL

◆ GetID()

ulong AkRoomPortal.GetID ( )
inline

Access the portal's ID.


Wwise Unity Integration Documentation: AkRoomPortal.HandleEvent

  • AkRoomPortal
ClosePortal
GetID
HandleEvent
MAX_ROOMS_PER_PORTAL

◆ HandleEvent()

override void AkRoomPortal.HandleEvent ( UnityEngine.GameObject in_gameObject )
inline

Opens the portal on trigger event.


Wwise Unity Integration Documentation: AkRoomPortal.MAX_ROOMS_PER_PORTAL

  • AkRoomPortal
ClosePortal
GetID
HandleEvent
MAX_ROOMS_PER_PORTAL

◆ MAX_ROOMS_PER_PORTAL

const int AkRoomPortal.MAX_ROOMS_PER_PORTAL = 2
static

AkRoomPortals can only connect a maximum of 2 rooms.


Wwise Unity Integration Documentation: AkRoomPortalObstruction Class Reference

Public Attributes | List of all members
AkRoomPortalObstruction Class Reference

Completely obstructs the spatial audio portal of the current game object from the spatial audio listener if at least one object is between them. More...

Inherits AkObstructionOcclusion.

Public Attributes

float | fadeTime = 0.5f
The number of seconds for fade ins and fade outs. More...
UnityEngine.LayerMask | LayerMask = -1
Indicates which layers act as obstructers/occluders. More...
float | maxDistance = -1.0f
The maximum distance at which to perform obstruction/occlusion. A negative value will be interpreted as inifinite distance. More...
float | refreshInterval = 1
The number of seconds between obstruction/occlusion checks. More...

Detailed Description

Completely obstructs the spatial audio portal of the current game object from the spatial audio listener if at least one object is between them.

If no spatial audio listener has been registered, there will be no obstruction.


Wwise Unity Integration Documentation: AkSpatialAudioDebugDraw Class Reference

Public Attributes | List of all members
AkSpatialAudioDebugDraw Class Reference

Add this script on a GameObject to print Spatial Audio paths. More...

Inherits MonoBehaviour.

Public Attributes

bool | drawFirstOrderReflections = false
This allows you to visualize first order reflection sound paths. More...
bool | drawSecondOrderReflections = false
This allows you to visualize second order reflection sound paths. More...
bool | drawHigherOrderReflections = false
This allows you to visualize third or higher order reflection sound paths. More...
bool | drawDiffractionPaths = false
This allows you to visualize geometric diffraction sound paths between an obstructed emitter and the listener. More...

Detailed Description

Add this script on a GameObject to print Spatial Audio paths.


Wwise Unity Integration Documentation: AkSpatialAudioDebugDraw.drawDiffractionPaths

  • AkSpatialAudioDebugDraw
drawDiffractionPaths
drawFirstOrderReflections
drawHigherOrderReflections
drawSecondOrderReflections

◆ drawDiffractionPaths

bool AkSpatialAudioDebugDraw.drawDiffractionPaths = false

This allows you to visualize geometric diffraction sound paths between an obstructed emitter and the listener.


Wwise Unity Integration Documentation: AkSpatialAudioDebugDraw.drawFirstOrderReflections

  • AkSpatialAudioDebugDraw
drawDiffractionPaths
drawFirstOrderReflections
drawHigherOrderReflections
drawSecondOrderReflections

◆ drawFirstOrderReflections

bool AkSpatialAudioDebugDraw.drawFirstOrderReflections = false

This allows you to visualize first order reflection sound paths.


Wwise Unity Integration Documentation: AkSpatialAudioDebugDraw.drawHigherOrderReflections

  • AkSpatialAudioDebugDraw
drawDiffractionPaths
drawFirstOrderReflections
drawHigherOrderReflections
drawSecondOrderReflections

◆ drawHigherOrderReflections

bool AkSpatialAudioDebugDraw.drawHigherOrderReflections = false

This allows you to visualize third or higher order reflection sound paths.


Wwise Unity Integration Documentation: AkSpatialAudioDebugDraw.drawSecondOrderReflections

  • AkSpatialAudioDebugDraw
drawDiffractionPaths
drawFirstOrderReflections
drawHigherOrderReflections
drawSecondOrderReflections

◆ drawSecondOrderReflections

bool AkSpatialAudioDebugDraw.drawSecondOrderReflections = false

This allows you to visualize second order reflection sound paths.


Wwise Unity Integration Documentation: AkSpatialAudioEmitter Class Reference

Public Attributes | List of all members
AkSpatialAudioEmitter Class Reference

(DEPRECATED) This script is deprecated as of 2019.2. Early reflections, Diffraction and Room Reverb can all be enabled per sound in the Sound Property Editor of the Authoring. More...

Inherits MonoBehaviour, and AK.Wwise.IMigratable.

Public Attributes

AK.Wwise.AuxBus | reflectAuxBus = new AK.Wwise.AuxBus()
(DEPRECATED) As of 2019.2, the early reflections auxiliary bus can be set per sound, in the Authoring tool, or per game object, with the AkEarlyReflections component. More...
float | reflectionMaxPathLength = 1000
(DEPRECATED) As of 2019.2, the Reflection Max Path Length is set by the sound's Attenuation Max Distance value in the Authoring tool. More...
float | reflectionsAuxBusGain = 1
(DEPRECATED) As of 2019.2, the early reflections send volume can be set per sound, in the Authoring tool, or for all sunds playing on a game object, with the AkEarlyReflections component. More...
uint | reflectionsOrder = 1
(DEPRECATED) As of 2019.2, the Reflection Order is set in the Spatial Audio Initialization Settings. More...
float | roomReverbAuxBusGain = 1
(DEPRECATED) As of 2019.2, the Room Reverb Aux Bus Gain is set by the Game-Defined Auxiliary Sends Volume in the Sound Property Editor in the Authoring tool. More...
uint | diffractionMaxEdges = 0
(DEPRECATED) As of 2019.2, diffraction is enabled in the Sound Property Editor in the Authoring tool. More...
uint | diffractionMaxPaths = 0
(DEPRECATED) As of 2019.2, diffraction is enabled in the Sound Property Editor in the Authoring tool. More...
uint | diffractionMaxPathLength = 0
(DEPRECATED) As of 2019.2, diffraction is enabled in the Sound Property Editor in the Authoring tool. More...
bool | drawFirstOrderReflections = false
(DEPRECATED) Spatial Audio Debug Drawing were moved to the new AkSpatialAudioDebugDraw component. More...
bool | drawSecondOrderReflections = false
(DEPRECATED) Spatial Audio Debug Drawing were moved to the new AkSpatialAudioDebugDraw component. More...
bool | drawHigherOrderReflections = false
(DEPRECATED) Spatial Audio Debug Drawing were moved to the new AkSpatialAudioDebugDraw component. More...
bool | drawDiffractionPaths = false
(DEPRECATED) Spatial Audio Debug Drawing were moved to the new AkSpatialAudioDebugDraw component. More...

Detailed Description

(DEPRECATED) This script is deprecated as of 2019.2. Early reflections, Diffraction and Room Reverb can all be enabled per sound in the Sound Property Editor of the Authoring.

Some functionalities were moved to different components. See the AkEarlyReflections and AkSpatialAudioDebugDraw components for more details.


Wwise Unity Integration Documentation: AkSpatialAudioEmitter.diffractionMaxEdges

  • AkSpatialAudioEmitter
diffractionMaxEdges
diffractionMaxPathLength
diffractionMaxPaths
drawDiffractionPaths
drawFirstOrderReflections
drawHigherOrderReflections
drawSecondOrderReflections
reflectAuxBus
reflectionMaxPathLength
reflectionsAuxBusGain
reflectionsOrder
roomReverbAuxBusGain

◆ diffractionMaxEdges

uint AkSpatialAudioEmitter.diffractionMaxEdges = 0

(DEPRECATED) As of 2019.2, diffraction is enabled in the Sound Property Editor in the Authoring tool.


Wwise Unity Integration Documentation: AkSpatialAudioEmitter.diffractionMaxPathLength

  • AkSpatialAudioEmitter
diffractionMaxEdges
diffractionMaxPathLength
diffractionMaxPaths
drawDiffractionPaths
drawFirstOrderReflections
drawHigherOrderReflections
drawSecondOrderReflections
reflectAuxBus
reflectionMaxPathLength
reflectionsAuxBusGain
reflectionsOrder
roomReverbAuxBusGain

◆ diffractionMaxPathLength

uint AkSpatialAudioEmitter.diffractionMaxPathLength = 0

(DEPRECATED) As of 2019.2, diffraction is enabled in the Sound Property Editor in the Authoring tool.


Wwise Unity Integration Documentation: AkSpatialAudioEmitter.diffractionMaxPaths

  • AkSpatialAudioEmitter
diffractionMaxEdges
diffractionMaxPathLength
diffractionMaxPaths
drawDiffractionPaths
drawFirstOrderReflections
drawHigherOrderReflections
drawSecondOrderReflections
reflectAuxBus
reflectionMaxPathLength
reflectionsAuxBusGain
reflectionsOrder
roomReverbAuxBusGain

◆ diffractionMaxPaths

uint AkSpatialAudioEmitter.diffractionMaxPaths = 0

(DEPRECATED) As of 2019.2, diffraction is enabled in the Sound Property Editor in the Authoring tool.


Wwise Unity Integration Documentation: AkSpatialAudioEmitter.drawDiffractionPaths

  • AkSpatialAudioEmitter
diffractionMaxEdges
diffractionMaxPathLength
diffractionMaxPaths
drawDiffractionPaths
drawFirstOrderReflections
drawHigherOrderReflections
drawSecondOrderReflections
reflectAuxBus
reflectionMaxPathLength
reflectionsAuxBusGain
reflectionsOrder
roomReverbAuxBusGain

◆ drawDiffractionPaths

bool AkSpatialAudioEmitter.drawDiffractionPaths = false

(DEPRECATED) Spatial Audio Debug Drawing were moved to the new AkSpatialAudioDebugDraw component.


Wwise Unity Integration Documentation: AkSpatialAudioEmitter.drawFirstOrderReflections

  • AkSpatialAudioEmitter
diffractionMaxEdges
diffractionMaxPathLength
diffractionMaxPaths
drawDiffractionPaths
drawFirstOrderReflections
drawHigherOrderReflections
drawSecondOrderReflections
reflectAuxBus
reflectionMaxPathLength
reflectionsAuxBusGain
reflectionsOrder
roomReverbAuxBusGain

◆ drawFirstOrderReflections

bool AkSpatialAudioEmitter.drawFirstOrderReflections = false

(DEPRECATED) Spatial Audio Debug Drawing were moved to the new AkSpatialAudioDebugDraw component.


Wwise Unity Integration Documentation: AkSpatialAudioEmitter.drawHigherOrderReflections

  • AkSpatialAudioEmitter
diffractionMaxEdges
diffractionMaxPathLength
diffractionMaxPaths
drawDiffractionPaths
drawFirstOrderReflections
drawHigherOrderReflections
drawSecondOrderReflections
reflectAuxBus
reflectionMaxPathLength
reflectionsAuxBusGain
reflectionsOrder
roomReverbAuxBusGain

◆ drawHigherOrderReflections

bool AkSpatialAudioEmitter.drawHigherOrderReflections = false

(DEPRECATED) Spatial Audio Debug Drawing were moved to the new AkSpatialAudioDebugDraw component.


Wwise Unity Integration Documentation: AkSpatialAudioEmitter.drawSecondOrderReflections

  • AkSpatialAudioEmitter
diffractionMaxEdges
diffractionMaxPathLength
diffractionMaxPaths
drawDiffractionPaths
drawFirstOrderReflections
drawHigherOrderReflections
drawSecondOrderReflections
reflectAuxBus
reflectionMaxPathLength
reflectionsAuxBusGain
reflectionsOrder
roomReverbAuxBusGain

◆ drawSecondOrderReflections

bool AkSpatialAudioEmitter.drawSecondOrderReflections = false

(DEPRECATED) Spatial Audio Debug Drawing were moved to the new AkSpatialAudioDebugDraw component.


Wwise Unity Integration Documentation: AkSpatialAudioEmitter.reflectAuxBus

  • AkSpatialAudioEmitter
diffractionMaxEdges
diffractionMaxPathLength
diffractionMaxPaths
drawDiffractionPaths
drawFirstOrderReflections
drawHigherOrderReflections
drawSecondOrderReflections
reflectAuxBus
reflectionMaxPathLength
reflectionsAuxBusGain
reflectionsOrder
roomReverbAuxBusGain

◆ reflectAuxBus

AK.Wwise.AuxBus AkSpatialAudioEmitter.reflectAuxBus = new AK.Wwise.AuxBus()

(DEPRECATED) As of 2019.2, the early reflections auxiliary bus can be set per sound, in the Authoring tool, or per game object, with the AkEarlyReflections component.


Wwise Unity Integration Documentation: AkSpatialAudioEmitter.reflectionMaxPathLength

  • AkSpatialAudioEmitter
diffractionMaxEdges
diffractionMaxPathLength
diffractionMaxPaths
drawDiffractionPaths
drawFirstOrderReflections
drawHigherOrderReflections
drawSecondOrderReflections
reflectAuxBus
reflectionMaxPathLength
reflectionsAuxBusGain
reflectionsOrder
roomReverbAuxBusGain

◆ reflectionMaxPathLength

float AkSpatialAudioEmitter.reflectionMaxPathLength = 1000

(DEPRECATED) As of 2019.2, the Reflection Max Path Length is set by the sound's Attenuation Max Distance value in the Authoring tool.


Wwise Unity Integration Documentation: AkSpatialAudioEmitter.reflectionsAuxBusGain

  • AkSpatialAudioEmitter
diffractionMaxEdges
diffractionMaxPathLength
diffractionMaxPaths
drawDiffractionPaths
drawFirstOrderReflections
drawHigherOrderReflections
drawSecondOrderReflections
reflectAuxBus
reflectionMaxPathLength
reflectionsAuxBusGain
reflectionsOrder
roomReverbAuxBusGain

◆ reflectionsAuxBusGain

float AkSpatialAudioEmitter.reflectionsAuxBusGain = 1

(DEPRECATED) As of 2019.2, the early reflections send volume can be set per sound, in the Authoring tool, or for all sunds playing on a game object, with the AkEarlyReflections component.


Wwise Unity Integration Documentation: AkSpatialAudioEmitter.reflectionsOrder

  • AkSpatialAudioEmitter
diffractionMaxEdges
diffractionMaxPathLength
diffractionMaxPaths
drawDiffractionPaths
drawFirstOrderReflections
drawHigherOrderReflections
drawSecondOrderReflections
reflectAuxBus
reflectionMaxPathLength
reflectionsAuxBusGain
reflectionsOrder
roomReverbAuxBusGain

◆ reflectionsOrder

uint AkSpatialAudioEmitter.reflectionsOrder = 1

(DEPRECATED) As of 2019.2, the Reflection Order is set in the Spatial Audio Initialization Settings.


Wwise Unity Integration Documentation: AkSpatialAudioEmitter.roomReverbAuxBusGain

  • AkSpatialAudioEmitter
diffractionMaxEdges
diffractionMaxPathLength
diffractionMaxPaths
drawDiffractionPaths
drawFirstOrderReflections
drawHigherOrderReflections
drawSecondOrderReflections
reflectAuxBus
reflectionMaxPathLength
reflectionsAuxBusGain
reflectionsOrder
roomReverbAuxBusGain

◆ roomReverbAuxBusGain

float AkSpatialAudioEmitter.roomReverbAuxBusGain = 1

(DEPRECATED) As of 2019.2, the Room Reverb Aux Bus Gain is set by the Game-Defined Auxiliary Sends Volume in the Sound Property Editor in the Authoring tool.


Wwise Unity Integration Documentation: AkSpatialAudioListener Class Reference

Classes | Properties | List of all members
AkSpatialAudioListener Class Reference

Add this script on the game object that represent a listener. This is normally added to the Camera object or the Player object, but can be added to any game object when implementing 3D busses. isDefaultListener determines whether the game object will be considered a default listener - a listener that automatically listens to all game objects that do not have listeners attached to their AkGameObjListenerList's. More...

Inherits MonoBehaviour, and AK.Wwise.IMigratable.

Classes

class SpatialAudioListenerList
This class represents the list of active Unity Game Objects that are designated to be spatial audio listeners. Currently, only one spatial audio listener can be active at a time. More...

Properties

static AkAudioListener? | TheSpatialAudioListener [get]
Returns the "single" spatial audio listener. More...
static SpatialAudioListenerList | SpatialAudioListeners [get]
Returns the list of active Unity Game Objects that are designated to be spatial audio listeners. More...

Detailed Description

Add this script on the game object that represent a listener. This is normally added to the Camera object or the Player object, but can be added to any game object when implementing 3D busses. isDefaultListener determines whether the game object will be considered a default listener - a listener that automatically listens to all game objects that do not have listeners attached to their AkGameObjListenerList's.

See also
  • Integrating Listeners (Note: This is described in the Wwise SDK documentation.)


Wwise Unity Integration Documentation: AkSpatialAudioListener.SpatialAudioListenerList Class Reference

  • AkSpatialAudioListener
  • SpatialAudioListenerList
Public Member Functions | List of all members
AkSpatialAudioListener.SpatialAudioListenerList Class Reference

This class represents the list of active Unity Game Objects that are designated to be spatial audio listeners. Currently, only one spatial audio listener can be active at a time. More...

Public Member Functions

bool | Add (AkSpatialAudioListener listener)
Uniquely adds listeners to the list More...
bool | Remove (AkSpatialAudioListener listener)
Removes listeners from the list More...

Detailed Description

This class represents the list of active Unity Game Objects that are designated to be spatial audio listeners. Currently, only one spatial audio listener can be active at a time.


Wwise Unity Integration Documentation: AkSpatialAudioListener.SpatialAudioListenerList.Add

  • AkSpatialAudioListener
  • SpatialAudioListenerList
Add
Remove

◆ Add()

bool AkSpatialAudioListener.SpatialAudioListenerList.Add ( AkSpatialAudioListener listener )
inline

Uniquely adds listeners to the list

Parameters
listener
Returns


Wwise Unity Integration Documentation: AkSpatialAudioListener.SpatialAudioListenerList.Remove

  • AkSpatialAudioListener
  • SpatialAudioListenerList
Add
Remove

◆ Remove()

bool AkSpatialAudioListener.SpatialAudioListenerList.Remove ( AkSpatialAudioListener listener )
inline

Removes listeners from the list

Parameters
listener
Returns


Wwise Unity Integration Documentation: AkSpatialAudioListener.SpatialAudioListeners

  • AkSpatialAudioListener
SpatialAudioListeners
TheSpatialAudioListener

◆ SpatialAudioListeners

SpatialAudioListenerList AkSpatialAudioListener.SpatialAudioListeners
staticget

Returns the list of active Unity Game Objects that are designated to be spatial audio listeners.


Wwise Unity Integration Documentation: AkSpatialAudioListener.TheSpatialAudioListener

  • AkSpatialAudioListener
SpatialAudioListeners
TheSpatialAudioListener

◆ TheSpatialAudioListener

AkAudioListener? AkSpatialAudioListener.TheSpatialAudioListener
staticget

Returns the "single" spatial audio listener.


Wwise Unity Integration Documentation: AkState Class Reference

Public Attributes | Static Public Attributes | List of all members
AkState Class Reference

This will call AkUnitySoundEngine.SetState() whenever the selected Unity event is triggered. For example this component could be set on a Unity collider to trigger when an object enters it. More...

Inherits AkDragDropTriggerHandler, and AK.Wwise.IMigratable.

Public Attributes

System.Collections.Generic.List< int > | triggerList = new System.Collections.Generic.List<int> { START_TRIGGER_ID }
List containing the enabled triggers. More...
bool | useOtherObject = false
This property is usefull only when used with colliders. When enabled, the target of the action will be the other colliding object. When disabled, it will be the current object. More...

Static Public Attributes

const int | MAX_NB_TRIGGERS = 32
Since our mask is a 32 bits integer, we can't have more than 32 triggers. More...
static System.Collections.Generic.Dictionary< uint, string > | triggerTypes = AkTriggerBase.GetAllDerivedTypes()
Will contain the types of all the triggers derived from AkTriggerBase at runtime. More...

Detailed Description

This will call AkUnitySoundEngine.SetState() whenever the selected Unity event is triggered. For example this component could be set on a Unity collider to trigger when an object enters it.

See also
  • Integration Details - States (Note: This is described in the Wwise SDK documentation.)


Wwise Unity Integration Documentation: AkSurfaceReflector Class Reference

Classes | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
AkSurfaceReflector Class Reference

This component converts the provided mesh into Spatial Audio Geometry. More...

Inherits MonoBehaviour, and AK.Wwise.IMigratable.

Classes

struct GeometryData
The Spatial Audio Geometry Data. Can be used when calling AkUnitySoundEngine.SetGeometry() More...

Public Member Functions

void | SetGeometry ()
Call AkSurfaceReflector::SetGeometryFromMesh() with this component's mesh. More...
void | SetGeometryInstance ()
Call AkSurfaceReflector::SetGeometryInstance() with this component's tranform. More...
void | UpdateGeometry ()
Update this component's geometry instance More...
void | RemoveGeometry ()
Remove this component's geometry and corresponding instance from Spatial Audio. More...
void | RemoveGeometryInstance ()
Remove this component's geometry instance from Spatial Audio. More...

Static Public Member Functions

static bool | SetGeometryFromMesh (UnityEngine.Mesh mesh, ulong geometryID, bool enableDiffraction, bool enableDiffractionOnBoundaryEdges, AK.Wwise.AcousticTexture[] acousticTextures=null, float[] transmissionLossValues=null, string name="")
Convert the mesh into a geometry consisting of vertices, triangles, surfaces, acoustic textures and transmission loss values. Send it to Wwise with the rest of the AkGeometryParams to add or update a geometry in Spatial Audio. It is necessary to create at least one geometry instance for each geometry set that is to be used for diffraction and reflection simulation. See SetGeometryInstance(). More...
static void | GetGeometryDataFromMesh (UnityEngine.Mesh mesh, ref GeometryData geometryData, AK.Wwise.AcousticTexture[] acousticTextures=null, float[] transmissionLossValues=null, string name="")
Create Spatial Audio Geometry Data from a Unity mesh. The Geometry Data can be used later to call AkUnitySoundEngine.SetGeometry() More...
static void | SetGeometryInstance (ulong geometryInstanceID, ulong geometryID, UnityEngine.Transform transform, bool useForReflectionAndDiffraction, bool solid)
Add or update an instance of the geometry by sending the transform of this component to Wwise. A geometry instance is a unique instance of a geometry set with a specified transform (position, rotation and scale). It is necessary to create at least one geometry instance for each geometry set that is to be used for diffraction and reflection simulation. More...

Public Attributes

UnityEngine.Mesh | Mesh
The mesh to send to Spatial Audio as a Geometry Set. We recommend using a simplified mesh. More...
AK.Wwise.AcousticTexture[] | AcousticTextures = new AK.Wwise.AcousticTexture[1]
The acoustic texture per submesh. The acoustic texture represents the surface of the geometry. An acoustic texture is a set of absorption levels that will filter the sound reflected from the geometry. More...
float[] | TransmissionLossValues = new[] { 1.0f }
The transmission loss value per submesh. The transmission loss value is a control value used to adjust sound parameters. Typically, a value of 1.0 represents total sound loss, and a value of 0.0 indicates that sound can be transmitted through the geometry without any loss. Default value : 1.0. More...
bool | EnableDiffraction = true
Switch to enable or disable geometric diffraction for this mesh. More...
bool | EnableDiffractionOnBoundaryEdges = false
Switch to enable or disable geometric diffraction on boundary edges for this mesh. Boundary edges are edges that are connected to only one triangle. More...

Detailed Description

This component converts the provided mesh into Spatial Audio Geometry.

This component takes a mesh as a parameter. The triangles of the mesh are sent to Spatial Audio by calling SpatialAudio::AddGeometrySet(). The triangles reflect sounds that have an associated early reflections bus. If diffraction is enabled on this component, spatial audio also finds edges on the provided mesh, which diffract sounds that are diffraction enabled.


Wwise Unity Integration Documentation: AkSurfaceReflector.GeometryData Struct Reference

  • AkSurfaceReflector
  • GeometryData
List of all members
AkSurfaceReflector.GeometryData Struct Reference

The Spatial Audio Geometry Data. Can be used when calling AkUnitySoundEngine.SetGeometry() More...

Detailed Description

The Spatial Audio Geometry Data. Can be used when calling AkUnitySoundEngine.SetGeometry()


Wwise Unity Integration Documentation: AkSurfaceReflector.GetGeometryDataFromMesh

  • AkSurfaceReflector
AcousticTextures
EnableDiffraction
EnableDiffractionOnBoundaryEdges
GetGeometryDataFromMesh
Mesh
RemoveGeometry
RemoveGeometryInstance
SetGeometry
SetGeometryFromMesh
SetGeometryInstance
SetGeometryInstance
TransmissionLossValues
UpdateGeometry

◆ GetGeometryDataFromMesh()

static void AkSurfaceReflector.GetGeometryDataFromMesh | ( | UnityEngine.Mesh | mesh,
 |  | ref GeometryData | geometryData,
 |  | AK.Wwise.AcousticTexture[] | acousticTextures = null,
 |  | float[] | transmissionLossValues = null,
 |  | string | name = ""
 | ) |  |
inlinestatic

Create Spatial Audio Geometry Data from a Unity mesh. The Geometry Data can be used later to call AkUnitySoundEngine.SetGeometry()

Parameters
mesh | The mesh representing the geometry to be sent to Spatial Audio.
geometryData | (Output)The Spatial Audio Geometry Data created from the mesh.
acousticTextures | The acoustic texture of each surface of the geometry. Acoustic textures describe the filtering when sound reflects on the surface.
transmissionLossValues | The transmission loss value of each surface of the geometry. Transmission loss is the filtering when the sound goes through the surface.
name | A name for the geometry.

Referenced by SetGeometryFromMesh().


Wwise Unity Integration Documentation: AkSurfaceReflector.RemoveGeometry

  • AkSurfaceReflector
AcousticTextures
EnableDiffraction
EnableDiffractionOnBoundaryEdges
GetGeometryDataFromMesh
Mesh
RemoveGeometry
RemoveGeometryInstance
SetGeometry
SetGeometryFromMesh
SetGeometryInstance
SetGeometryInstance
TransmissionLossValues
UpdateGeometry

◆ RemoveGeometry()

void AkSurfaceReflector.RemoveGeometry ( )
inline

Remove this component's geometry and corresponding instance from Spatial Audio.


Wwise Unity Integration Documentation: AkSurfaceReflector.RemoveGeometryInstance

  • AkSurfaceReflector
AcousticTextures
EnableDiffraction
EnableDiffractionOnBoundaryEdges
GetGeometryDataFromMesh
Mesh
RemoveGeometry
RemoveGeometryInstance
SetGeometry
SetGeometryFromMesh
SetGeometryInstance
SetGeometryInstance
TransmissionLossValues
UpdateGeometry

◆ RemoveGeometryInstance()

void AkSurfaceReflector.RemoveGeometryInstance ( )
inline

Remove this component's geometry instance from Spatial Audio.


Wwise Unity Integration Documentation: AkSurfaceReflector.SetGeometry

  • AkSurfaceReflector
AcousticTextures
EnableDiffraction
EnableDiffractionOnBoundaryEdges
GetGeometryDataFromMesh
Mesh
RemoveGeometry
RemoveGeometryInstance
SetGeometry
SetGeometryFromMesh
SetGeometryInstance
SetGeometryInstance
TransmissionLossValues
UpdateGeometry

◆ SetGeometry()

void AkSurfaceReflector.SetGeometry ( )
inline

Call AkSurfaceReflector::SetGeometryFromMesh() with this component's mesh.

References AcousticTextures, EnableDiffraction, EnableDiffractionOnBoundaryEdges, Mesh, SetGeometryFromMesh(), and TransmissionLossValues.


Wwise Unity Integration Documentation: AkSurfaceReflector.SetGeometryFromMesh

  • AkSurfaceReflector
AcousticTextures
EnableDiffraction
EnableDiffractionOnBoundaryEdges
GetGeometryDataFromMesh
Mesh
RemoveGeometry
RemoveGeometryInstance
SetGeometry
SetGeometryFromMesh
SetGeometryInstance
SetGeometryInstance
TransmissionLossValues
UpdateGeometry

◆ SetGeometryFromMesh()

static bool AkSurfaceReflector.SetGeometryFromMesh | ( | UnityEngine.Mesh | mesh,
 |  | ulong | geometryID,
 |  | bool | enableDiffraction,
 |  | bool | enableDiffractionOnBoundaryEdges,
 |  | AK.Wwise.AcousticTexture[] | acousticTextures = null,
 |  | float[] | transmissionLossValues = null,
 |  | string | name = ""
 | ) |  |
inlinestatic

Convert the mesh into a geometry consisting of vertices, triangles, surfaces, acoustic textures and transmission loss values. Send it to Wwise with the rest of the AkGeometryParams to add or update a geometry in Spatial Audio. It is necessary to create at least one geometry instance for each geometry set that is to be used for diffraction and reflection simulation. See SetGeometryInstance().

Parameters
mesh | The mesh representing the geometry to be sent to Spatial Audio.
geometryID | A unique ID representing the geometry.
enableDiffraction | Enable the edges of this geometry to become diffraction edges.
enableDiffractionOnBoundaryEdges | Enable the boundary edges of this geometry to become diffraction edges. Boundary edges are edges that are connected to only one triangle.
acousticTextures | The acoustic texture of each surface of the geometry. Acoustic textures describe the filtering when sound reflects on the surface.
transmissionLossValues | The transmission loss value of each surface of the geometry. Transmission loss is the filtering when the sound goes through the surface.
name | A name for the geometry.
Returns
Returns true if the Geometry was sent to Wwise.

References GetGeometryDataFromMesh().

Referenced by SetGeometry().


Wwise Unity Integration Documentation: AkSurfaceReflector.SetGeometryInstance

  • AkSurfaceReflector
AcousticTextures
EnableDiffraction
EnableDiffractionOnBoundaryEdges
GetGeometryDataFromMesh
Mesh
RemoveGeometry
RemoveGeometryInstance
SetGeometry
SetGeometryFromMesh
SetGeometryInstance
SetGeometryInstance
TransmissionLossValues
UpdateGeometry

◆ SetGeometryInstance() [1/2]

void AkSurfaceReflector.SetGeometryInstance ( )
inline

Call AkSurfaceReflector::SetGeometryInstance() with this component's tranform.

Referenced by UpdateGeometry().


Wwise Unity Integration Documentation: AkSurfaceReflector.SetGeometryInstance

  • AkSurfaceReflector
AcousticTextures
EnableDiffraction
EnableDiffractionOnBoundaryEdges
GetGeometryDataFromMesh
Mesh
RemoveGeometry
RemoveGeometryInstance
SetGeometry
SetGeometryFromMesh
SetGeometryInstance
SetGeometryInstance
TransmissionLossValues
UpdateGeometry

◆ SetGeometryInstance() [2/2]

static void AkSurfaceReflector.SetGeometryInstance | ( | ulong | geometryInstanceID,
 |  | ulong | geometryID,
 |  | UnityEngine.Transform | transform,
 |  | bool | useForReflectionAndDiffraction,
 |  | bool | solid
 | ) |  |
inlinestatic

Add or update an instance of the geometry by sending the transform of this component to Wwise. A geometry instance is a unique instance of a geometry set with a specified transform (position, rotation and scale). It is necessary to create at least one geometry instance for each geometry set that is to be used for diffraction and reflection simulation.

Parameters
geometryInstanceID | A unique ID to for the geometry instance. It must be unique amongst all geometry instances, including geometry instances referencing different geometries.
geometryID | The ID of the geometry referenced by this instance.
transform | The transform to be applied to the geometry to convert it in world positions.
useForReflectionAndDiffraction | When enabled, the geometry instance triangles are used to compute reflection and diffraction. Set to false when using a geometry instance only to describe a room, and not for reflection and diffraction calculation.
solid | A solid geometry instance applies transmission loss once, over its volume. A non-solid geometry instance is one where each surface is infinitely thin, applying transmission loss at each surface.


Wwise Unity Integration Documentation: AkSurfaceReflector.UpdateGeometry

  • AkSurfaceReflector
AcousticTextures
EnableDiffraction
EnableDiffractionOnBoundaryEdges
GetGeometryDataFromMesh
Mesh
RemoveGeometry
RemoveGeometryInstance
SetGeometry
SetGeometryFromMesh
SetGeometryInstance
SetGeometryInstance
TransmissionLossValues
UpdateGeometry

◆ UpdateGeometry()

void AkSurfaceReflector.UpdateGeometry ( )
inline

Update this component's geometry instance

References SetGeometryInstance().


Wwise Unity Integration Documentation: AkSurfaceReflector.AcousticTextures

  • AkSurfaceReflector
AcousticTextures
EnableDiffraction
EnableDiffractionOnBoundaryEdges
GetGeometryDataFromMesh
Mesh
RemoveGeometry
RemoveGeometryInstance
SetGeometry
SetGeometryFromMesh
SetGeometryInstance
SetGeometryInstance
TransmissionLossValues
UpdateGeometry

◆ AcousticTextures

AK.Wwise.AcousticTexture [] AkSurfaceReflector.AcousticTextures = new AK.Wwise.AcousticTexture[1]

The acoustic texture per submesh. The acoustic texture represents the surface of the geometry. An acoustic texture is a set of absorption levels that will filter the sound reflected from the geometry.

Referenced by SetGeometry().


Wwise Unity Integration Documentation: AkSurfaceReflector.EnableDiffraction

  • AkSurfaceReflector
AcousticTextures
EnableDiffraction
EnableDiffractionOnBoundaryEdges
GetGeometryDataFromMesh
Mesh
RemoveGeometry
RemoveGeometryInstance
SetGeometry
SetGeometryFromMesh
SetGeometryInstance
SetGeometryInstance
TransmissionLossValues
UpdateGeometry

◆ EnableDiffraction

bool AkSurfaceReflector.EnableDiffraction = true

Switch to enable or disable geometric diffraction for this mesh.

Referenced by SetGeometry().


Wwise Unity Integration Documentation: AkSurfaceReflector.EnableDiffractionOnBoundaryEdges

  • AkSurfaceReflector
AcousticTextures
EnableDiffraction
EnableDiffractionOnBoundaryEdges
GetGeometryDataFromMesh
Mesh
RemoveGeometry
RemoveGeometryInstance
SetGeometry
SetGeometryFromMesh
SetGeometryInstance
SetGeometryInstance
TransmissionLossValues
UpdateGeometry

◆ EnableDiffractionOnBoundaryEdges

bool AkSurfaceReflector.EnableDiffractionOnBoundaryEdges = false

Switch to enable or disable geometric diffraction on boundary edges for this mesh. Boundary edges are edges that are connected to only one triangle.

Referenced by SetGeometry().


Wwise Unity Integration Documentation: AkSurfaceReflector.Mesh

  • AkSurfaceReflector
AcousticTextures
EnableDiffraction
EnableDiffractionOnBoundaryEdges
GetGeometryDataFromMesh
Mesh
RemoveGeometry
RemoveGeometryInstance
SetGeometry
SetGeometryFromMesh
SetGeometryInstance
SetGeometryInstance
TransmissionLossValues
UpdateGeometry

◆ Mesh

UnityEngine.Mesh AkSurfaceReflector.Mesh

The mesh to send to Spatial Audio as a Geometry Set. We recommend using a simplified mesh.

Referenced by SetGeometry().


Wwise Unity Integration Documentation: AkSurfaceReflector.TransmissionLossValues

  • AkSurfaceReflector
AcousticTextures
EnableDiffraction
EnableDiffractionOnBoundaryEdges
GetGeometryDataFromMesh
Mesh
RemoveGeometry
RemoveGeometryInstance
SetGeometry
SetGeometryFromMesh
SetGeometryInstance
SetGeometryInstance
TransmissionLossValues
UpdateGeometry

◆ TransmissionLossValues

float [] AkSurfaceReflector.TransmissionLossValues = new[] { 1.0f }

The transmission loss value per submesh. The transmission loss value is a control value used to adjust sound parameters. Typically, a value of 1.0 represents total sound loss, and a value of 0.0 indicates that sound can be transmitted through the geometry without any loss. Default value : 1.0.

Referenced by SetGeometry().


Wwise Unity Integration Documentation: AkSwitch Class Reference

Public Attributes | Static Public Attributes | List of all members
AkSwitch Class Reference

This will call AkUnitySoundEngine.SetSwitch() whenever the selected Unity event is triggered. For example, this component could be set on a Unity collider to trigger when an object enters it. More...

Inherits AkDragDropTriggerHandler, and AK.Wwise.IMigratable.

Public Attributes

System.Collections.Generic.List< int > | triggerList = new System.Collections.Generic.List<int> { START_TRIGGER_ID }
List containing the enabled triggers. More...
bool | useOtherObject = false
This property is usefull only when used with colliders. When enabled, the target of the action will be the other colliding object. When disabled, it will be the current object. More...

Static Public Attributes

const int | MAX_NB_TRIGGERS = 32
Since our mask is a 32 bits integer, we can't have more than 32 triggers. More...
static System.Collections.Generic.Dictionary< uint, string > | triggerTypes = AkTriggerBase.GetAllDerivedTypes()
Will contain the types of all the triggers derived from AkTriggerBase at runtime. More...

Detailed Description

This will call AkUnitySoundEngine.SetSwitch() whenever the selected Unity event is triggered. For example, this component could be set on a Unity collider to trigger when an object enters it.

See also
  • Integration Details - Switches (Note: This is described in the Wwise SDK documentation.)


Wwise Unity Integration Documentation: AkTriggerBase Class Reference

Public Member Functions | Public Attributes | List of all members
AkTriggerBase Class Reference

Base class for the generic triggering mechanism for Wwise Integration. All Wwise components will use this mechanism to drive their behavior. Derive from this class to add your own triggering condition, as described in Adding New Triggers for Wwise Events. More...

Inherits MonoBehaviour.

Inherited by AkTriggerCollisionEnter, AkTriggerCollisionExit, AkTriggerDisable, AkTriggerEnable, AkTriggerEnter, AkTriggerExit, AkTriggerMouseDown, AkTriggerMouseEnter, AkTriggerMouseExit, and AkTriggerMouseUp.

Public Member Functions

delegate void Trigger (UnityEngine.GameObject in_gameObject)
Delegate declaration for all Wwise Triggers. More...

Public Attributes

Trigger triggerDelegate = null
All components reacting to the trigger will be registered in this delegate. More...

Detailed Description

Base class for the generic triggering mechanism for Wwise Integration. All Wwise components will use this mechanism to drive their behavior. Derive from this class to add your own triggering condition, as described in Adding New Triggers for Wwise Events.


Wwise Unity Integration Documentation: AkTriggerBase.Trigger

  • AkTriggerBase
Trigger
triggerDelegate

◆ Trigger()

delegate void AkTriggerBase.Trigger ( UnityEngine.GameObject in_gameObject )

Delegate declaration for all Wwise Triggers.

Parameters
in_gameObject in_gameObject is used to pass "Collidee" objects when Colliders are used. Some components have the option "Use other object", this is the object they'll use.


Wwise Unity Integration Documentation: AkTriggerBase.triggerDelegate

  • AkTriggerBase
Trigger
triggerDelegate

◆ triggerDelegate

Trigger AkTriggerBase.triggerDelegate = null

All components reacting to the trigger will be registered in this delegate.


Wwise Unity Integration Documentation: AkWaapiUtilities Class Reference

Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
AkWaapiUtilities Class Reference

This class wraps the client that communicates with the Wwise Authoring application via WAAPI. Given that only one request can be pending on the websocket, a queue is used to consume all calls sequentially. Messages sent to WAAPI use the JSON format and are serialized by Unity Json serialization. Helper classes (WaapiHelper) for serialization, keywords for WAAPI commands (WaapiKeywords), and classes for serializing message arguments and deserializing responses are found in AkWaapiHelper.cs. Uri.cs contains classes with fields containing URI strings for WAAPI calls and error messages. More...

Classes

class | SubscriptionInfo
Class used to store information about a specific subscription. More...
struct | WaapiCommand
A simple structure containing an async payload function that will be executed when it is consumed by the command queue. More...

Public Member Functions

delegate void | GetResultListDelegate< T > (List< T > result)
Generic delegate function for callbacks that expect to receive a list of objects in response to a WAAPI request. More...
delegate void | GetResultDelegate< T > (T result)
Generic delegate function for callbacks that expect to receive a single object in response to a WAAPI request. More...

Static Public Member Functions

static bool | IsConnected ()
Check whether the client is currently connected. More...
static void | Disconnected ()
Invoked after the client has disconnected from Wwise authoring. More...
static string | GetStatusString ()
Returns a rich text string representing the current WAAPI connection status. More...
static void | QueueCommand (string uri, string args, string options)
Use this function to queue a command with no expected return object. More...
static void | QueueCommandWithReturnType< T > (string uri, GetResultDelegate< T > callback, string args=null, string options=null)
Use this function to enqueue a command with an expected return object of type T. The command will deserialize the respone as type T and pass it to the callback. /// More...
static void | QueueCommandWithReturnWwiseObjects< T > (WaqlArgs args, ReturnOptions options, GetResultListDelegate< T > callback)
Enqueues a command with a payload that desirializes the list of wwise objects from the response. More...
static void | GetWwiseObject< T > (System.Guid guid, ReturnOptions options, GetResultListDelegate< T > callback)
Generic function for fetching a Wwise object with custom return options. More...
static void | GetWwiseObjects< T > (List< System.Guid > guids, ReturnOptions options, GetResultListDelegate< T > callback)
Generic function for fetching a list of Wwise objects with custom return options. More...
static void | GetWwiseObjectAndAncestors< T > (System.Guid guid, ReturnOptions options, GetResultListDelegate< T > callback)
Enqueues a waapi command to fetch the specified object and all of its ancestors in the hierarchy. Passes the list of WwiseObjectInfo containing the specified object and ancestors to the callback. More...
static void | GetWwiseObjectAndDescendants< T > (System.Guid guid, ReturnOptions options, int depth, GetResultListDelegate< T > callback)
Enqueues a waapi comand to fetch the specified object and all of its descendants in the hierarchy to a specified depth. Passes the list of WwiseObjectInfo containing the specified object and descendants to the callback. More...
static void | GetWwiseObjectAndDescendants< T > (string identifier, ReturnOptions options, int depth, GetResultListDelegate< T > callback)
Composes a WAQL "from object" request based on the parameters and enqueues a WAAPI command. Passes the list of WwiseObjectInfo containing the results to the callback More...
static void | Search< T > (string searchString, WwiseObjectType objectType, ReturnOptions options, GetResultListDelegate< T > callback)
Composes a WAQL "search" request based on the parameters and enqueues a WAAPI command. Passes the list of WwiseObjectInfo containing the search results to the callback More...
static void | GetChildren< T > (System.Guid guid, ReturnOptions options, GetResultListDelegate< T > callback)
Get the children of a given object. More...
static void | GetProject< T > (GetResultListDelegate< T > callback, ReturnOptions options)
Get the WwiseObjectInfo for the project. More...
static List< WwiseObjectInfo > | ParseObjectInfo (List< WwiseObjectInfoJsonObject > returnObjects)
Parse the response WwiseObjectInfoJsonObject of a "from object" request and implicit cast the objects to WwiseObjectInfo. More...
static void | SelectObjectInAuthoring (System.Guid guid)
Select the object in Wwise Authoring. Creates a WaapiCommand object containing a lambda call to SelectObjectInAuthoringAsync and adds it to the waapiCommandQueue. More...
static void | OpenWorkUnitInExplorer (System.Guid guid)
Open the OS file browser to the folder containing this object's Work Unit. Creates a WaapiCommand object containing a lambda call to OpenWorkUnitInExplorerAsync and adds it to the waapiCommandQueue. More...
static void | OpenSoundBankInExplorer (System.Guid guid)
Open the OS file browser to the folder containing the generated SoundBank. Creates a WaapiCommand object containing a lambda call to OpenSoundBankInExplorer and adds it to the waapiCommandQueue. More...
static void | Rename (System.Guid guid, string newName)
Rename an object in Wwise authoring. Creates a WaapiCommand object containing a lambda call to RenameAsync and adds it to the waapiCommandQueue. More...
static void | Delete (System.Guid guid)
Delete an object in wwise authoring. Work Units cannot be deleted in this manner. Creates a WaapiCommand object containing a lambda call to DeleteAsync and adds it to the waapiCommandQueue. More...
static bool | IsPlayable (WwiseObjectType type)
Checks if Wwise object is playable. More...
static void | TogglePlayEvent (WwiseObjectType objectType, System.Guid guid)
Play or pause an object in Wwise authoring. Creates a WaapiCommand object containing a lambda call to TogglePlayEventAsync and adds it to the waapiCommandQueue. /summary>

Parameters
objectType | Used to check whether the object is playable.
guid | GUID of the object to be played.
More...
static void | StopAllTransports ()
Stops all playing transports. Creates a WaapiCommand object containing a lambda call to StopAllTransportsAsync and adds it to the waapiCommandQueue. More...
static void | Subscribe (string topic, Wamp.PublishHandler subscriptionCallback, System.Action< SubscriptionInfo > handshakeCallback, ReturnOptions returnOptions=null)
Subscribe to WAAPI topic. Refer to WAAPI reference documentation for a list of topics and their options. Creates a WaapiCommand object containing a lambda call to SubscribeAsync and adds it to the waapiCommandQueue. More...
static void | Unsubscribe (uint id)
Unsubscribe from an existing subscription. Creates a WaapiCommand object containing a lambda call to UnsubscribeAsync and adds it to the waapiCommandQueue. More...
static List< WwiseObjectInfo > | ParseSelectedObjects (string json)
Deserializes the objects published by the ak.wwise.ui.selectionChanged topic. More...
static WwiseRenameInfo | ParseRenameObject (string json)
Deserializes the object published by the ak.wwise.core.object.nameChanged topic. More...
static WwiseChildModifiedInfo | ParseChildAddedOrRemoved (string json)
Deserializes the object published by the ak.wwise.core.object.childAdded or ak.wwise.core.object.childRemoved topic. More...

Static Public Attributes

static System.Action< bool > | Disconnecting
Fired when the connection is closing or closed, the bool parameter represents whether the socket connection is still open (for cleaning up subscriptions). More...
static System.Action | Connected
Fired when the connection is established, should be used by external classes to subscribe to topics they are interested in. More...
static System.Action | QueueConsumed
Fired when all commands in the queue have been executed. More...

Detailed Description

This class wraps the client that communicates with the Wwise Authoring application via WAAPI. Given that only one request can be pending on the websocket, a queue is used to consume all calls sequentially. Messages sent to WAAPI use the JSON format and are serialized by Unity Json serialization. Helper classes (WaapiHelper) for serialization, keywords for WAAPI commands (WaapiKeywords), and classes for serializing message arguments and deserializing responses are found in AkWaapiHelper.cs. Uri.cs contains classes with fields containing URI strings for WAAPI calls and error messages.


Wwise Unity Integration Documentation: AkWaapiUtilities.SubscriptionInfo Class Reference

  • AkWaapiUtilities
  • SubscriptionInfo
List of all members
AkWaapiUtilities.SubscriptionInfo Class Reference

Class used to store information about a specific subscription. More...

Detailed Description

Class used to store information about a specific subscription.


Wwise Unity Integration Documentation: AkWaapiUtilities.WaapiCommand Struct Reference

  • AkWaapiUtilities
  • WaapiCommand
List of all members
AkWaapiUtilities.WaapiCommand Struct Reference

A simple structure containing an async payload function that will be executed when it is consumed by the command queue. More...

Detailed Description

A simple structure containing an async payload function that will be executed when it is consumed by the command queue.


Wwise Unity Integration Documentation: AkWaapiUtilities.Delete

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ Delete()

static void AkWaapiUtilities.Delete ( System.Guid guid )
inlinestatic

Delete an object in wwise authoring. Work Units cannot be deleted in this manner. Creates a WaapiCommand object containing a lambda call to DeleteAsync and adds it to the waapiCommandQueue.

Parameters
guid GUID of the object to be deleted.


Wwise Unity Integration Documentation: AkWaapiUtilities.Disconnected

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ Disconnected()

static void AkWaapiUtilities.Disconnected ( )
inlinestatic

Invoked after the client has disconnected from Wwise authoring.

References Disconnecting.


Wwise Unity Integration Documentation: AkWaapiUtilities.GetChildren< T >

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ GetChildren< T >()

static void AkWaapiUtilities.GetChildren< T > | ( | System.Guid | guid,
 |  | ReturnOptions | options,
 |  | GetResultListDelegate< T > | callback
 | ) |  |
inlinestatic

Get the children of a given object.

Parameters
guid | GUID of the target object.
options | Specifies which object properties to include in the response
callback | Function accepting a list of WwiseObjectInfo.


Wwise Unity Integration Documentation: AkWaapiUtilities.GetProject< T >

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ GetProject< T >()

static void AkWaapiUtilities.GetProject< T > | ( | GetResultListDelegate< T > | callback,
 |  | ReturnOptions | options
 | ) |  |
inlinestatic

Get the WwiseObjectInfo for the project.

Parameters
callback | Function accepting a list of WwiseObjectInfo. The first element of the list will be the project info.
options | Specifies which object properties to include in the response


Wwise Unity Integration Documentation: AkWaapiUtilities.GetResultDelegate< T >

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ GetResultDelegate< T >()

delegate void AkWaapiUtilities.GetResultDelegate< T > ( T result )

Generic delegate function for callbacks that expect to receive a single object in response to a WAAPI request.

Parameters
result


Wwise Unity Integration Documentation: AkWaapiUtilities.GetResultListDelegate< T >

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ GetResultListDelegate< T >()

delegate void AkWaapiUtilities.GetResultListDelegate< T > ( List< T > result )

Generic delegate function for callbacks that expect to receive a list of objects in response to a WAAPI request.

Parameters
result


Wwise Unity Integration Documentation: AkWaapiUtilities.GetStatusString

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ GetStatusString()

static string AkWaapiUtilities.GetStatusString ( )
inlinestatic

Returns a rich text string representing the current WAAPI connection status.

Returns


Wwise Unity Integration Documentation: AkWaapiUtilities.GetWwiseObject< T >

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ GetWwiseObject< T >()

static void AkWaapiUtilities.GetWwiseObject< T > | ( | System.Guid | guid,
 |  | ReturnOptions | options,
 |  | GetResultListDelegate< T > | callback
 | ) |  |
inlinestatic

Generic function for fetching a Wwise object with custom return options.

Template Parameters
T Type of the object to be deserialized from the response.
Parameters
guid | GUID of the target object.
options | Specifies which object properties to include in the response
callback | Function accteping a list of T objects.


Wwise Unity Integration Documentation: AkWaapiUtilities.GetWwiseObjectAndAncestors< T >

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ GetWwiseObjectAndAncestors< T >()

static void AkWaapiUtilities.GetWwiseObjectAndAncestors< T > | ( | System.Guid | guid,
 |  | ReturnOptions | options,
 |  | GetResultListDelegate< T > | callback
 | ) |  |
inlinestatic

Enqueues a waapi command to fetch the specified object and all of its ancestors in the hierarchy. Passes the list of WwiseObjectInfo containing the specified object and ancestors to the callback.

Parameters
guid | GUID of the target object.
options | Specifies which object properties to include in the response
callback | Function accepting a list of WwiseObjectInfo.


Wwise Unity Integration Documentation: AkWaapiUtilities.GetWwiseObjectAndDescendants< T >

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ GetWwiseObjectAndDescendants< T >() [1/2]

static void AkWaapiUtilities.GetWwiseObjectAndDescendants< T > | ( | string | identifier,
 |  | ReturnOptions | options,
 |  | int | depth,
 |  | GetResultListDelegate< T > | callback
 | ) |  |
inlinestatic

Composes a WAQL "from object" request based on the parameters and enqueues a WAAPI command. Passes the list of WwiseObjectInfo containing the results to the callback

Parameters
identifier | Can bethe target object GUID or path within the hierarchy.
options | Specifies which object properties to include in the response
depth | Depth of descendants to fetch. If -1, fetches all descendants.
callback | Function accepting a list of WwiseObjectInfo.


Wwise Unity Integration Documentation: AkWaapiUtilities.GetWwiseObjectAndDescendants< T >

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ GetWwiseObjectAndDescendants< T >() [2/2]

static void AkWaapiUtilities.GetWwiseObjectAndDescendants< T > | ( | System.Guid | guid,
 |  | ReturnOptions | options,
 |  | int | depth,
 |  | GetResultListDelegate< T > | callback
 | ) |  |
inlinestatic

Enqueues a waapi comand to fetch the specified object and all of its descendants in the hierarchy to a specified depth. Passes the list of WwiseObjectInfo containing the specified object and descendants to the callback.

Parameters
guid | GUID of the target object.
options | Specifies which object properties to include in the response
depth | Depth of descendants to fetch. If -1, fetches all descendants.
callback | Function accepting a list of WwiseObjectInfo.


Wwise Unity Integration Documentation: AkWaapiUtilities.GetWwiseObjects< T >

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ GetWwiseObjects< T >()

static void AkWaapiUtilities.GetWwiseObjects< T > | ( | List< System.Guid > | guids,
 |  | ReturnOptions | options,
 |  | GetResultListDelegate< T > | callback
 | ) |  |
inlinestatic

Generic function for fetching a list of Wwise objects with custom return options.

Template Parameters
T Type of the object to be deserialized from the response.
Parameters
guids | GUIDs of the target objects.
options | Specifies which object properties to include in the response
callback | Function accteping a list of T objects.


Wwise Unity Integration Documentation: AkWaapiUtilities.IsConnected

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ IsConnected()

static bool AkWaapiUtilities.IsConnected ( )
inlinestatic

Check whether the client is currently connected.

Returns


Wwise Unity Integration Documentation: AkWaapiUtilities.IsPlayable

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ IsPlayable()

static bool AkWaapiUtilities.IsPlayable ( WwiseObjectType type )
inlinestatic

Checks if Wwise object is playable.

Parameters
type WwiseObjectType of object to check.
Returns
True if playable

Referenced by TogglePlayEvent().


Wwise Unity Integration Documentation: AkWaapiUtilities.OpenSoundBankInExplorer

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ OpenSoundBankInExplorer()

static void AkWaapiUtilities.OpenSoundBankInExplorer ( System.Guid guid )
inlinestatic

Open the OS file browser to the folder containing the generated SoundBank. Creates a WaapiCommand object containing a lambda call to OpenSoundBankInExplorer and adds it to the waapiCommandQueue.

Parameters
guid GUID of the SoundBank to be found.


Wwise Unity Integration Documentation: AkWaapiUtilities.OpenWorkUnitInExplorer

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ OpenWorkUnitInExplorer()

static void AkWaapiUtilities.OpenWorkUnitInExplorer ( System.Guid guid )
inlinestatic

Open the OS file browser to the folder containing this object's Work Unit. Creates a WaapiCommand object containing a lambda call to OpenWorkUnitInExplorerAsync and adds it to the waapiCommandQueue.

Parameters
guid GUID of the object to be found.


Wwise Unity Integration Documentation: AkWaapiUtilities.ParseChildAddedOrRemoved

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ ParseChildAddedOrRemoved()

static WwiseChildModifiedInfo AkWaapiUtilities.ParseChildAddedOrRemoved ( string json )
inlinestatic

Deserializes the object published by the ak.wwise.core.object.childAdded or ak.wwise.core.object.childRemoved topic.

Parameters
json Json string containing the message.
Returns
WwiseChildModifiedInfo containing parent and child object information.


Wwise Unity Integration Documentation: AkWaapiUtilities.ParseObjectInfo

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ ParseObjectInfo()

static List<WwiseObjectInfo> AkWaapiUtilities.ParseObjectInfo ( List< WwiseObjectInfoJsonObject > returnObjects )
inlinestatic

Parse the response WwiseObjectInfoJsonObject of a "from object" request and implicit cast the objects to WwiseObjectInfo.

Parameters
returnObjects
Returns


Wwise Unity Integration Documentation: AkWaapiUtilities.ParseRenameObject

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ ParseRenameObject()

static WwiseRenameInfo AkWaapiUtilities.ParseRenameObject ( string json )
inlinestatic

Deserializes the object published by the ak.wwise.core.object.nameChanged topic.

Parameters
json Json string containing the message.
Returns
WwiseRenameInfo containing the object information and the new name.


Wwise Unity Integration Documentation: AkWaapiUtilities.ParseSelectedObjects

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ ParseSelectedObjects()

static List<WwiseObjectInfo> AkWaapiUtilities.ParseSelectedObjects ( string json )
inlinestatic

Deserializes the objects published by the ak.wwise.ui.selectionChanged topic.

Parameters
json Json string containing the message.
Returns
List of WwiseObjectInfo objects.


Wwise Unity Integration Documentation: AkWaapiUtilities.QueueCommand

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ QueueCommand()

static void AkWaapiUtilities.QueueCommand | ( | string | uri,
 |  | string | args,
 |  | string | options
 | ) |  |
inlinestatic

Use this function to queue a command with no expected return object.

Parameters
uri | The URI of the WAAPI command
args | Array of command-specific arguments, or {} if there are none.
options | Array of command-specific options, or {} if there are none.


Wwise Unity Integration Documentation: AkWaapiUtilities.QueueCommandWithReturnType< T >

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ QueueCommandWithReturnType< T >()

static void AkWaapiUtilities.QueueCommandWithReturnType< T > | ( | string | uri,
 |  | GetResultDelegate< T > | callback,
 |  | string | args = null,
 |  | string | options = null
 | ) |  |
inlinestatic

Use this function to enqueue a command with an expected return object of type T. The command will deserialize the respone as type T and pass it to the callback. ///

Template Parameters
T Type of the expected return object
Parameters
uri | The URI of the waapi command
args | The command-specific arguments
options | The command-specific options
callback | Function accepting an argument of type T


Wwise Unity Integration Documentation: AkWaapiUtilities.QueueCommandWithReturnWwiseObjects< T >

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ QueueCommandWithReturnWwiseObjects< T >()

static void AkWaapiUtilities.QueueCommandWithReturnWwiseObjects< T > | ( | WaqlArgs | args,
 |  | ReturnOptions | options,
 |  | GetResultListDelegate< T > | callback
 | ) |  |
inlinestatic

Enqueues a command with a payload that desirializes the list of wwise objects from the response.

Parameters
args
options
callback


Wwise Unity Integration Documentation: AkWaapiUtilities.Rename

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ Rename()

static void AkWaapiUtilities.Rename | ( | System.Guid | guid,
 |  | string | newName
 | ) |  |
inlinestatic

Rename an object in Wwise authoring. Creates a WaapiCommand object containing a lambda call to RenameAsync and adds it to the waapiCommandQueue.

Parameters
guid | GUID of the object to be renamed.
newName | New name for the wwise object.


Wwise Unity Integration Documentation: AkWaapiUtilities.Search< T >

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ Search< T >()

static void AkWaapiUtilities.Search< T > | ( | string | searchString,
 |  | WwiseObjectType | objectType,
 |  | ReturnOptions | options,
 |  | GetResultListDelegate< T > | callback
 | ) |  |
inlinestatic

Composes a WAQL "search" request based on the parameters and enqueues a WAAPI command. Passes the list of WwiseObjectInfo containing the search results to the callback

Parameters
searchString | Characters to search for.
options | Specifies which object properties to include in the response
objectType | An optional object type used to filter search results.
callback | Function accepting a list of WwiseObjectInfo.


Wwise Unity Integration Documentation: AkWaapiUtilities.SelectObjectInAuthoring

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ SelectObjectInAuthoring()

static void AkWaapiUtilities.SelectObjectInAuthoring ( System.Guid guid )
inlinestatic

Select the object in Wwise Authoring. Creates a WaapiCommand object containing a lambda call to SelectObjectInAuthoringAsync and adds it to the waapiCommandQueue.

Parameters
guid GUID of the object to be selected.


Wwise Unity Integration Documentation: AkWaapiUtilities.StopAllTransports

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ StopAllTransports()

static void AkWaapiUtilities.StopAllTransports ( )
inlinestatic

Stops all playing transports. Creates a WaapiCommand object containing a lambda call to StopAllTransportsAsync and adds it to the waapiCommandQueue.


Wwise Unity Integration Documentation: AkWaapiUtilities.Subscribe

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ Subscribe()

static void AkWaapiUtilities.Subscribe | ( | string | topic,
 |  | Wamp.PublishHandler | subscriptionCallback,
 |  | System.Action< SubscriptionInfo > | handshakeCallback,
 |  | ReturnOptions | returnOptions = null
 | ) |  |
inlinestatic

Subscribe to WAAPI topic. Refer to WAAPI reference documentation for a list of topics and their options. Creates a WaapiCommand object containing a lambda call to SubscribeAsync and adds it to the waapiCommandQueue.

Parameters
topic | The topic URI to subscribe to.
subscriptionCallback | Delegate function to call when the topic is published.
handshakeCallback | Action to be executed once the subscription has been made.
returnOptions | The options the subscription. This should store the subscription ID so that the subscription can be cleaned up when it is no longer needed.

Referenced by AkWwiseTreeWAAPIDataSource.SubscribeTopics().


Wwise Unity Integration Documentation: AkWaapiUtilities.TogglePlayEvent

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ TogglePlayEvent()

static void AkWaapiUtilities.TogglePlayEvent | ( | WwiseObjectType | objectType,
 |  | System.Guid | guid
 | ) |  |
inlinestatic

Play or pause an object in Wwise authoring. Creates a WaapiCommand object containing a lambda call to TogglePlayEventAsync and adds it to the waapiCommandQueue. /summary>

Parameters
objectType | Used to check whether the object is playable.
guid | GUID of the object to be played.

References IsPlayable().


Wwise Unity Integration Documentation: AkWaapiUtilities.Unsubscribe

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ Unsubscribe()

static void AkWaapiUtilities.Unsubscribe ( uint id )
inlinestatic

Unsubscribe from an existing subscription. Creates a WaapiCommand object containing a lambda call to UnsubscribeAsync and adds it to the waapiCommandQueue.

Parameters
id The subscription ID received from the initial subscription.


Wwise Unity Integration Documentation: AkWaapiUtilities.Connected

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ Connected

System.Action AkWaapiUtilities.Connected
static

Fired when the connection is established, should be used by external classes to subscribe to topics they are interested in.


Wwise Unity Integration Documentation: AkWaapiUtilities.Disconnecting

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ Disconnecting

System.Action<bool> AkWaapiUtilities.Disconnecting
static

Fired when the connection is closing or closed, the bool parameter represents whether the socket connection is still open (for cleaning up subscriptions).

Referenced by Disconnected().


Wwise Unity Integration Documentation: AkWaapiUtilities.QueueConsumed

  • AkWaapiUtilities
Connected
Delete
Disconnected
Disconnecting
GetChildren< T >
GetProject< T >
GetResultDelegate< T >
GetResultListDelegate< T >
GetStatusString
GetWwiseObject< T >
GetWwiseObjectAndAncestors< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjectAndDescendants< T >
GetWwiseObjects< T >
IsConnected
IsPlayable
OpenSoundBankInExplorer
OpenWorkUnitInExplorer
ParseChildAddedOrRemoved
ParseObjectInfo
ParseRenameObject
ParseSelectedObjects
QueueCommand
QueueCommandWithReturnType< T >
QueueCommandWithReturnWwiseObjects< T >
QueueConsumed
Rename
Search< T >
SelectObjectInAuthoring
StopAllTransports
Subscribe
TogglePlayEvent
Unsubscribe

◆ QueueConsumed

System.Action AkWaapiUtilities.QueueConsumed
static

Fired when all commands in the queue have been executed.


Wwise Unity Integration Documentation: AkWwiseTreeWAAPIDataSource Class Reference

Public Member Functions | List of all members
AkWwiseTreeWAAPIDataSource Class Reference

This class communicates with Wwise Authoring via AkWaapiUtilities to keep track of the Wwise object hierarchy in the project. This hierarchy information is stored in a tree structure and is used by the Wwise Picker when it is in WAAPI mode. Changes to the project are received via WAAPI subscriptions. More...

Inherits AkWwiseTreeDataSource.

Public Member Functions

void SubscribeTopics ()
Subscribes to nameChanged, childAdded, childRemoved, and selectionChanged WAAPI events in order to keep the picker in sync with the Wwise project explorer. More...

Detailed Description

This class communicates with Wwise Authoring via AkWaapiUtilities to keep track of the Wwise object hierarchy in the project. This hierarchy information is stored in a tree structure and is used by the Wwise Picker when it is in WAAPI mode. Changes to the project are received via WAAPI subscriptions.


Wwise Unity Integration Documentation: AkWwiseTreeWAAPIDataSource.SubscribeTopics

  • AkWwiseTreeWAAPIDataSource
SubscribeTopics

◆ SubscribeTopics()

void AkWwiseTreeWAAPIDataSource.SubscribeTopics ( )
inline

Subscribes to nameChanged, childAdded, childRemoved, and selectionChanged WAAPI events in order to keep the picker in sync with the Wwise project explorer.

References AkWaapiUtilities.Subscribe().


Wwise Unity Integration Documentation: AkWwiseTrigger Class Reference

Public Attributes | Static Public Attributes | List of all members
AkWwiseTrigger Class Reference

This will call AkUnitySoundEngine.PostTrigger() whenever the selected Unity event is triggered. For example this component could be set on a Unity collider to trigger when an object enters it. More...

Inherits AkDragDropTriggerHandler, and AK.Wwise.IMigratable.

Public Attributes

System.Collections.Generic.List< int > | triggerList = new System.Collections.Generic.List<int> { START_TRIGGER_ID }
List containing the enabled triggers. More...
bool | useOtherObject = false
This property is usefull only when used with colliders. When enabled, the target of the action will be the other colliding object. When disabled, it will be the current object. More...

Static Public Attributes

const int | MAX_NB_TRIGGERS = 32
Since our mask is a 32 bits integer, we can't have more than 32 triggers. More...
static System.Collections.Generic.Dictionary< uint, string > | triggerTypes = AkTriggerBase.GetAllDerivedTypes()
Will contain the types of all the triggers derived from AkTriggerBase at runtime. More...

Detailed Description

This will call AkUnitySoundEngine.PostTrigger() whenever the selected Unity event is triggered. For example this component could be set on a Unity collider to trigger when an object enters it.

See also
  • Working with Triggers > Overview (Note: This is described in the Wwise SDK documentation.)


Wwise Unity Integration Documentation: Args Class Reference

List of all members
Args Class Reference

Abstract base class for WAAPI command arguments. More...

Inheritance diagram for Args:
JsonSerializable ArgsCommand ArgsDisplayName ArgsObject ArgsPlay ArgsRename ArgsTransport WaqlArgs

Detailed Description

Abstract base class for WAAPI command arguments.


Wwise Unity Integration Documentation: ArgsCommand Class Reference

List of all members
ArgsCommand Class Reference

WAAPI arguments containing an object identfier and command field. Used by AkWaapiUtilities.SelectObjectInAuthoringAsync(). More...

Inheritance diagram for ArgsCommand:
Args JsonSerializable

Detailed Description

WAAPI arguments containing an object identfier and command field. Used by AkWaapiUtilities.SelectObjectInAuthoringAsync().


Wwise Unity Integration Documentation: ArgsDisplayName Class Reference

List of all members
ArgsDisplayName Class Reference

WAAPI arguments containing an object identfier and name used when deleting an object. More...

Inheritance diagram for ArgsDisplayName:
Args JsonSerializable

Detailed Description

WAAPI arguments containing an object identfier and name used when deleting an object.


Wwise Unity Integration Documentation: ArgsObject Class Reference

List of all members
ArgsObject Class Reference

WAAPI arguments containing an object identfier. More...

Inheritance diagram for ArgsObject:
Args JsonSerializable

Detailed Description

WAAPI arguments containing an object identfier.


Wwise Unity Integration Documentation: ArgsPlay Class Reference

List of all members
ArgsPlay Class Reference

WAAPI arguments containing an Event identfier and transport ID. Used to toggle Event playback. More...

Inheritance diagram for ArgsPlay:
Args JsonSerializable

Detailed Description

WAAPI arguments containing an Event identfier and transport ID. Used to toggle Event playback.


Wwise Unity Integration Documentation: ArgsRename Class Reference

List of all members
ArgsRename Class Reference

WAAPI arguments containing an object identfier and new value used when renaming an object. More...

Inheritance diagram for ArgsRename:
Args JsonSerializable

Detailed Description

WAAPI arguments containing an object identfier and new value used when renaming an object.


Wwise Unity Integration Documentation: ArgsTransport Class Reference

List of all members
ArgsTransport Class Reference

WAAPI arguments containing a transport ID. Used to specify transports in transport-specific commands. More...

Inheritance diagram for ArgsTransport:
Args JsonSerializable

Detailed Description

WAAPI arguments containing a transport ID. Used to specify transports in transport-specific commands.


Wwise Unity Integration Documentation: ErrorDetails Class Reference

List of all members
ErrorDetails Class Reference

Used to deserialize details in WAAPI error messages. More...

Inheritance diagram for ErrorDetails:
JsonSerializable

Detailed Description

Used to deserialize details in WAAPI error messages.


Wwise Unity Integration Documentation: ErrorMessage Class Reference

List of all members
ErrorMessage Class Reference

Used to deserialize WAAPI error messages. More...

Inheritance diagram for ErrorMessage:
JsonSerializable

Detailed Description

Used to deserialize WAAPI error messages.


Wwise Unity Integration Documentation: JsonSerializable Class Reference

List of all members
JsonSerializable Class Reference

Base class for Json serializable objects. Implements implicit cast to string using UnityEngine.JsonUtility.ToJson. More...

Inheritance diagram for JsonSerializable:
Args ErrorDetails ErrorMessage Options ReturnTransport ReturnWwiseObjects< T > ReturnWwiseObjects< T > SelectedWwiseObjects TransportState WwiseChildModifiedInfo WwiseRenameInfo

Detailed Description

Base class for Json serializable objects. Implements implicit cast to string using UnityEngine.JsonUtility.ToJson.


Wwise Unity Integration Documentation: Options Class Reference

List of all members
Options Class Reference

Abstract base class for WAAPI command options. More...

Inheritance diagram for Options:
JsonSerializable ReturnOptions TransportOptions

Detailed Description

Abstract base class for WAAPI command options.


Wwise Unity Integration Documentation: ReturnOptions Class Reference

List of all members
ReturnOptions Class Reference

WAAPI options to specify the names of fields to return in a WAAPI request returning WwiseObjects. More...

Inheritance diagram for ReturnOptions:
Options JsonSerializable

Detailed Description

WAAPI options to specify the names of fields to return in a WAAPI request returning WwiseObjects.


Wwise Unity Integration Documentation: ReturnTransport Class Reference

List of all members
ReturnTransport Class Reference

Used to deserialize the response from an ak.wwise.core.transport.create command. Contains the transport ID. More...

Inheritance diagram for ReturnTransport:
JsonSerializable

Detailed Description

Used to deserialize the response from an ak.wwise.core.transport.create command. Contains the transport ID.


Wwise Unity Integration Documentation: ReturnWwiseObjects< T > Class Template Reference

List of all members
ReturnWwiseObjects< T > Class Template Reference

Generic class to deserialize a WAAPI response containing Wwise objects with custom return options. More...

Inheritance diagram for ReturnWwiseObjects< T >:
JsonSerializable JsonSerializable

Detailed Description

Generic class to deserialize a WAAPI response containing Wwise objects with custom return options.


Wwise Unity Integration Documentation: SelectedWwiseObjects Class Reference

List of all members
SelectedWwiseObjects Class Reference

Class used to deserialize selected Wwise objects published on the ak.wwise.ui.selectionChanged topic. More...

Inheritance diagram for SelectedWwiseObjects:
JsonSerializable

Detailed Description

Class used to deserialize selected Wwise objects published on the ak.wwise.ui.selectionChanged topic.


Wwise Unity Integration Documentation: TransportOptions Class Reference

List of all members
TransportOptions Class Reference

WAAPI options used to specify the transport ID when subscribing. More...

Inheritance diagram for TransportOptions:
Options JsonSerializable

Detailed Description

WAAPI options used to specify the transport ID when subscribing.


Wwise Unity Integration Documentation: TransportState Class Reference

List of all members
TransportState Class Reference

Used to deserialize transport-state information receieved from the transport.stateChanged topic. More...

Inheritance diagram for TransportState:
JsonSerializable

Detailed Description

Used to deserialize transport-state information receieved from the transport.stateChanged topic.


Wwise Unity Integration Documentation: WaapiHelper Class Reference

List of all members
WaapiHelper Class Reference

Contains a helper function GetWwiseObjectTypeFromString. More...

Detailed Description

Contains a helper function GetWwiseObjectTypeFromString.


Wwise Unity Integration Documentation: WaapiKeywords Class Reference

Static Public Attributes | List of all members
WaapiKeywords Class Reference

Contains fields for specific WAAPI keywords. More...

Static Public Attributes

static ReadOnlyDictionary< WwiseObjectType, string > | WwiseObjectTypeStrings
Maps WwiseObjectType to strings. More...
static ReadOnlyDictionary< string, string > | FolderDisplaynames
Maps root folder names to displayed strings. More...
static ReadOnlyDictionary< string, WwiseObjectType > | typeStringDict
Maps strings to WwiseObjectType. More...

Detailed Description

Contains fields for specific WAAPI keywords.


Wwise Unity Integration Documentation: WaapiKeywords.FolderDisplaynames

  • WaapiKeywords
FolderDisplaynames
typeStringDict
WwiseObjectTypeStrings

◆ FolderDisplaynames

ReadOnlyDictionary<string, string> WaapiKeywords.FolderDisplaynames
static

Maps root folder names to displayed strings.


Wwise Unity Integration Documentation: WaapiKeywords.typeStringDict

  • WaapiKeywords
FolderDisplaynames
typeStringDict
WwiseObjectTypeStrings

◆ typeStringDict

ReadOnlyDictionary<string, WwiseObjectType> WaapiKeywords.typeStringDict
static

Maps strings to WwiseObjectType.


Wwise Unity Integration Documentation: WaapiKeywords.WwiseObjectTypeStrings

  • WaapiKeywords
FolderDisplaynames
typeStringDict
WwiseObjectTypeStrings

◆ WwiseObjectTypeStrings

ReadOnlyDictionary<WwiseObjectType, string> WaapiKeywords.WwiseObjectTypeStrings
static

Maps WwiseObjectType to strings.


Wwise Unity Integration Documentation: Wamp Class Reference

Classes | Public Member Functions | List of all members
Wamp Class Reference

WAMP protocol implementation using only strings and regular expressions. This implements only a subset of the WAMP feature set and is only compatible with Wwise. More...

Classes

class | ErrorException
Exception thrown during WAMP operations. More...
class | TimeoutException
Exception thrown during WAMP operations when the timeout is reached. More...

Public Member Functions

delegate void PublishHandler (string json)
Publish events are delegates registered with Subscribe. More...

Detailed Description

WAMP protocol implementation using only strings and regular expressions. This implements only a subset of the WAMP feature set and is only compatible with Wwise.


Wwise Unity Integration Documentation: Wamp.ErrorException Class Reference

  • Wamp
  • ErrorException
List of all members
Wamp.ErrorException Class Reference

Exception thrown during WAMP operations. More...

Inherits Exception.

Detailed Description

Exception thrown during WAMP operations.


Wwise Unity Integration Documentation: Wamp.TimeoutException Class Reference

  • Wamp
  • TimeoutException
List of all members
Wamp.TimeoutException Class Reference

Exception thrown during WAMP operations when the timeout is reached. More...

Inherits Exception.

Detailed Description

Exception thrown during WAMP operations when the timeout is reached.


Wwise Unity Integration Documentation: Wamp.PublishHandler

  • Wamp
PublishHandler

◆ PublishHandler()

delegate void Wamp.PublishHandler ( string json )

Publish events are delegates registered with Subscribe.


Wwise Unity Integration Documentation: WaqlArgs Class Reference

List of all members
WaqlArgs Class Reference

WAAPI arguments containing a WAQL string. More...

Inheritance diagram for WaqlArgs:
Args JsonSerializable

Detailed Description

WAAPI arguments containing a WAQL string.


Wwise Unity Integration Documentation: WwiseChildModifiedInfo Class Reference

List of all members
WwiseChildModifiedInfo Class Reference

Used to deserialize information published on the ak.ww.nosp@m.ise..nosp@m.core..nosp@m.@obj.nosp@m.ect.c.nosp@m.hild.nosp@m.Added and ak.ww.nosp@m.ise..nosp@m.core..nosp@m.@obj.nosp@m.ect.c.nosp@m.hild.nosp@m.Remov.nosp@m.ed topics. More...

Inheritance diagram for WwiseChildModifiedInfo:
JsonSerializable

Detailed Description

Used to deserialize information published on the ak.ww.nosp@m.ise..nosp@m.core..nosp@m.@obj.nosp@m.ect.c.nosp@m.hild.nosp@m.Added and ak.ww.nosp@m.ise..nosp@m.core..nosp@m.@obj.nosp@m.ect.c.nosp@m.hild.nosp@m.Remov.nosp@m.ed topics.


Wwise Unity Integration Documentation: WwiseObjectInfo Struct Reference

List of all members
WwiseObjectInfo Struct Reference

Class containing the information returned by a WAAPI request for an object. More...

Detailed Description

Class containing the information returned by a WAAPI request for an object.


Wwise Unity Integration Documentation: WwiseObjectInfoJsonObject Class Reference

List of all members
WwiseObjectInfoJsonObject Class Reference

Used to deserialize information from a request for a Wwise object. Implements an implicit cast to WwiseObjectInfo. More...

Detailed Description

Used to deserialize information from a request for a Wwise object. Implements an implicit cast to WwiseObjectInfo.


Wwise Unity Integration Documentation: WwiseObjectInfoParent Class Reference

List of all members
WwiseObjectInfoParent Class Reference

Contains the GUID of the returned object's parent. More...

Detailed Description

Contains the GUID of the returned object's parent.


Wwise Unity Integration Documentation: WwiseRenameInfo Class Reference

List of all members
WwiseRenameInfo Class Reference

Used to deserialize information published on the ak.ww.nosp@m.ise..nosp@m.core..nosp@m.@obj.nosp@m.ect.n.nosp@m.ameC.nosp@m.hange.nosp@m.d topic. More...

Inheritance diagram for WwiseRenameInfo:
JsonSerializable

Detailed Description

Used to deserialize information published on the ak.ww.nosp@m.ise..nosp@m.core..nosp@m.@obj.nosp@m.ect.n.nosp@m.ameC.nosp@m.hange.nosp@m.d topic.


Wwise Unity Integration Documentation: Class Index

Class Index
a | b | c | e | g | j | o | r | s | t | w
a
AkRadialEmitter ArgsObject
j
TransportOptions
AkReverbZone ArgsPlay TransportState
ak AkRoom ArgsRename JsonSerializable Wamp.TimeoutException
AcousticTexture (AK.Wwise) AkRoomAwareManager ArgsTransport
o
w
AuxBus (AK.Wwise) AkRoomAwareObject
b
AkAmbient AkRoomManager Options AkWaapiUtilities.WaapiCommand
AkAmbientLargeModePositioner AkRoomPortal Bank (AK.Wwise)
r
WaapiHelper
AkAudioListener AkRoomPortalObstruction BaseGroupType (AK.Wwise) WaapiKeywords
AkBank AkSpatialAudioDebugDraw BaseType (AK.Wwise) RTPC (AK.Wwise) Wamp
AkEarlyReflections AkSpatialAudioEmitter
c
ReturnOptions WaqlArgs
AkEmitterObstructionOcclusion AkSpatialAudioListener ReturnTransport WwiseChildModifiedInfo
AkEnvironment AkState CallbackFlags (AK.Wwise) ReturnWwiseObjects WwiseObjectInfo
AkEnvironment.AkEnvironment_CompareByPriority AkSurfaceReflector
e
ReturnWwiseObjects WwiseObjectInfoJsonObject
AkEnvironment.AkEnvironment_CompareBySelectionAlgorithm AkSwitch
s
WwiseObjectInfoParent
AkEnvironmentPortal AkTriggerBase Event (AK.Wwise) WwiseRenameInfo
AkEvent AkWaapiUtilities AkEnvironmentPortal.EnvListWrapper State (AK.Wwise)
AkEventCallbackMsg AkWwiseTreeWAAPIDataSource ErrorDetails Switch (AK.Wwise)
AkGameObj AkWwiseTrigger ErrorMessage AkSpatialAudioListener.SpatialAudioListenerList
AkInitializer Args Wamp.ErrorException AkWaapiUtilities.SubscriptionInfo
AkListenerDistanceProbe ArgsCommand
g
SelectedWwiseObjects
AkMemBankLoader ArgsDisplayName
t
AkSurfaceReflector.GeometryData


Wwise Unity Integration Documentation: Class Hierarchy

Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
C ak | URI strings to use in WAAPI calls. For a complete description, refer to the official Wwise SDK documentation
▼C AK.Wwise.BaseType | This type represents the base for all Wwise Types that require a GUID
C AK.Wwise.AcousticTexture | This type represents an Acoustic Texture
C AK.Wwise.AuxBus | This type represents an auxiliary send in the Master-Mixer Hierarchy
C AK.Wwise.Bank | This type can be used to load/unload SoundBanks
▼C AK.Wwise.BaseGroupType | This type represents the base for all Wwise Types that also require a group GUID, such as State and Switch
C AK.Wwise.State | This type can be used to set Wwise States
C AK.Wwise.Switch | This type can be used to set Switch values on gameobjects
C AK.Wwise.Event | This type can be used to post Events to the sound engine
C AK.Wwise.RTPC | This type can be used to set game parameter values to the sound engine
C AK.Wwise.Trigger | This type can be used to post triggers to the sound engine
C AK.Wwise.CallbackFlags | This type represents the values of the flags used when posting an Event with a callback
C AkAmbientLargeModePositioner | Use this component to add a Large Mode position to any AkAmbient in a Scene
C AkAudioListener | Add this script on the game object that represent a listener. This is normally added to the Camera object or the Player object, but can be added to any game object when implementing 3D busses. isDefaultListener determines whether the game object will be considered a default listener - a listener that automatically listens to all game objects that do not have listeners attached to their AkGameObjListenerList's
C AkBank | Loads and unloads a SoundBank at a specified moment. Vorbis sounds can be decompressed at a specified moment using the decode compressed data option. In that case, the SoundBank will be prepared
C AkEarlyReflections | Set an early reflections auxiliary bus and send volume for a particular game object
C AkEmitterObstructionOcclusion | Completely obstructs/occludes the emitter of the current game object from its listeners if at least one object is between them
C AkEnvironment | Use this component to define a reverb zone. This needs to be added to a collider object to work properly. See Using AkEnvironment and AkEnvironmentPortal from the Inspector
▼C AkEnvironment.AkEnvironment_CompareByPriority | Sorts AkEnvironments based on their priorities
C AkEnvironment.AkEnvironment_CompareBySelectionAlgorithm | Sorts AkEnvironments based on the selection algorithm. The selection algorithm is as follows:
C AkEnvironmentPortal | Use this component to define an area that straddles two different AkEnvironment's zones and allow mixing between both zones. Using AkEnvironment and AkEnvironmentPortal from the Inspector
C AkEnvironmentPortal.EnvListWrapper | This enables us to detect intersections between portals and environments in the editor
▼C AkEvent | Helper class that knows a Wwise Event and when to trigger it in Unity. As of 2017.2.0, the AkEvent inspector has buttons for play/stop, play multiple, stop multiple, and stop all. Play/Stop will play or stop the event such that it can be previewed both in edit mode and play mode. When multiple objects are selected, Play Multiple and Stop Multiple will play or stop the associated AkEvent for each object
C AkAmbient | Use this component to attach a Wwise Event to any object in a scene. The sound can be started at various moments, dependent on the selected Unity trigger. This component is more useful for ambient sounds (sounds related to scene-bound objects) but could also be used for other purposes. Since AkAmbient has AkEvent as its base class, it features the play/stop, play multiple, stop multiple and stop all buttons for previewing the associated Wwise event
C AkEventCallbackMsg | Event callback information. Event callback functions can receive this structure as a parameter
C AkGameObj | This component represents a sound object in your scene and tracks its position and other game syncs such as Switches, RTPCs, and environment values. You can add this to any object that emits sound, and it is added to any object to which an AkAudioListener is attached. If it is not present, Wwise adds it automatically, with the default values, to any Unity Game Object that is passed to Wwise
C AkInitializer | This script deals with initialization, and frame updates of the Wwise audio engine. It is marked as DontDestroyOnLoad so it stays active for the life of the game, not only one scene. Double-click the Initialization Settings entry, AkWwiseInitializationSettings, to review and edit Wwise initialization settings
C AkListenerDistanceProbe | Add this script on a listener game object to assign another game object as a distance probe. The position of the distance probe will be used for distance calculations for the listener, instead of the position of the listener itself. In third-person perspective applications, the distance probe Game Object may be set to the player character's position, and the listener Game Object's position to that of the camera. In this scenario, attenuation is based on the distance between the character and the sound, whereas panning, spatialization, and spread and focus calculations are based on the camera
C AkMemBankLoader | This class is an example of how to load banks in Wwise, if the bank data was preloaded in memory. This would be useful for situations where you use the WWW class
C AkRadialEmitter | A radial emitter is for sounds that are not point sources, but instead originate from a region of space
C AkReverbZone | This component establishes a parent-child relationship between two Rooms and allows for sound propagation between them as if they were the same Room, without the need for a connecting Portal
C AkRoom | An AkRoom is an enclosed environment that can only communicate to the outside/other rooms with AkRoomPortals
C AkRoomAwareManager | This manager tracks the AkRoomAwareObjects and the AkRooms in which they enter and exit
C AkRoomAwareObject | This component makes a GameObject aware of AkRoom components. When using Spatial Audio rooms, all emitters and the spatial audio listener should have this component
C AkRoomManager | This manager tracks AkRoomPortals and the rooms that they connect (front and back room)
C AkRoomPortal | An AkRoomPortal can connect two AkRoom components together
C AkRoomPortalObstruction | Completely obstructs the spatial audio portal of the current game object from the spatial audio listener if at least one object is between them
C AkSpatialAudioDebugDraw | Add this script on a GameObject to print Spatial Audio paths
C AkSpatialAudioEmitter | (DEPRECATED) This script is deprecated as of 2019.2. Early reflections, Diffraction and Room Reverb can all be enabled per sound in the Sound Property Editor of the Authoring
C AkSpatialAudioListener | Add this script on the game object that represent a listener. This is normally added to the Camera object or the Player object, but can be added to any game object when implementing 3D busses. isDefaultListener determines whether the game object will be considered a default listener - a listener that automatically listens to all game objects that do not have listeners attached to their AkGameObjListenerList's
C AkSpatialAudioListener.SpatialAudioListenerList | This class represents the list of active Unity Game Objects that are designated to be spatial audio listeners. Currently, only one spatial audio listener can be active at a time
C AkState | This will call AkUnitySoundEngine.SetState() whenever the selected Unity event is triggered. For example this component could be set on a Unity collider to trigger when an object enters it
C AkSurfaceReflector | This component converts the provided mesh into Spatial Audio Geometry
C AkSurfaceReflector.GeometryData | The Spatial Audio Geometry Data. Can be used when calling AkUnitySoundEngine.SetGeometry()
C AkSwitch | This will call AkUnitySoundEngine.SetSwitch() whenever the selected Unity event is triggered. For example, this component could be set on a Unity collider to trigger when an object enters it
C AkTriggerBase | Base class for the generic triggering mechanism for Wwise Integration. All Wwise components will use this mechanism to drive their behavior. Derive from this class to add your own triggering condition, as described in Adding New Triggers for Wwise Events
C AkWaapiUtilities | This class wraps the client that communicates with the Wwise Authoring application via WAAPI. Given that only one request can be pending on the websocket, a queue is used to consume all calls sequentially. Messages sent to WAAPI use the JSON format and are serialized by Unity Json serialization. Helper classes (WaapiHelper) for serialization, keywords for WAAPI commands (WaapiKeywords), and classes for serializing message arguments and deserializing responses are found in AkWaapiHelper.cs. Uri.cs contains classes with fields containing URI strings for WAAPI calls and error messages
C AkWaapiUtilities.SubscriptionInfo | Class used to store information about a specific subscription
C AkWaapiUtilities.WaapiCommand | A simple structure containing an async payload function that will be executed when it is consumed by the command queue
C AkWwiseTreeWAAPIDataSource | This class communicates with Wwise Authoring via AkWaapiUtilities to keep track of the Wwise object hierarchy in the project. This hierarchy information is stored in a tree structure and is used by the Wwise Picker when it is in WAAPI mode. Changes to the project are received via WAAPI subscriptions
C AkWwiseTrigger | This will call AkUnitySoundEngine.PostTrigger() whenever the selected Unity event is triggered. For example this component could be set on a Unity collider to trigger when an object enters it
▼C JsonSerializable | Base class for Json serializable objects. Implements implicit cast to string using UnityEngine.JsonUtility.ToJson
▼C Args | Abstract base class for WAAPI command arguments
C ArgsCommand | WAAPI arguments containing an object identfier and command field. Used by AkWaapiUtilities.SelectObjectInAuthoringAsync()
C ArgsDisplayName | WAAPI arguments containing an object identfier and name used when deleting an object
C ArgsObject | WAAPI arguments containing an object identfier
C ArgsPlay | WAAPI arguments containing an Event identfier and transport ID. Used to toggle Event playback
C ArgsRename | WAAPI arguments containing an object identfier and new value used when renaming an object
C ArgsTransport | WAAPI arguments containing a transport ID. Used to specify transports in transport-specific commands
C WaqlArgs | WAAPI arguments containing a WAQL string
C ErrorDetails | Used to deserialize details in WAAPI error messages
C ErrorMessage | Used to deserialize WAAPI error messages
▼C Options | Abstract base class for WAAPI command options
C ReturnOptions | WAAPI options to specify the names of fields to return in a WAAPI request returning WwiseObjects
C TransportOptions | WAAPI options used to specify the transport ID when subscribing
C ReturnTransport | Used to deserialize the response from an ak.wwise.core.transport.create command. Contains the transport ID
C ReturnWwiseObjects< T > | Generic class to deserialize a WAAPI response containing Wwise objects with custom return options
C ReturnWwiseObjects< T > | Generic class to deserialize a WAAPI response containing Wwise objects with custom return options
C SelectedWwiseObjects | Class used to deserialize selected Wwise objects published on the ak.wwise.ui.selectionChanged topic
C TransportState | Used to deserialize transport-state information receieved from the transport.stateChanged topic
C WwiseChildModifiedInfo | Used to deserialize information published on the ak.ww.nosp@m.ise..nosp@m.core..nosp@m.@obj.nosp@m.ect.c.nosp@m.hild.nosp@m.Added and ak.ww.nosp@m.ise..nosp@m.core..nosp@m.@obj.nosp@m.ect.c.nosp@m.hild.nosp@m.Remov.nosp@m.ed topics
C WwiseRenameInfo | Used to deserialize information published on the ak.ww.nosp@m.ise..nosp@m.core..nosp@m.@obj.nosp@m.ect.n.nosp@m.ameC.nosp@m.hange.nosp@m.d topic
C ReturnWwiseObjects | Class used to deserialize a WAAPI response containing Wwise objects
C WaapiHelper | Contains a helper function GetWwiseObjectTypeFromString
C WaapiKeywords | Contains fields for specific WAAPI keywords
C Wamp | WAMP protocol implementation using only strings and regular expressions. This implements only a subset of the WAMP feature set and is only compatible with Wwise
C Wamp.ErrorException | Exception thrown during WAMP operations
C Wamp.TimeoutException | Exception thrown during WAMP operations when the timeout is reached
C WwiseObjectInfo | Class containing the information returned by a WAAPI request for an object
C WwiseObjectInfoJsonObject | Used to deserialize information from a request for a Wwise object. Implements an implicit cast to WwiseObjectInfo
C WwiseObjectInfoParent | Contains the GUID of the returned object's parent


Wwise Unity Integration Documentation: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- a -

  • AcousticTextures : AkSurfaceReflector
  • actionOnEventType : AkEvent
  • Add() : AkSpatialAudioListener.SpatialAudioListenerList
  • axis : AkEnvironmentPortal

- b -

  • bankName : AkMemBankLoader

- c -

  • ClosePortal() : AkRoomPortal
  • Connected : AkWaapiUtilities
  • curveInterpolation : AkEvent

- d -

  • decodeBank : AkBank
  • Delete() : AkWaapiUtilities
  • diffractionMaxEdges : AkSpatialAudioEmitter
  • diffractionMaxPathLength : AkSpatialAudioEmitter
  • diffractionMaxPaths : AkSpatialAudioEmitter
  • Disconnected() : AkWaapiUtilities
  • Disconnecting : AkWaapiUtilities
  • drawDiffractionPaths : AkSpatialAudioDebugDraw , AkSpatialAudioEmitter
  • drawFirstOrderReflections : AkSpatialAudioDebugDraw , AkSpatialAudioEmitter
  • drawHigherOrderReflections : AkSpatialAudioDebugDraw , AkSpatialAudioEmitter
  • drawSecondOrderReflections : AkSpatialAudioDebugDraw , AkSpatialAudioEmitter

- e -

  • enableActionOnEvent : AkEvent
  • EnableDiffraction : AkSurfaceReflector
  • EnableDiffractionOnBoundaryEdges : AkSurfaceReflector
  • EnteredRoom() : AkRoomAwareObject
  • environments : AkEnvironmentPortal
  • envList : AkEnvironmentPortal
  • ExecuteAction() : AK.Wwise.Event
  • ExitedRoom() : AkRoomAwareObject

- f -

  • FolderDisplaynames : WaapiKeywords

- g -

  • GetChildren< T >() : AkWaapiUtilities
  • GetForward() : AkGameObj
  • GetGeometryDataFromMesh() : AkSurfaceReflector
  • GetID() : AkRoom , AkRoomPortal
  • GetPosition() : AkGameObj
  • GetProject< T >() : AkWaapiUtilities
  • GetResultDelegate< T >() : AkWaapiUtilities
  • GetResultListDelegate< T >() : AkWaapiUtilities
  • GetStatusString() : AkWaapiUtilities
  • GetUpward() : AkGameObj
  • GetWwiseObject< T >() : AkWaapiUtilities
  • GetWwiseObjectAndAncestors< T >() : AkWaapiUtilities
  • GetWwiseObjectAndDescendants< T >() : AkWaapiUtilities
  • GetWwiseObjects< T >() : AkWaapiUtilities

- h -

  • HandleEvent() : AkBank , AkRoomPortal

- i -

  • info : AkEventCallbackMsg
  • innerRadius : AkRadialEmitter
  • IsConnected() : AkWaapiUtilities
  • isEnvironmentAware : AkGameObj
  • isLocalizedBank : AkMemBankLoader
  • IsPlayable() : AkWaapiUtilities

- l -

  • Load() : AK.Wwise.Bank
  • LoadAsync() : AK.Wwise.Bank
  • loadAsynchronous : AkBank
  • LoadLocalizedBank() : AkMemBankLoader
  • LoadNonLocalizedBank() : AkMemBankLoader

- m -

  • m_positionOffsetData : AkGameObj
  • MAX_ROOMS_PER_PORTAL : AkRoomPortal
  • Mesh : AkSurfaceReflector

- o -

  • OpenSoundBankInExplorer() : AkWaapiUtilities
  • OpenWorkUnitInExplorer() : AkWaapiUtilities
  • outerRadius : AkRadialEmitter

- p -

  • ParentRoom : AkReverbZone
  • ParseChildAddedOrRemoved() : AkWaapiUtilities
  • ParseObjectInfo() : AkWaapiUtilities
  • ParseRenameObject() : AkWaapiUtilities
  • ParseSelectedObjects() : AkWaapiUtilities
  • Post() : AK.Wwise.Event
  • PostMIDI() : AK.Wwise.Event
  • priority : AkRoom
  • PublishHandler() : Wamp

- q -

  • QueueCommand() : AkWaapiUtilities
  • QueueCommandWithReturnType< T >() : AkWaapiUtilities
  • QueueCommandWithReturnWwiseObjects< T >() : AkWaapiUtilities
  • QueueConsumed : AkWaapiUtilities

- r -

  • reflectAuxBus : AkSpatialAudioEmitter
  • reflectionMaxPathLength : AkSpatialAudioEmitter
  • reflectionsAuxBus : AkEarlyReflections
  • reflectionsAuxBusGain : AkSpatialAudioEmitter
  • reflectionsOrder : AkSpatialAudioEmitter
  • reflectionsVolume : AkEarlyReflections
  • Remove() : AkSpatialAudioListener.SpatialAudioListenerList
  • RemoveGeometry() : AkSurfaceReflector
  • RemoveGeometryInstance() : AkSurfaceReflector
  • RemoveReverbZone() : AkReverbZone , AkRoom
  • Rename() : AkWaapiUtilities
  • reverbAuxBus : AkRoom
  • reverbLevel : AkRoom
  • ReverbZone : AkReverbZone
  • roomReverbAuxBusGain : AkSpatialAudioEmitter
  • roomToneAuxSend : AkRoom
  • roomToneEvent : AkRoom

- s -

  • saveDecodedBank : AkBank
  • Search< T >() : AkWaapiUtilities
  • SelectObjectInAuthoring() : AkWaapiUtilities
  • sender : AkEventCallbackMsg
  • SetGeometry() : AkSurfaceReflector
  • SetGeometryFromMesh() : AkSurfaceReflector
  • SetGeometryInstance() : AkSurfaceReflector
  • SetReverbZone() : AkReverbZone , AkRoom
  • soundEmitterObject : AkEvent
  • SpatialAudioListeners : AkSpatialAudioListener
  • StopAllTransports() : AkWaapiUtilities
  • StopMIDI() : AK.Wwise.Event
  • Subscribe() : AkWaapiUtilities
  • SubscribeTopics() : AkWwiseTreeWAAPIDataSource

- t -

  • TheSpatialAudioListener : AkSpatialAudioListener
  • TogglePlayEvent() : AkWaapiUtilities
  • transitionDuration : AkEvent
  • TransitionRegionWidth : AkReverbZone
  • transmissionLoss : AkRoom
  • TransmissionLossValues : AkSurfaceReflector
  • Trigger() : AkTriggerBase
  • triggerDelegate : AkTriggerBase
  • type : AkEventCallbackMsg
  • typeStringDict : WaapiKeywords

- u -

  • Unload() : AK.Wwise.Bank
  • UnloadBank() : AkBank
  • unloadTriggerList : AkBank
  • Unsubscribe() : AkWaapiUtilities
  • UpdateGeometry() : AkSurfaceReflector

- w -

  • WwiseObjectReference : AK.Wwise.Bank
  • WwiseObjectTypeStrings : WaapiKeywords


Wwise Unity Integration Documentation: Class Members - Functions

- a -

  • Add() : AkSpatialAudioListener.SpatialAudioListenerList

- c -

  • ClosePortal() : AkRoomPortal

- d -

  • Delete() : AkWaapiUtilities
  • Disconnected() : AkWaapiUtilities

- e -

  • EnteredRoom() : AkRoomAwareObject
  • ExecuteAction() : AK.Wwise.Event
  • ExitedRoom() : AkRoomAwareObject

- g -

  • GetChildren< T >() : AkWaapiUtilities
  • GetForward() : AkGameObj
  • GetGeometryDataFromMesh() : AkSurfaceReflector
  • GetID() : AkRoom , AkRoomPortal
  • GetPosition() : AkGameObj
  • GetProject< T >() : AkWaapiUtilities
  • GetResultDelegate< T >() : AkWaapiUtilities
  • GetResultListDelegate< T >() : AkWaapiUtilities
  • GetStatusString() : AkWaapiUtilities
  • GetUpward() : AkGameObj
  • GetWwiseObject< T >() : AkWaapiUtilities
  • GetWwiseObjectAndAncestors< T >() : AkWaapiUtilities
  • GetWwiseObjectAndDescendants< T >() : AkWaapiUtilities
  • GetWwiseObjects< T >() : AkWaapiUtilities

- h -

  • HandleEvent() : AkBank , AkRoomPortal

- i -

  • IsConnected() : AkWaapiUtilities
  • IsPlayable() : AkWaapiUtilities

- l -

  • Load() : AK.Wwise.Bank
  • LoadAsync() : AK.Wwise.Bank
  • LoadLocalizedBank() : AkMemBankLoader
  • LoadNonLocalizedBank() : AkMemBankLoader

- o -

  • OpenSoundBankInExplorer() : AkWaapiUtilities
  • OpenWorkUnitInExplorer() : AkWaapiUtilities

- p -

  • ParseChildAddedOrRemoved() : AkWaapiUtilities
  • ParseObjectInfo() : AkWaapiUtilities
  • ParseRenameObject() : AkWaapiUtilities
  • ParseSelectedObjects() : AkWaapiUtilities
  • Post() : AK.Wwise.Event
  • PostMIDI() : AK.Wwise.Event
  • PublishHandler() : Wamp

- q -

  • QueueCommand() : AkWaapiUtilities
  • QueueCommandWithReturnType< T >() : AkWaapiUtilities
  • QueueCommandWithReturnWwiseObjects< T >() : AkWaapiUtilities

- r -

  • Remove() : AkSpatialAudioListener.SpatialAudioListenerList
  • RemoveGeometry() : AkSurfaceReflector
  • RemoveGeometryInstance() : AkSurfaceReflector
  • RemoveReverbZone() : AkReverbZone , AkRoom
  • Rename() : AkWaapiUtilities

- s -

  • Search< T >() : AkWaapiUtilities
  • SelectObjectInAuthoring() : AkWaapiUtilities
  • SetGeometry() : AkSurfaceReflector
  • SetGeometryFromMesh() : AkSurfaceReflector
  • SetGeometryInstance() : AkSurfaceReflector
  • SetReverbZone() : AkReverbZone , AkRoom
  • StopAllTransports() : AkWaapiUtilities
  • StopMIDI() : AK.Wwise.Event
  • Subscribe() : AkWaapiUtilities
  • SubscribeTopics() : AkWwiseTreeWAAPIDataSource

- t -

  • TogglePlayEvent() : AkWaapiUtilities
  • Trigger() : AkTriggerBase

- u -

  • Unload() : AK.Wwise.Bank
  • UnloadBank() : AkBank
  • Unsubscribe() : AkWaapiUtilities
  • UpdateGeometry() : AkSurfaceReflector


Wwise Unity Integration Documentation: Class Members - Variables

- a -

  • AcousticTextures : AkSurfaceReflector
  • actionOnEventType : AkEvent
  • axis : AkEnvironmentPortal

- b -

  • bankName : AkMemBankLoader

- c -

  • Connected : AkWaapiUtilities
  • curveInterpolation : AkEvent

- d -

  • decodeBank : AkBank
  • diffractionMaxEdges : AkSpatialAudioEmitter
  • diffractionMaxPathLength : AkSpatialAudioEmitter
  • diffractionMaxPaths : AkSpatialAudioEmitter
  • Disconnecting : AkWaapiUtilities
  • drawDiffractionPaths : AkSpatialAudioDebugDraw , AkSpatialAudioEmitter
  • drawFirstOrderReflections : AkSpatialAudioDebugDraw , AkSpatialAudioEmitter
  • drawHigherOrderReflections : AkSpatialAudioDebugDraw , AkSpatialAudioEmitter
  • drawSecondOrderReflections : AkSpatialAudioDebugDraw , AkSpatialAudioEmitter

- e -

  • enableActionOnEvent : AkEvent
  • EnableDiffraction : AkSurfaceReflector
  • EnableDiffractionOnBoundaryEdges : AkSurfaceReflector
  • environments : AkEnvironmentPortal
  • envList : AkEnvironmentPortal

- f -

  • FolderDisplaynames : WaapiKeywords

- i -

  • info : AkEventCallbackMsg
  • innerRadius : AkRadialEmitter
  • isEnvironmentAware : AkGameObj
  • isLocalizedBank : AkMemBankLoader

- l -

  • loadAsynchronous : AkBank

- m -

  • m_positionOffsetData : AkGameObj
  • MAX_ROOMS_PER_PORTAL : AkRoomPortal
  • Mesh : AkSurfaceReflector

- o -

  • outerRadius : AkRadialEmitter

- p -

  • ParentRoom : AkReverbZone
  • priority : AkRoom

- q -

  • QueueConsumed : AkWaapiUtilities

- r -

  • reflectAuxBus : AkSpatialAudioEmitter
  • reflectionMaxPathLength : AkSpatialAudioEmitter
  • reflectionsAuxBus : AkEarlyReflections
  • reflectionsAuxBusGain : AkSpatialAudioEmitter
  • reflectionsOrder : AkSpatialAudioEmitter
  • reflectionsVolume : AkEarlyReflections
  • reverbAuxBus : AkRoom
  • reverbLevel : AkRoom
  • ReverbZone : AkReverbZone
  • roomReverbAuxBusGain : AkSpatialAudioEmitter
  • roomToneAuxSend : AkRoom
  • roomToneEvent : AkRoom

- s -

  • saveDecodedBank : AkBank
  • sender : AkEventCallbackMsg
  • soundEmitterObject : AkEvent

- t -

  • transitionDuration : AkEvent
  • TransitionRegionWidth : AkReverbZone
  • transmissionLoss : AkRoom
  • TransmissionLossValues : AkSurfaceReflector
  • triggerDelegate : AkTriggerBase
  • type : AkEventCallbackMsg
  • typeStringDict : WaapiKeywords

- u -

  • unloadTriggerList : AkBank

- w -

  • WwiseObjectReference : AK.Wwise.Bank
  • WwiseObjectTypeStrings : WaapiKeywords


Wwise Unity Integration Documentation: Class Members - Properties

  • SpatialAudioListeners : AkSpatialAudioListener
  • TheSpatialAudioListener : AkSpatialAudioListener


Wwise Unity Integration Documentation: Member List

  • AK
  • Wwise
  • AcousticTexture
AK.Wwise.AcousticTexture Member List

This is the complete list of members for AK.Wwise.AcousticTexture, including all inherited members.


Wwise Unity Integration Documentation: Member List

  • AK
  • Wwise
  • AuxBus
AK.Wwise.AuxBus Member List

This is the complete list of members for AK.Wwise.AuxBus, including all inherited members.


Wwise Unity Integration Documentation: Member List

  • AK
  • Wwise
  • Bank
AK.Wwise.Bank Member List

This is the complete list of members for AK.Wwise.Bank, including all inherited members.

Load(bool decodeBank=false, bool saveDecodedBank=false) | AK.Wwise.Bank | inline
LoadAsync(AkCallbackManager.BankCallback callback=null) | AK.Wwise.Bank | inline
Unload() | AK.Wwise.Bank | inline


Wwise Unity Integration Documentation: Member List

  • AK
  • Wwise
  • BaseGroupType
AK.Wwise.BaseGroupType Member List

This is the complete list of members for AK.Wwise.BaseGroupType, including all inherited members.


Wwise Unity Integration Documentation: Member List

  • AK
  • Wwise
  • BaseType
AK.Wwise.BaseType Member List

This is the complete list of members for AK.Wwise.BaseType, including all inherited members.


Wwise Unity Integration Documentation: Member List

  • AK
  • Wwise
  • CallbackFlags
AK.Wwise.CallbackFlags Member List

This is the complete list of members for AK.Wwise.CallbackFlags, including all inherited members.


Wwise Unity Integration Documentation: Member List

  • AK
  • Wwise
  • Event
AK.Wwise.Event Member List

This is the complete list of members for AK.Wwise.Event, including all inherited members.

ExecuteAction(UnityEngine.GameObject gameObject, AkActionOnEventType actionOnEventType, int transitionDuration, AkCurveInterpolation curveInterpolation) | AK.Wwise.Event | inline
Post(UnityEngine.GameObject gameObject) | AK.Wwise.Event | inline
Post(UnityEngine.GameObject gameObject, CallbackFlags flags, AkCallbackManager.EventCallback callback, object cookie=null) | AK.Wwise.Event | inline
Post(UnityEngine.GameObject gameObject, uint flags, AkCallbackManager.EventCallback callback, object cookie=null) | AK.Wwise.Event | inline
Post(ulong gameObjectId) | AK.Wwise.Event | inline
PostMIDI(UnityEngine.GameObject gameObject, AkMIDIPostArray array) | AK.Wwise.Event | inline
PostMIDI(UnityEngine.GameObject gameObject, AkMIDIPostArray array, int count) | AK.Wwise.Event | inline
StopMIDI(UnityEngine.GameObject gameObject) | AK.Wwise.Event | inline
StopMIDI() | AK.Wwise.Event | inline


Wwise Unity Integration Documentation: Member List

  • AK
  • Wwise
  • RTPC
AK.Wwise.RTPC Member List

This is the complete list of members for AK.Wwise.RTPC, including all inherited members.


Wwise Unity Integration Documentation: Member List

  • AK
  • Wwise
  • State
AK.Wwise.State Member List

This is the complete list of members for AK.Wwise.State, including all inherited members.


Wwise Unity Integration Documentation: Member List

  • AK
  • Wwise
  • Switch
AK.Wwise.Switch Member List

This is the complete list of members for AK.Wwise.Switch, including all inherited members.


Wwise Unity Integration Documentation: Member List

  • AK
  • Wwise
  • Trigger
AK.Wwise.Trigger Member List

This is the complete list of members for AK.Wwise.Trigger, including all inherited members.


Wwise Unity Integration Documentation: Member List

AkAmbient Member List

This is the complete list of members for AkAmbient, including all inherited members.

actionOnEventType | AkEvent
curveInterpolation | AkEvent
enableActionOnEvent | AkEvent
soundEmitterObject | AkEvent
transitionDuration | AkEvent


Wwise Unity Integration Documentation: Member List

AkAmbientLargeModePositioner Member List

This is the complete list of members for AkAmbientLargeModePositioner, including all inherited members.


Wwise Unity Integration Documentation: Member List

AkAudioListener Member List

This is the complete list of members for AkAudioListener, including all inherited members.


Wwise Unity Integration Documentation: Member List

AkBank Member List

This is the complete list of members for AkBank, including all inherited members.

decodeBank AkBank
HandleEvent(UnityEngine.GameObject in_gameObject) | AkBank | inline
loadAsynchronous AkBank
saveDecodedBank AkBank
UnloadBank(UnityEngine.GameObject in_gameObject) | AkBank | inline


Wwise Unity Integration Documentation: Member List

AkEarlyReflections Member List

This is the complete list of members for AkEarlyReflections, including all inherited members.


Wwise Unity Integration Documentation: Member List

AkEmitterObstructionOcclusion Member List

This is the complete list of members for AkEmitterObstructionOcclusion, including all inherited members.


Wwise Unity Integration Documentation: Member List

AkEnvironment Member List

This is the complete list of members for AkEnvironment, including all inherited members.


Wwise Unity Integration Documentation: Member List

  • AkEnvironment
  • AkEnvironment_CompareByPriority
AkEnvironment.AkEnvironment_CompareByPriority Member List

This is the complete list of members for AkEnvironment.AkEnvironment_CompareByPriority, including all inherited members.


Wwise Unity Integration Documentation: Member List

  • AkEnvironment
  • AkEnvironment_CompareBySelectionAlgorithm
AkEnvironment.AkEnvironment_CompareBySelectionAlgorithm Member List

This is the complete list of members for AkEnvironment.AkEnvironment_CompareBySelectionAlgorithm, including all inherited members.


Wwise Unity Integration Documentation: Member List

AkEnvironmentPortal Member List

This is the complete list of members for AkEnvironmentPortal, including all inherited members.


Wwise Unity Integration Documentation: Member List

  • AkEnvironmentPortal
  • EnvListWrapper
AkEnvironmentPortal.EnvListWrapper Member List

This is the complete list of members for AkEnvironmentPortal.EnvListWrapper, including all inherited members.


Wwise Unity Integration Documentation: Member List

AkEvent Member List

This is the complete list of members for AkEvent, including all inherited members.

actionOnEventType | AkEvent
curveInterpolation | AkEvent
enableActionOnEvent | AkEvent
soundEmitterObject | AkEvent
transitionDuration | AkEvent


Wwise Unity Integration Documentation: Member List

AkEventCallbackMsg Member List

This is the complete list of members for AkEventCallbackMsg, including all inherited members.


Wwise Unity Integration Documentation: Member List

AkGameObj Member List

This is the complete list of members for AkGameObj, including all inherited members.

GetForward() | AkGameObj | inlinevirtual
GetPosition() | AkGameObj | inlinevirtual
GetUpward() | AkGameObj | inlinevirtual


Wwise Unity Integration Documentation: Member List

AkInitializer Member List

This is the complete list of members for AkInitializer, including all inherited members.


Wwise Unity Integration Documentation: Member List

AkListenerDistanceProbe Member List

This is the complete list of members for AkListenerDistanceProbe, including all inherited members.


Wwise Unity Integration Documentation: Member List

AkMemBankLoader Member List

This is the complete list of members for AkMemBankLoader, including all inherited members.

bankName | AkMemBankLoader |
isLocalizedBank | AkMemBankLoader |
LoadLocalizedBank(string in_bankFilename) | AkMemBankLoader | inline
LoadNonLocalizedBank(string in_bankFilename) | AkMemBankLoader | inline


Wwise Unity Integration Documentation: AkObstructionOcclusion.LayerMask

  • AkRoomPortalObstruction

◆ LayerMask

UnityEngine.LayerMask AkObstructionOcclusion.LayerMask = -1
inherited

Indicates which layers act as obstructers/occluders.


Wwise Unity Integration Documentation: AkObstructionOcclusion.maxDistance

  • AkRoomPortalObstruction

◆ maxDistance

float AkObstructionOcclusion.maxDistance = -1.0f
inherited

The maximum distance at which to perform obstruction/occlusion. A negative value will be interpreted as inifinite distance.


Wwise Unity Integration Documentation: AkObstructionOcclusion.refreshInterval

  • AkRoomPortalObstruction

◆ refreshInterval

float AkObstructionOcclusion.refreshInterval = 1
inherited

The number of seconds between obstruction/occlusion checks.


Wwise Unity Integration Documentation: AkObstructionOcclusion.fadeTime

  • AkRoomPortalObstruction

◆ fadeTime

float AkObstructionOcclusion.fadeTime = 0.5f
inherited

The number of seconds for fade ins and fade outs.


Wwise Unity Integration Documentation: Member List

AkRadialEmitter Member List

This is the complete list of members for AkRadialEmitter, including all inherited members.


Wwise Unity Integration Documentation: Member List

AkReverbZone Member List

This is the complete list of members for AkReverbZone, including all inherited members.

ParentRoom AkReverbZone
RemoveReverbZone(AkRoom reverbZone) | AkReverbZone | inlinestatic
RemoveReverbZone() | AkReverbZone | inline
ReverbZone AkReverbZone
SetReverbZone(AkRoom reverbZone, AkRoom parentRoom, float transitionRegionWidth) | AkReverbZone | inlinestatic
SetReverbZone() | AkReverbZone | inline


Wwise Unity Integration Documentation: Member List

AkRoom Member List

This is the complete list of members for AkRoom, including all inherited members.

GetID() | AkRoom | inline
priority AkRoom
RemoveReverbZone() | AkRoom | inline
reverbAuxBus AkRoom
reverbLevel AkRoom
roomToneAuxSend AkRoom
roomToneEvent AkRoom
SetReverbZone(AkRoom parentRoom, float transitionRegionWidth) | AkRoom | inline


Wwise Unity Integration Documentation: Member List

AkRoomAwareManager Member List

This is the complete list of members for AkRoomAwareManager, including all inherited members.


Wwise Unity Integration Documentation: Member List

AkRoomAwareObject Member List

This is the complete list of members for AkRoomAwareObject, including all inherited members.

EnteredRoom(AkRoom room) | AkRoomAwareObject | inline
ExitedRoom(AkRoom room) | AkRoomAwareObject | inline


Wwise Unity Integration Documentation: Member List

AkRoomManager Member List

This is the complete list of members for AkRoomManager, including all inherited members.


Wwise Unity Integration Documentation: Member List

AkRoomPortal Member List

This is the complete list of members for AkRoomPortal, including all inherited members.

ClosePortal(UnityEngine.GameObject in_gameObject) | AkRoomPortal | inline
GetID() | AkRoomPortal | inline
HandleEvent(UnityEngine.GameObject in_gameObject) | AkRoomPortal | inline
MAX_ROOMS_PER_PORTAL | AkRoomPortal | static


Wwise Unity Integration Documentation: Member List

AkRoomPortalObstruction Member List

This is the complete list of members for AkRoomPortalObstruction, including all inherited members.


Wwise Unity Integration Documentation: Member List

AkSpatialAudioDebugDraw Member List

This is the complete list of members for AkSpatialAudioDebugDraw, including all inherited members.

drawDiffractionPaths | AkSpatialAudioDebugDraw
drawFirstOrderReflections | AkSpatialAudioDebugDraw
drawHigherOrderReflections | AkSpatialAudioDebugDraw
drawSecondOrderReflections | AkSpatialAudioDebugDraw


Wwise Unity Integration Documentation: Member List

AkSpatialAudioEmitter Member List

This is the complete list of members for AkSpatialAudioEmitter, including all inherited members.

diffractionMaxEdges | AkSpatialAudioEmitter
diffractionMaxPathLength | AkSpatialAudioEmitter
diffractionMaxPaths | AkSpatialAudioEmitter
drawDiffractionPaths | AkSpatialAudioEmitter
drawFirstOrderReflections | AkSpatialAudioEmitter
drawHigherOrderReflections | AkSpatialAudioEmitter
drawSecondOrderReflections | AkSpatialAudioEmitter
reflectAuxBus | AkSpatialAudioEmitter
reflectionMaxPathLength | AkSpatialAudioEmitter
reflectionsAuxBusGain | AkSpatialAudioEmitter
reflectionsOrder | AkSpatialAudioEmitter
roomReverbAuxBusGain | AkSpatialAudioEmitter


Wwise Unity Integration Documentation: Member List

AkSpatialAudioListener Member List

This is the complete list of members for AkSpatialAudioListener, including all inherited members.

SpatialAudioListeners | AkSpatialAudioListener | static
TheSpatialAudioListener | AkSpatialAudioListener | static


Wwise Unity Integration Documentation: Member List

  • AkSpatialAudioListener
  • SpatialAudioListenerList
AkSpatialAudioListener.SpatialAudioListenerList Member List

This is the complete list of members for AkSpatialAudioListener.SpatialAudioListenerList, including all inherited members.

Add(AkSpatialAudioListener listener) | AkSpatialAudioListener.SpatialAudioListenerList | inline
Remove(AkSpatialAudioListener listener) | AkSpatialAudioListener.SpatialAudioListenerList | inline


Wwise Unity Integration Documentation: Member List

AkState Member List

This is the complete list of members for AkState, including all inherited members.


Wwise Unity Integration Documentation: Member List

AkSurfaceReflector Member List

This is the complete list of members for AkSurfaceReflector, including all inherited members.

AcousticTextures | AkSurfaceReflector |
EnableDiffraction | AkSurfaceReflector |
EnableDiffractionOnBoundaryEdges | AkSurfaceReflector |
GetGeometryDataFromMesh(UnityEngine.Mesh mesh, ref GeometryData geometryData, AK.Wwise.AcousticTexture[] acousticTextures=null, float[] transmissionLossValues=null, string name="") | AkSurfaceReflector | inlinestatic
Mesh | AkSurfaceReflector |
RemoveGeometry() | AkSurfaceReflector | inline
RemoveGeometryInstance() | AkSurfaceReflector | inline
SetGeometry() | AkSurfaceReflector | inline
SetGeometryFromMesh(UnityEngine.Mesh mesh, ulong geometryID, bool enableDiffraction, bool enableDiffractionOnBoundaryEdges, AK.Wwise.AcousticTexture[] acousticTextures=null, float[] transmissionLossValues=null, string name="") | AkSurfaceReflector | inlinestatic
SetGeometryInstance(ulong geometryInstanceID, ulong geometryID, UnityEngine.Transform transform, bool useForReflectionAndDiffraction, bool solid) | AkSurfaceReflector | inlinestatic
SetGeometryInstance() | AkSurfaceReflector | inline
TransmissionLossValues | AkSurfaceReflector |
UpdateGeometry() | AkSurfaceReflector | inline


Wwise Unity Integration Documentation: Member List

AkSwitch Member List

This is the complete list of members for AkSwitch, including all inherited members.


Wwise Unity Integration Documentation: Member List

AkTriggerBase Member List

This is the complete list of members for AkTriggerBase, including all inherited members.

Trigger(UnityEngine.GameObject in_gameObject) AkTriggerBase


Wwise Unity Integration Documentation: AkTriggerHandler.useOtherObject

  • AkWwiseTrigger

◆ useOtherObject

bool AkTriggerHandler.useOtherObject = false
inherited

This property is usefull only when used with colliders. When enabled, the target of the action will be the other colliding object. When disabled, it will be the current object.


Wwise Unity Integration Documentation: AkTriggerHandler.triggerTypes

  • AkWwiseTrigger

◆ triggerTypes

System.Collections.Generic.Dictionary<uint, string> AkTriggerHandler.triggerTypes = AkTriggerBase.GetAllDerivedTypes()
staticinherited

Will contain the types of all the triggers derived from AkTriggerBase at runtime.


Wwise Unity Integration Documentation: AkTriggerHandler.MAX_NB_TRIGGERS

  • AkWwiseTrigger

◆ MAX_NB_TRIGGERS

const int AkTriggerHandler.MAX_NB_TRIGGERS = 32
staticinherited

Since our mask is a 32 bits integer, we can't have more than 32 triggers.


Wwise Unity Integration Documentation: AkTriggerHandler.triggerList

  • AkWwiseTrigger

◆ triggerList

System.Collections.Generic.List<int> AkTriggerHandler.triggerList = new System.Collections.Generic.List<int> { START_TRIGGER_ID }
inherited

List containing the enabled triggers.


Wwise Unity Integration Documentation: Member List

AkWaapiUtilities Member List

This is the complete list of members for AkWaapiUtilities, including all inherited members.

Connected | AkWaapiUtilities | static
Delete(System.Guid guid) | AkWaapiUtilities | inlinestatic
Disconnected() | AkWaapiUtilities | inlinestatic
Disconnecting | AkWaapiUtilities | static
GetChildren< T >(System.Guid guid, ReturnOptions options, GetResultListDelegate< T > callback) | AkWaapiUtilities | inlinestatic
GetProject< T >(GetResultListDelegate< T > callback, ReturnOptions options) | AkWaapiUtilities | inlinestatic
GetResultDelegate< T >(T result) | AkWaapiUtilities |
GetResultListDelegate< T >(List< T > result) | AkWaapiUtilities |
GetStatusString() | AkWaapiUtilities | inlinestatic
GetWwiseObject< T >(System.Guid guid, ReturnOptions options, GetResultListDelegate< T > callback) | AkWaapiUtilities | inlinestatic
GetWwiseObjectAndAncestors< T >(System.Guid guid, ReturnOptions options, GetResultListDelegate< T > callback) | AkWaapiUtilities | inlinestatic
GetWwiseObjectAndDescendants< T >(System.Guid guid, ReturnOptions options, int depth, GetResultListDelegate< T > callback) | AkWaapiUtilities | inlinestatic
GetWwiseObjectAndDescendants< T >(string identifier, ReturnOptions options, int depth, GetResultListDelegate< T > callback) | AkWaapiUtilities | inlinestatic
GetWwiseObjects< T >(List< System.Guid > guids, ReturnOptions options, GetResultListDelegate< T > callback) | AkWaapiUtilities | inlinestatic
IsConnected() | AkWaapiUtilities | inlinestatic
IsPlayable(WwiseObjectType type) | AkWaapiUtilities | inlinestatic
OpenSoundBankInExplorer(System.Guid guid) | AkWaapiUtilities | inlinestatic
OpenWorkUnitInExplorer(System.Guid guid) | AkWaapiUtilities | inlinestatic
ParseChildAddedOrRemoved(string json) | AkWaapiUtilities | inlinestatic
ParseObjectInfo(List< WwiseObjectInfoJsonObject > returnObjects) | AkWaapiUtilities | inlinestatic
ParseRenameObject(string json) | AkWaapiUtilities | inlinestatic
ParseSelectedObjects(string json) | AkWaapiUtilities | inlinestatic
QueueCommand(string uri, string args, string options) | AkWaapiUtilities | inlinestatic
QueueCommandWithReturnType< T >(string uri, GetResultDelegate< T > callback, string args=null, string options=null) | AkWaapiUtilities | inlinestatic
QueueCommandWithReturnWwiseObjects< T >(WaqlArgs args, ReturnOptions options, GetResultListDelegate< T > callback) | AkWaapiUtilities | inlinestatic
QueueConsumed | AkWaapiUtilities | static
Rename(System.Guid guid, string newName) | AkWaapiUtilities | inlinestatic
Search< T >(string searchString, WwiseObjectType objectType, ReturnOptions options, GetResultListDelegate< T > callback) | AkWaapiUtilities | inlinestatic
SelectObjectInAuthoring(System.Guid guid) | AkWaapiUtilities | inlinestatic
StopAllTransports() | AkWaapiUtilities | inlinestatic
Subscribe(string topic, Wamp.PublishHandler subscriptionCallback, System.Action< SubscriptionInfo > handshakeCallback, ReturnOptions returnOptions=null) | AkWaapiUtilities | inlinestatic
TogglePlayEvent(WwiseObjectType objectType, System.Guid guid) | AkWaapiUtilities | inlinestatic
Unsubscribe(uint id) | AkWaapiUtilities | inlinestatic


Wwise Unity Integration Documentation: Member List

  • AkWaapiUtilities
  • SubscriptionInfo
AkWaapiUtilities.SubscriptionInfo Member List

This is the complete list of members for AkWaapiUtilities.SubscriptionInfo, including all inherited members.


Wwise Unity Integration Documentation: Member List

AkWwiseTreeWAAPIDataSource Member List

This is the complete list of members for AkWwiseTreeWAAPIDataSource, including all inherited members.

SubscribeTopics() AkWwiseTreeWAAPIDataSource inline


Wwise Unity Integration Documentation: Member List

AkWwiseTrigger Member List

This is the complete list of members for AkWwiseTrigger, including all inherited members.


Wwise Unity Integration Documentation: Member List

Args Member List

This is the complete list of members for Args, including all inherited members.


Wwise Unity Integration Documentation: Member List

ArgsCommand Member List

This is the complete list of members for ArgsCommand, including all inherited members.


Wwise Unity Integration Documentation: Member List

ArgsDisplayName Member List

This is the complete list of members for ArgsDisplayName, including all inherited members.


Wwise Unity Integration Documentation: Member List

ArgsObject Member List

This is the complete list of members for ArgsObject, including all inherited members.


Wwise Unity Integration Documentation: Member List

ArgsPlay Member List

This is the complete list of members for ArgsPlay, including all inherited members.


Wwise Unity Integration Documentation: Member List

ArgsRename Member List

This is the complete list of members for ArgsRename, including all inherited members.


Wwise Unity Integration Documentation: Member List

ArgsTransport Member List

This is the complete list of members for ArgsTransport, including all inherited members.


Wwise Unity Integration Documentation: Member List

ErrorDetails Member List

This is the complete list of members for ErrorDetails, including all inherited members.


Wwise Unity Integration Documentation: Member List

ErrorMessage Member List

This is the complete list of members for ErrorMessage, including all inherited members.


Wwise Unity Integration Documentation: Member List

JsonSerializable Member List

This is the complete list of members for JsonSerializable, including all inherited members.


Wwise Unity Integration Documentation: Member List

Options Member List

This is the complete list of members for Options, including all inherited members.


Wwise Unity Integration Documentation: Member List

ReturnOptions Member List

This is the complete list of members for ReturnOptions, including all inherited members.


Wwise Unity Integration Documentation: Member List

ReturnTransport Member List

This is the complete list of members for ReturnTransport, including all inherited members.


Wwise Unity Integration Documentation: Member List

ReturnWwiseObjects< T > Member List

This is the complete list of members for ReturnWwiseObjects< T >, including all inherited members.


Wwise Unity Integration Documentation: Member List

SelectedWwiseObjects Member List

This is the complete list of members for SelectedWwiseObjects, including all inherited members.


Wwise Unity Integration Documentation: Member List

TransportOptions Member List

This is the complete list of members for TransportOptions, including all inherited members.


Wwise Unity Integration Documentation: Member List

TransportState Member List

This is the complete list of members for TransportState, including all inherited members.


Wwise Unity Integration Documentation: Member List

WaapiHelper Member List

This is the complete list of members for WaapiHelper, including all inherited members.


Wwise Unity Integration Documentation: Member List

WaapiKeywords Member List

This is the complete list of members for WaapiKeywords, including all inherited members.

FolderDisplaynames | WaapiKeywords | static
typeStringDict | WaapiKeywords | static
WwiseObjectTypeStrings | WaapiKeywords | static


Wwise Unity Integration Documentation: Member List

Wamp Member List

This is the complete list of members for Wamp, including all inherited members.

PublishHandler(string json) Wamp


Wwise Unity Integration Documentation: Member List

  • Wamp
  • ErrorException
Wamp.ErrorException Member List

This is the complete list of members for Wamp.ErrorException, including all inherited members.


Wwise Unity Integration Documentation: Member List

  • Wamp
  • TimeoutException
Wamp.TimeoutException Member List

This is the complete list of members for Wamp.TimeoutException, including all inherited members.


Wwise Unity Integration Documentation: Member List

WaqlArgs Member List

This is the complete list of members for WaqlArgs, including all inherited members.


Wwise Unity Integration Documentation: Member List

WwiseChildModifiedInfo Member List

This is the complete list of members for WwiseChildModifiedInfo, including all inherited members.


Wwise Unity Integration Documentation: Member List

WwiseObjectInfoJsonObject Member List

This is the complete list of members for WwiseObjectInfoJsonObject, including all inherited members.


Wwise Unity Integration Documentation: Member List

WwiseObjectInfoParent Member List

This is the complete list of members for WwiseObjectInfoParent, including all inherited members.


Wwise Unity Integration Documentation: Member List

WwiseRenameInfo Member List

This is the complete list of members for WwiseRenameInfo, including all inherited members.


Wwise Unity Integration Documentation: Integration/Assets/Wwise/API/Runtime/Handwritten/WAAPI Directory Reference

  • Integration
  • Assets
  • Wwise
  • API
  • Runtime
  • Handwritten
  • WAAPI
WAAPI Directory Reference


Wwise Unity Integration Documentation: Integration/Assets/Wwise/API/Runtime Directory Reference

  • Integration
  • Assets
  • Wwise
  • API
  • Runtime
Runtime Directory Reference


Wwise Unity Integration Documentation: Integration/Assets/Wwise Directory Reference

  • Integration
  • Assets
  • Wwise
Wwise Directory Reference


Wwise Unity Integration Documentation: Integration/Assets/Wwise/API/Editor/WwiseWindows Directory Reference

  • Integration
  • Assets
  • Wwise
  • API
  • Editor
  • WwiseWindows
WwiseWindows Directory Reference


Wwise Unity Integration Documentation: Integration/Assets/Wwise/API/Editor Directory Reference

  • Integration
  • Assets
  • Wwise
  • API
  • Editor
Editor Directory Reference

Directories


Wwise Unity Integration Documentation: Integration/Assets/Wwise/API/Runtime/WwiseTypes Directory Reference

  • Integration
  • Assets
  • Wwise
  • API
  • Runtime
  • WwiseTypes
WwiseTypes Directory Reference

Directories


Wwise Unity Integration Documentation: Documentation/private/Doxygen_en/AppleCommon/ReleaseNotes Directory Reference

  • Documentation
  • private
  • Doxygen_en
  • AppleCommon
  • ReleaseNotes
ReleaseNotes Directory Reference


Wwise Unity Integration Documentation: Documentation/private Directory Reference

  • Documentation
  • private
private Directory Reference


Wwise Unity Integration Documentation: Integration/Assets/Wwise/MonoBehaviour/Runtime Directory Reference

  • Integration
  • Assets
  • Wwise
  • MonoBehaviour
  • Runtime
Runtime Directory Reference


Wwise Unity Integration Documentation: Integration/Assets/Wwise/API/Runtime/WwiseTypes/WwiseTypes Directory Reference

  • Integration
  • Assets
  • Wwise
  • API
  • Runtime
  • WwiseTypes
  • WwiseTypes
WwiseTypes Directory Reference


Wwise Unity Integration Documentation: Documentation/private/Doxygen_en/Common Directory Reference

  • Documentation
  • private
  • Doxygen_en
  • Common
Common Directory Reference


Wwise Unity Integration Documentation: Integration/Assets/Wwise/API Directory Reference

  • Integration
  • Assets
  • Wwise
  • API
API Directory Reference


Wwise Unity Integration Documentation: Integration/Assets/Wwise/MonoBehaviour Directory Reference

  • Integration
  • Assets
  • Wwise
  • MonoBehaviour
MonoBehaviour Directory Reference

Directories


Wwise Unity Integration Documentation: Documentation/private/Doxygen_en/Common/ReleaseNotes Directory Reference

  • Documentation
  • private
  • Doxygen_en
  • Common
  • ReleaseNotes
ReleaseNotes Directory Reference


Wwise Unity Integration Documentation: Documentation/private/Doxygen_en/AppleCommon Directory Reference

  • Documentation
  • private
  • Doxygen_en
  • AppleCommon
AppleCommon Directory Reference


Wwise Unity Integration Documentation: Documentation/private/Doxygen_en Directory Reference

  • Documentation
  • private
  • Doxygen_en
Doxygen_en Directory Reference


Wwise Unity Integration Documentation: Integration/Assets/Wwise/API/Runtime/Handwritten Directory Reference

  • Integration
  • Assets
  • Wwise
  • API
  • Runtime
  • Handwritten
Handwritten Directory Reference

Directories


Wwise Unity Integration Documentation: Integration Directory Reference

  • Integration
Integration Directory Reference


Wwise Unity Integration Documentation: Documentation Directory Reference

  • Documentation
Documentation Directory Reference


Wwise Unity Integration Documentation: Integration/Assets Directory Reference

  • Integration
  • Assets
Assets Directory Reference


Wwise Unity Integration Documentation: Related Pages

Related Pages
Here is a list of all related documentation pages:
WAAPI Utilities


Wwise Unity Integration Documentation: Member List

  • AkSurfaceReflector
  • GeometryData
AkSurfaceReflector.GeometryData Member List

This is the complete list of members for AkSurfaceReflector.GeometryData, including all inherited members.


Wwise Unity Integration Documentation: Member List

  • AkWaapiUtilities
  • WaapiCommand
AkWaapiUtilities.WaapiCommand Member List

This is the complete list of members for AkWaapiUtilities.WaapiCommand, including all inherited members.


Wwise Unity Integration Documentation: Member List

WwiseObjectInfo Member List

This is the complete list of members for WwiseObjectInfo, including all inherited members.