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.

댓글

댓글 달기

이메일 주소는 공개되지 않습니다.

다른 글

새로워진 Wwise Audio Lab(WAL)을 소개합니다

Wwise Audio Lab(와이즈 오디오 랩, WAL)은 Unreal Engine 4를 통해 오픈 소스로 개발된 게임 형식의 3D 환경이며 Wwise 런처를 통해 제공됩니다....

19.1.2022 - 작성자: 데미안 캐스트바우어 (Damian Kastbauer)

Wwise 2022.1에서의 SDK 런타임 성능 개선

이 글에서는 Wwise 2022.1의 런타임에서 CPU 사용량에 대한 몇 가지 개선 사항을 살펴보게...

5.12.2022 - 작성자: 데이비드 크룩스 (David Crooks)

대사 | Wwise와 Unity에서의 나레이션

현대 게임의 필수 요소 중 하나인 보이스오버 대사는 플레이어가 캐릭터를 특정 목소리와 연관지을 수 있을 뿐만 아니라 전반적인 억양을 통해 캐릭터의 감정을 더 잘 이해할 수 있게...

5.4.2023 - 작성자: Jake Gamelin (제이크 겜린)

Wwise 2023.1의 WAAPI

Wwise 2023.1은 2017년 API 도입 이후 가장 방대한 Wwise Authoring API (WAAPI) 업데이트를 포함하고 있습니다. 아직 Wwise 2023.1...

1.8.2023 - 작성자: 베르나르 로드리그 (Bernard Rodrigue)

팀에서 WAAPI와 Python을 사용한 작업 및 예시

이 글에서는 제가 오랫동안 사용해온 WAAPI 작업에 대한 다소 주관적인 접근 방식을 설명해드리려고 합니다. 이 접근 방식은 Python, 명령어 애드온(add-on), 그리고...

4.12.2024 - 작성자: 유진 체르니 (Eugene Cherny)

Wwise HDR: 게임 믹싱을 위한 개요와 모범 사례

소개 HDR(High Dynamic Range)는 Wwise의 기능 중 하나로, 프로젝트의 출력 다이내믹 레인지를 믹싱하고 관리하도록 도와주는 매우 강력한 도구입니다. 운이 좋게도...

17.4.2025 - 작성자: 알렉스 프레비티 (Alex Previty)

다른 글

새로워진 Wwise Audio Lab(WAL)을 소개합니다

Wwise Audio Lab(와이즈 오디오 랩, WAL)은 Unreal Engine 4를 통해 오픈 소스로 개발된 게임 형식의 3D 환경이며 Wwise 런처를 통해 제공됩니다....

Wwise 2022.1에서의 SDK 런타임 성능 개선

이 글에서는 Wwise 2022.1의 런타임에서 CPU 사용량에 대한 몇 가지 개선 사항을 살펴보게...

대사 | Wwise와 Unity에서의 나레이션

현대 게임의 필수 요소 중 하나인 보이스오버 대사는 플레이어가 캐릭터를 특정 목소리와 연관지을 수 있을 뿐만 아니라 전반적인 억양을 통해 캐릭터의 감정을 더 잘 이해할 수 있게...