Version

menu_open
Wwise SDK 2024.1.1
Important Migration Notes 2024.1

Due to some of the new features in 2024.1 (refer to New Features Overview 2024.1), there are several important things to be aware of before you migrate to Wwise 2024.1.

Removal of the XMA Codec

Support for the XMA codec has been removed from Wwise. Existing Wwise projects that use the XMA format in their Conversion Settings will be automatically modified to use Vorbis instead. Old media assets must be reconverted to a compatible software codec to function.

Removal of pre-2021.1 legacy Authoring Plug-in API

The legacy Authoring plug-in API that was deprecated in 2023.1 has now been removed. To port a plug-in to the new API introduced back in 2021.1, refer to Migrating a pre-2021.1 Authoring Plug-in.

WAAPI Profiler Data Type Change

In WAAPI, the ak.wwise.core.profiler.enableProfilerData function no longer accepts preparedEvents as a valid data type. It has been renamed to preparedObjects. This new data type supports Events prepared using AK::SoundEngine::PrepareEvent and Busses prepared using AK::SoundEngine:PrepareBus.

WAAPI Reflection Changes

In WAAPI, the ak.wwise.waapi.getFunctions and ak.wwise.waapi.getTopics functions now return only the supported functions or topics, depending on whether the call comes from a console or UI mode.

Removal of IAkLowLevelIOHook::BatchCancel

The IAkLowLevelIOHook::BatchCancel function has been removed from the low-level I/O interface. If your project uses a custom implementation of IAkLowLevelIOHook, delete the BatchCancel function override. If you use the sample implementation provided by the Wwise SDK, no adjustments are necessary.

WAAPI Screen Capture Changes

In WAAPI, the ak.wwise.ui.captureScreen function previously used the display name (title) as an argument to identify a view. Now, it uses its unique ID name. See Wwise Authoring View Identifiers for a list of all available view names.

Memory Manager Integration Changes

Because the AkMemoryArena is the new default memory allocator, some initialization settings, and callbacks for the memory system, have been changed.

  • AkMemSettings::uMemAllocationSizeLimit has been removed. There are now separate values of AkMemoryArenaSettings::uMemReservedLimit for each arena.
  • AkMemSettings::pfAllocVM, AkMemSettings::pfFreeVM, AkMemSettings::pfAllocDevice, and AkMemSettings::pfFreeDevice have been removed. Instead, use AkMemoryArenaSettings::fnMemAllocSpan and AkMemoryArenaSettings::fnMemFreeSpan to reserve blocks of memory for each AkMemoryArena.
  • AkMemSettings::bEnableSeparateDeviceHeap has been removed. To disable the Device AkMemoryArena, set AkMemoryArenaSettings::fnMemAllocSpan to nullptr.
  • AkMemSettings::uVMPageSize, AkMemSettings::uDevicePageSize, AkMemSettings::uMaxThreadLocalHeapAllocSize, AkMemSettings::uVMSpanCount, and AkMemSettings::uDeviceSpanCount have been removed, because they were specific to rpmalloc's architecture.

For more information about configuring AkMemoryArenas in the AkMemSettings struct, see Configuration and Tuning of AkMemoryArenas.

The functions AKPLATFORM::AllocVM, AKPLATFORM:FreeVM AKPLATFORM::AllocDeviceVM, and AKPLATFORM:FreeDeviceVM have also been updated accordingly, and renamed to AKPLATFORM:AllocSpan, AKPLATFORM::FreeSpan, AKPLATFORM:AllocDeviceSpan, and AKPLATFORM::FreeDeviceSpan.

AK::SoundEngine::SetSpeakerAngles API change

The in_fHeightAngle parameter, defining the angle of the height layer, now defaults to 30 degrees. It is now forbidden to pass 0 for this value, even if the current speaker configuration has no height channel.

Property name changes for tab-delimited import

The following properties have been renamed. If you use any of them in tab-delimited import files, you must change them accordingly.

Old nameNew name
Enable DiffractionDiffraction and Transmission
Enable EnvelopeEnable Envelope Tracking
Global Or Per ObjectScope
Grid Frequency PresetGrid Frequency
Grid Offset PresetGrid Offset
Is Looping EnabledLoop
Is Looping InfiniteLoop Infinite
Is Streaming EnabledStream
MIDI tracking root noteMIDI Note Tracking Root
Output Bus High-pass FilterOutput Bus HPF
Output Bus Low-pass FilterOutput Bus LPF
Override Parent MIDI TargetOverride MIDI Target
Random or SequencePlay Type
Step or ContinuousPlay Mode
Switch/StateDefault Switch/State
Use Priority Distance FactorUse Offset Priority
User Auxiliary Send 0User-Defined Auxiliary Send 0
User Auxiliary Send 1User-Defined Auxiliary Send 1
User Auxiliary Send 2User-Defined Auxiliary Send 2
User Auxiliary Send 3User-Defined Auxiliary Send 3
Virtual voice behaviorWhen Limit is Reached
Voice High-pass FilterVoice HPF
Voice Low-pass FilterVoice LPF

Note that property name When Limit is Reached applies only to property id OverLimitBehavior. It does not apply to property id BelowThresholdBehavior.


Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise