What's New in Wwise 2024.1 for Godot

Wwise 技巧和工具

The latest release of Wwise 2024.1 for Godot is here, bringing significant improvements and new features to optimize the integration process. Designed to improve usability, this update introduces workflows similar to those used in the existing Unity and Unreal integrations, making it easier for developers familiar with those platforms to get started. Key changes include the introduction of the WwiseProjectDatabase as a new data source, support for Auto-Defined SoundBanks, Wwise Types, improved Plugin support across all supported platforms, and more. Explore the full breakdown of these updates and learn how to get started below.

Key Updates

WwiseProjectDatabase as Data Source

In earlier versions of the integration, WAAPI was used to generate Godot-compatible Wwise IDs for displaying Wwise objects in the Wwise Picker and WAAPI Browser. However, this approach had several limitations:

  • Required the Wwise Authoring project to be open alongside the Godot Editor to generate IDs.
  • Potential conflicts when connecting to the Authoring application if multiple projects were open simultaneously.
  • Lack of a hierarchical overview of the Wwise project. Objects were displayed as a flat list without context (no folders or Workunits were displayed in the Picker for example).
  • Manual ID regeneration inside the Godot Editor was necessary whenever the SoundBanks were updated.

What's new?

The WwiseProjectDatabase now tracks all relevant Wwise project data and auto-updates by monitoring a user-specified SoundBank directory:

  • A generated asset called WwiseProjectData provides easy access to data about the Wwise project and core Wwise objects such as Acoustic Textures, Aux Buses, SoundBanks, Events, Game Parameters, States, Switches, and Triggers. This asset enables the retrieval of hierarchical Wwise object data and is automatically populated by the ProjectDatabase, ensuring that the asset stays up to date with changes in the Wwise project.
  • Editor components like the Wwise Picker and the new Wwise Browser now use this structured data instead of the static Wwise IDs, giving you an up-to-date snapshot of your Wwise project without extra manual steps. This change improves usability by providing a more accurate representation of the Wwise project.

The Browser and Picker are now both populated with data from the ProjectDatabase.

WwiseBrowser

WwisePicker

Support for Wwise Types

Similar to Wwise Types in the Unity Integration, Wwise Types in Godot are a collection of classes representing core objects within Wwise, such as SoundBanks, Events, Game Parameters, States, and Switches. When a Wwise Type is exported in a Godot script (meaning serialized and made available in the Inspector for users to edit), a button will appear in the Godot Inspector, allowing users to select their required object via the dedicated Wwise Picker:

In addition to representing Wwise objects, Wwise Types come with built-in functionalities that allow developers to interact with these objects directly. This removes the need to rely solely on the exposed functions in the Wwise singleton. 

For example:

  • The WwiseEvent class includes a post method to post Events directly from the object.
  • The WwiseRTPC class provides a set_value method to set RTPC values.

These examples highlight the intuitive approach Wwise Types bring to interacting with Wwise objects.

Support for Auto-Defined SoundBanks

The integration now supports Auto-Defined SoundBanks by default. When a WwiseEvent object that references an Event that is not included in a User-Defined SoundBank is instantiated in the engine, the integration automatically prepares the Event using the AK::SoundEngine::PrepareEvent API after loading its SoundBank. The integration unprepares the Event and unloads its Bank when the WwiseEvent is destroyed and not referenced anymore. Whether an Event belongs to a User-Defined SoundBank or not is determined by the ProjectDatabase.

As a result of this change, the AkBank Node and the WwiseBank type will only allow the selection of User-Defined SoundBanks in the Wwise Picker.

Improved Plugin Support Across Platforms

While the integration already supported plugins, enabling them was a difficult process. Users had to recompile the integration and explicitly specify the plugins they wanted to use (e.g., AK Convolution Reverb). This process has now been simplified across all supported platforms:

  • The ProjectDatabase identifies which plugins are used in the project.
  • During export, the integration automatically copies the required plugins to the export directory, allowing the Wwise soundengine to load them automatically.
  • When previewing the game in the editor, AkInitSettings::szPluginDLLPath is used to specify the path to the shared libraries required by the soundengine.
  • On platforms such as iOS, static libraries and the necessary initialization code are added to the Xcode project during export. This is achieved using Godot Export APIs like EditorExportPlugin::add_ios_project_static_lib 
    and EditorExportPlugin::add_ios_cpp_code.

Additionally, users can now easily use their own custom plugins without recompiling the integration. The integration will detect the usage of custom plugins in the project. However, the Sound Engine Plugins must be copied manually to the respective platform's DSP folder in the integration. The Wiki includes a guide that details this process.

Wwise Objects as Assets

When selecting a Wwise object from the Wwise Picker, a corresponding Godot Asset (Resource) is created at res://Wwise/resources. The resources store information such as:

  • Name, ID, and GUID of the Wwise object.
  • Additional metadata, e.g., whether an Event is included in a User-Defined SoundBank.

They are used and referenced by integration Nodes such as AkEvent3D, AkBank, AkSwitch, AkState etc. and by the exported Wwise Types.

It is important to note that these Resources are only created when users actively use them (e.g., by selecting them in the Wwise Picker) and not for all objects in the Wwise project. 

In-Engine Documentation

Short documentation and code snippets for functions within the Wwise and WAAPI singletons, as well as various Wwise types, are now accessible directly in the editor. Users can jump to the documentation page by pressing CTRL and clicking on a function:

Getting Started with Wwise and Godot

Here’s how to set up the Wwise Godot integration in just a few steps:

Download the Latest Release

  • Grab the latest version of the Wwise Godot integration from the Releases page in this repository.
  • Make sure you have Wwise 2024.1.1 and Godot 4.3 installed.

Install and Configure

Explore the Wiki

  • The Wiki offers comprehensive tutorials and useful examples that will help you make the most of the integration.

Join the Discord community to share your experiences and ask questions.

Alessandro Famà

Field Application Engineer

Audiokinetic

Alessandro Famà

Field Application Engineer

Audiokinetic

Alessandro is a Field Application Engineer based in Utrecht, Netherlands, who joined Audiokinetic in 2024. With a background in game development and marketing, he has worked as an audio programmer on several indie titles. Alessandro is also an open-source enthusiast, having contributed to the Godot Engine. In his free time, he enjoys DJing and recreating Sicilian street food at home.

评论

留下回复

您的电子邮件地址将不会被公布。

更多文章

手把手教你用WAAPI

今天,我们会仔细看一个让WAAPI派上用场的例子。我们来看一个简单web应用的实现,这个应用有一个可动点,用一个X-Y...

30.5.2017 - 作者:伯纳德 罗德里格 (Bernard Rodrigue)

在 Wwise 中设定 Audio Object

未来遥不可及,往日似水流年。亦如费里斯•布勒 (Ferris Bueller) 所说:“生活快速向前,时光转瞬即逝。如不偶尔驻足停留,就可能会错失良辰。”距离 Wwise 2021...

24.8.2021 - 作者:戴米安·卡斯特鲍尔(Damian Kastbauer)

为 Wwise 2021.1 构建插件 | 第 1 部分:背景和目标

大家可能不知道,Wwise 生态系统其实具有很强的可扩展性。有时,各公司要为其项目构建定制的插件,供应商会将自研插件迁移到 Wwise。对此,我们必然要提供相应的支持。新的 Wwise...

27.9.2021 - 作者:米歇尔•多奈斯 (Michel Donais)

在现实当中运用 Wwise 制作互动音乐

前段时间,我决定对互动音频展开更加深入的研究。为此,我想创建一个跟工作相关的工程。希望既充满乐趣,又具有指导意义。不仅可以避免枯燥,还能提升自身技能。...

19.10.2021 - 作者:雷莎•施沃德 (Ressa Schwarzwald)

快速了解如何结合使用 Wwise Authoring API (WAAPI) 和 Max 8

简介 在 Wwise 中构建较为复杂的由 RTPC 驱动的 Event 时,我们经常会面临无法快速加以测试和验证的困境。我们无法保证能够使用鼠标一次性控制一个以上的参数,并且在将参数映射到 MIDI...

13.6.2023 - 作者:迈克尔•哈通 (Michael Hartung)

Wwise HDR:游戏混音概述及窍门

简介 HDR (High Dynamic Range) 是 Wwise 中的一项功能。藉此,我们可以轻松管理工程的混音和输出动态范围。在多年的游戏音频从业生涯里,我在工作中经常会用到...

5.6.2025 - 作者:Alex Previty

更多文章

手把手教你用WAAPI

今天,我们会仔细看一个让WAAPI派上用场的例子。我们来看一个简单web应用的实现,这个应用有一个可动点,用一个X-Y...

在 Wwise 中设定 Audio Object

未来遥不可及,往日似水流年。亦如费里斯•布勒 (Ferris Bueller) 所说:“生活快速向前,时光转瞬即逝。如不偶尔驻足停留,就可能会错失良辰。”距离 Wwise 2021...

为 Wwise 2021.1 构建插件 | 第 1 部分:背景和目标

大家可能不知道,Wwise 生态系统其实具有很强的可扩展性。有时,各公司要为其项目构建定制的插件,供应商会将自研插件迁移到 Wwise。对此,我们必然要提供相应的支持。新的 Wwise...