The following sections list and describe the changes to Wwise between version 2019.1.7 and version 2019.2. For earlier versions, please refer to Previous Release Notes.
Platform SDK Changes
- (PS4, Windows, UWP) These platforms now support SDK builds for Visual Studio 2019.
- Authoring requires Windows 7 SP1 and up. Changed the Wwise Authoring tool, including all plug-ins, to be compiled using Visual Studio 2019, with Windows SDK target version 10.0.17763.0.
New Features
-
WG-26680 Added the Resource Monitor, which lets you monitor resources used by the sound engine from within a game running Wwise. No Authoring needed.
-
WG-32589 (WAAPI) New WAAPI command to capture an image from the Wwise user interface.
-
WG-39654 Users can now create, edit and reload custom command files, using their default JSON editor directly from Wwise, in the User Preferences.
-
WG-40348 Custom properties and Command Add-ons are now logged once loaded.
-
WG-40381 (WAAPI) Added the ak.soundengine.setState function.
-
WG-41088 New presets for Spatial Audio Auxilirary busses in Wwise Authoring: Room Reverb and Reflect.
-
WG-41090 Stochastic ray-tracing is now used to compute Reflections and Diffraction, in Spatial Audio.
-
WG-41111 New Spatial Audio and Wwise Reflect factory presets.
-
WG-41112 Presets now support multiple work units.
-
WG-41223 A new sub menu is now available to create a new child or a new parent from a preset.
-
WG-41481 Custom commands can now use common directory variables in program, args and cwd fields, in order to avoid machine-specific absolute paths.
-
WG-41530 WwiseConsole is the new WwiseCLI. WwiseConsole supports new syntax, built-in help display and strict validation of arguments. WwiseCLI is now deprecated but remains available.
-
WG-41727 Fixed: (WAAPI) Platform names can now be used as the platform argument in WAAPI instead of a GUID.
-
WG-41953 Custom commands can now use the new redirectOutputs field, in order to redirect the standard output streams of the program (stdout + stderr) to Wwise on termination.
-
WG-42470 Added support for 4th and 5th order ambisonics.
-
WG-42755 (WAAPI) WAAPI Subscription Publish messages are now displayed in the WAAPI tab of the Wwise Log.
-
WG-42812 A new Profiler view, the Voice Explorer, has been added. It enables you to list playing voices, sorted by playing events and game objects.
-
WG-42814 A new Filter bar has been added to most Profiler views, enabling you to search specifically for game objects, sounds, buses, events and more.
-
WG-42829 The new Voice Explorer profiling view is now available.
-
WG-42963 The Lumin Integration Demo is now available when performing a normal installation, using the Wwise launcher.
-
WG-43219 Added an "Any" platform, available to use in plug-in definition files.
-
WG-43246 The platform agnostic device enumeration function AK::SoundEngine::GetDeviceList is now exposed.
-
WG-43249 Added ASIO implementation of AK::SoundEngine::GetDeviceList.
-
WG-43250 Added support for device output enumeration and selection on macOS.
-
WG-43284 The Capture Log view now includes a redesigned filter.
-
WG-43465 It is now possible to create/edit/remove command Add-ons directly from the Keyboard Shortcuts and Commands dialog.
-
WG-43498 Parameteric EQ effect properties, Band Gain and Output Gain, now support multiple RTPCs and/or States.
-
WG-43544 Users can now create and edit custom command files, using their default JSON editor, by choosing one of the three predefined directories directly from Wwise, in the User Preferences.
-
WG-43580 The Game Simulator now supports Magic Leap.
-
WG-43809 You can now search for and execute Wwise Commands directly from the main Search Bar by inputting ">" (without quotes).
-
WG-43889 (WAAPI) New WAAPI commands to support granular SoundBanks:
- Added more information to the info file
- Each Event lists their associated media.
- Each SoundBank lists their associated AuxBuses, Game Parameters (RTPC), Switches, States and Triggers.
- Each event lists a tree of Switch value to Media ID, allowing to only load media when the Switch value is referenced in a given level.
- Added a new WAAPI command: ak.wwise.core.soundbank.generate. By default, it generates SoundBanks using an in-memory SoundBank generation model. You can also direct it to write the SoundBanks to disk in the default SoundBanks Generated folder. In the command, you can specify a list of SoundBanks and customize their inclusions. You can use the WAAPI callback: ak.wwise.core.soundbank.generated to get the SoundBank data encoded as base64 and the JSON info file embedded within the WAAPI callback.
- Added the WAAPI callback: ak.wwise.core.soundbank.generationdone, when the SoundBank generation is done.
- Added the –skip-languages WwiseConsole command line switch to skip generation of localized SoundBanks.
- Added the –use-stable-guid WwiseConsoloe command line switch for projects that don't save SoundBanks in their Wwise project and want a stable GUID in their info file.
-
WG-44057 Added versioning to Command Add-on definition files.
-
WG-44358 The Game Sync Monitor has been redesigned to remove dependency on watches and benefit from Voice Inspector data.
-
WG-44511 It is now possible to create Work Units and Folders in the Master-Mixer Hierarchy.
-
WG-44633 Added AK::IAkIOHookDeferredBatch, a new interface for handling deferred I/O operations. It enables performance improvements to I/O threading CPU utilization and allows for greater flexibility in ordering and dispatching concurrent I/O requests, when many concurrent I/O requests are submitted.
-
WG-44974 (WAAPI) Added new settings to control the maximum number of concurrent clients that can be connected to Wwise through WAAPI. These settings can be modified in the User Preferences or through the command line.
-
WG-45522 The search field is now displayed by default in the Keyboard Shortcut Dialog.
-
WG-45682 (WAAPI) Added ak.wwise.core.profiler.getRTPCs to retrieve active RTPCs for profiling cursor time.
-
WG-45746 The Game Object 3D view is now available on macOS, without the 3D area.
-
WG-45797 Added a splitter in the Reflect Effect Editor between the curves graph and the list.
-
WG-46067 Double clicking a game object in the list view automatically locates the object in the Game Object 3D View.
API Changes
-
WG-35130 Wwise now uses civetweb v1.11.
-
WG-39381 Memory Manager interface: see New Memory Manager.
-
WG-39563 Added a new error code: AK_PlayingIDNotFound, for calls to SetRTPCValueByPlayingID.
-
WG-40342 A new AkGlobalCallbackLocation has been added: AkGlobalCallbackLocation_Init, which lets users register for a callback right after the sound engine initialization.
-
WG-40738 Several additional Wwise UI operations are now bound to Wwise commands.
-
WG-41513 The GetRegistryPath method has been removed from AK::Wwise::ISourceControlUtilities.
-
WG-43542 (WAAPI) The WAAPI C++ client, in AkAutobahn, now supports timeout on Connect. This allows for timing out during the WAMP handshake, in order to avoid a potential infinite lock, if Wwise stops responding at the wrong time (if it is closed, for example). The API change is backward compatible and should not require code changes, unless you want to specify the timeout value.
-
WG-43648 AK/Wwise plug-ins API stability enhancements, by using the Wide version of parameters when applicable
-
WG-44516 Seek is now supported in DynamicSequence. The seek operation can only be performed on the first item.
-
WG-44635 Added a new setting to sound engine initialization, AkInitSettings::uBankReadBufferSize, to allow for the customization of read granularity, when loading SoundBanks from a file.
-
WG-44661 Added AK::IAkStdStream::WaitForPendingOperation() to allow the blocking of IO Streams that issue an asynchronous task.
-
WG-44710 Added IAkGlobalPluginContext::ApplyGain and IAkGlobalPluginContext::ApplyGainAndInterleave so that sink plug-ins can use the sound engine's existing capabilities to perform final rearrangement of audio data for certain hardware, for example, as part of the device sink plug-in processing.
-
WG-44835 (Stadia) Removed SDK/include/AK/Tools/GGP/AkPlatformFuncs.h, in favor of Linux/AkPlatformFuncs.h, which should be used moving forward.
-
WG-45352 Soft deprecatation of
AkGetSinkPluginDevices
to be replaced by AK::SoundEngine::GetDeviceList implementation by plug-in registration of static functions.
-
WG-45977 Updated SetReflectionsOrder function in SpatialAudio to update reflection and diffraction paths (or not), based on a boolean argument.
-
WG-46117 Added new setting to sound engine initialization on Windows, AkPlatformInitSettings::bEnableAvxSupport, to disable any utilization of AVX and AVX2 in the sound engine and plug-ins.
Behavior Changes
-
WG-40568 Seeks are now performed without a seek table in Vorbis by default. If a seek table is not provided, Wwise decodes from the start of the file to the seek point. For anything but small files, it is highly recommend to still include a seek table. A warning is displayed when performing a seek operation within larger Vorbis files without a seek table.
-
WG-41425 The plug-in development tools now require the -x flag when building for Wwise Authoring, since plug-ins can now target either vc_140, vc_150 (vc_141) or vc_160 (vc_142). They were previously restricted to vc_140. The development tools now detect Visual Studio installations with compatibility build tools as potential candidates to build plug-ins.
-
WG-42182 (WAAPI) Calling WAAPI functions with invalid arguments or options now provides more details in the error message, including inline documentation, and better formatting of error messages.
-
WG-42469 Changed several things regarding media asset ID assignments: Added undo-redo operations to ensure assignments remain consistent. Moved MediaIDs to their own space; value space is no longer shared with other types of assets. Changed the algorithm used for assigning MediaID values. Changed Work Unit tags for MediaID values from
<ConvertedFileIDList>
to <MediaIDList>
.
-
WG-42853 Fixed: Previous default shortcut for View Settings did not work on "undocked" views. The default shortcut: Ctrl+Alt+V, has been changed for: Ctrl+Alt+H.
-
WG-43056 Fixed: Containers with trigger-rate transitions could play out-of-sync when placed inside containers with sample-accurate transitions.
-
WG-43643 The ID of a State Group's None State is no longer 0. The None State's ID is now specified in Wwise_IDs.h.
-
WG-43897 Profiler Settings: Increased maximum memory usage limit from 4000 MB to 32000 MB.
-
WG-44440 HDR is now disabled on a voice's sends if its dry signal does not pass through an HDR bus.
-
WG-44680 (WAAPI) "Object ID is unknown" error message now have more information about the ID or the path you where trying to find.
-
WG-44707 Added dB level to the image sources list, in the Wwise Reflect UI.
-
WG-47232 Native ambisonics decoding to stereo is now completely symmetrical regardless of whether sounds come from the front or the back. Previously, sounds coming exclusively from the back were silenced.
Performance Changes
-
WG-40847 Improvements to the conversion from linear to dB volumes at runtime.
-
WG-41951 (WAAPI) WAAPI now uses undo groups, which results in better performance by reducing the number of updates to the user interface.
-
WG-42619 Vorbis codec optimization, providing between 5% and 20% of additional gain.
-
WG-43026 Optimized SoundBank generation, by removing costly dynamic_cast.
-
WG-43631 Performance improvements to Wwise Authoring, when selecting objects in the Project Explorer.
-
WG-44449 A new cache system has been implemented for working buffers, greatly reducing the number of buffer allocations required at runtime.
-
WG-44634 Loading SoundBanks from a file now issues asynchronous reads when possible, slightly reducing the the total latency of SoundBank loads.
-
WG-45592 Improved 3D Meter performance.
-
WG-46588 Improved performance while loading projects in the Loading Layouts phase.
Miscellaneous Changes
-
WG-32483 (XBox One) Removed unnecessary dependency on dxguid.lib on Windows and Xbox One.
-
WG-32511 SoundBank generation and audio file conversion can now write files with paths that exceed MAX_PATH (260 characters) on Windows 10, given that long paths are enabled on the machine. Click here for more details.
-
WG-34568 Project backups located under .backup now have their directory named using the "YYYY-MM-DD-hh-mm-ss" convention.
-
WG-40340 Fixed: General log message category descriptions are now more consistent.
-
WG-41520 Improved project load time.
-
WG-42408 Unicode encoded as UTF-8 is now the only supported format for text file output (SoundBank content TXT file, header file):
- The built-in macro ContentFileFormat has been deprecated and now always provides the value "Unicode".
- The SoundFrame SoundBank generation setting AK::SoundFrame::SoundBankGenerationSettings::eContentTxtFileFormat is now ignored and defaults to AK::SoundFrame::SoundBankContentTxtFileFormat_UNICODE.
-
WG-43241 Work Unit format for MIDI file references has been changed.
-
WG-43367 Build: Migrated to the latest version of Premake5.
-
WG-43563 The View menu has been re-organized into sub menus.
-
WG-43578 The Lumin Integration Demo source code is now packaged with Wwise, when installed through the launcher.
-
WG-43935 A compile-time debugging tool has been added, in order to write Voice Inspector data to a text file in Release libraries.
-
WG-44169 (Xbox One) Direct3D 12 is now the rendering API for the Integration Demo.
-
WG-44331 The Game Object 3D viewer now includes a list of game objects and its associated watches.
-
WG-45004 Added a new SoundBank Post Generation Step macro: that expands the path to the CopyStreamedFiles executable.
-
WG-45767 The Project Launcher window is no longer shown in Wwise Authoring while a project is loading.
-
WG-46008 Reflect Factory Assets now include an Auxiliary Bus preset and a Reflect effect ready to be used.
-
WG-46647 Lowered the default colour dB thresholds in the 3D meter.
-
WG-46699 Removed unused "Output Data" type from list, in the Profiler Settings.
-
WG-46849 The Wwise User Guide PDF has been removed. You can find the same content online and in the Help CHM.
Bug Fixes
-
WG-18324 Fixed: Markers were dropped when sounds were sent to virtual voices.
-
WG-31209 Fixed: Possible crash when posting an event with a registered marker callback.
-
WG-37436 Fixed: A -6dB drop would occur in directional ambisonic channels with 3D spatialization of multiple game object positions in MultiDirection mode.
-
WG-38048 Fixed: Incorrect value reported in the Capture Log when running out of memory for monitoring notifications.
-
WG-39283 Fixed: Sliders and faders did not work correctly when using a touch screen or over remote desktop.
-
WG-40719 Fixed: Multiple New Project menus could be opened simultaneously.
-
WG-41122 Fixed: Dark, Light and Classic skins have been reworked to address inconsistencies and to share code between them.
-
WG-41801 Fixed: In the Source Editor, the Delete Marker and Edit Marker Label... options no longer appear when right-clicking on a cue or the play cursor.
-
WG-41932 Fixed: Sound Engine Query functions: GetState, GetSwitch, and GetRTPCValue now return Ak_IDNotFound when the provided ID doesn't exist.
-
WG-42061 Fixed: Tool-tips did not always appear when moving the mouse over the Voice Graph nodes in the Advanced Profiler.
-
WG-42110 Fixed: Copy and paste operations in the Capture Log using the Context Menu did not keep the correct order of rows.
-
WG-42489 Fixed: Crashes or corrupted audio when initializing certain output types, such as Pad_Output, with incompatible speaker configurations.
-
WG-42538 Fixed: The Log Settings dialog now uses a more intuitive ignore mechanism.
-
WG-42604 Fixed: Flashing window when converting audio files no longer occurs.
-
WG-42990 Fixed: Inaccuracy with height channels (x.x.2 and x.x.4) encoding to ambisonics.
-
WG-43022 Fixed: Max Attenuation was reported in the SoundbankInfo file, for objects that did not have any active attenuation.
-
WG-43028 Fixed: Negative ID values used for some languages in IncrementalSoundBankData.xml.
-
WG-43093 Fixed: Splitters in views and dialogs sometime behave strangely when being resized.
-
WG-43414 Fixed: Certain Spread/Focus values could result in an inaccurate contraction of the sound field.
-
WG-43436 Fixed: The JSON metadata file for SoundBanks is now properly formatted.
-
WG-43441 Fixed: Timing issues in Wwise Authoring could occur when a sound was playing while the sound engine was reinitialized.
-
WG-43535 Fixed: Keyboard Shortcuts conflict warnings are now more consistent for Custom Commands.
-
WG-43539 Fixed: Rare crash in Wwise when playing a Music Container with an invalid Music Transition.
-
WG-43547 Fixed: AkThreadProperties::dwAffinityMask was ignored on Linux.
-
WG-43704 Fixed: Sound is not properly reset when inspecting Blend Containers, while in-game.
-
WG-43782 Fixed: The static properties: User Send Volume and Game Send Volume, were ignoring the Override checkbox.
-
WG-43790 Fixed: A crash could occur on window layout operations.
-
WG-43867 Fixed: Pressing ESC just after clicking the Settings icon in the Performance Monitor could make the window disappear.
-
WG-43884 Fixed: The view sizes in certain factory layouts could cause important warning messages to be hidden in the user interface.
-
WG-43916 Fixed: In the light skin user interface, the contrast of waveforms has been improved in the Source Editor.
-
WG-43982 Fixed: Wwise Authoring could crash if a drawing event was left in the queue.
-
WG-44081 Fixed: Adding a new platform sometimes added an unexpected MediaID to media assets.
-
WG-44188 Fixed: A crash could occur when dragging an object from the list in the Advanced Profiler / Voices tab to the object filter in the Voices tab.
-
WG-44348 Fixed: Added a check for FLT_MAX in SetRTPCValue. This is only valid in Debug mode or when CHECK_VALID_INPUT is defined.
-
WG-44489 Fixed: Possible assertion in AddPowerVbap2d, when an emitter was exactly on top of a listener.
-
WG-44503 Fixed: Certain Notes fields were not displayed correctly in Wwise Authoring, on macOS.
-
WG-44891 Fixed: A Probability slider was active for a non-existing dialog.
-
WG-45002 Fixed: A crash could occur when editing a playing curve.
-
WG-45158 Fixed: On rare occasions, several consecutive Pause All and Resume All Events could lead to stuck MIDI notes.
-
WG-45415 Fixed: An IR display issue could occur in Wwise Convolution Reverb.
-
WG-45621 Fixed: A performance issue could occur when resizing the Game Object 3D Viewer.
-
WG-45631 Fixed: When playing multiple instances of the same sound, the secondary play heads were not displayed correctly in the Source Editor.
-
WG-45648 Fixed: Objects with unlinked properties were sometimes assigned a wrong value for linked platforms, when adding a new platform to the project.
-
WG-45729 Fixed: External Sources Conversion errors regarding the wsources file were not reported in WwiseCLI.
-
WG-45748 Fixed: A channel configuration display issue could occur in the 3D Meter.
-
WG-45800 Fixed: Incorrect migration of some Query structures when migrating from version 2017.1.x or older.
-
WG-45956 Fixed: Playback issues related to buffer length could occur on nonstandard audio system configurations.
-
WG-46038 Fixed: Loading a Work Unit after loading a project would tag the other Work Units in the Project as dirty.
-
WG-46101 Fixed: When loading a large Wwise project, the title bar could flicker.
-
WG-46116 Fixed: Initializing an XAudio2 or DirectSound sink with no channelconfig provided, on a device configured as quadrophonic in Windows, would create a 5.1 audio output, not a 4.0 audio output.
-
WG-46222 Fixed: (WAAPI) When using WAAPI over HTTP, the % character in return values would cause data corruption.
-
WG-46231 Fixed: Crashes and assertions could occur while loading a project, minimizing a window or when disconnecting a remote desktop session with an active 3D Viewer.
-
WG-46318 Fixed: A crash could occur in AK::SoundEngine::RegisterResourceMonitorCallback when AK::MemoryMgr was not initialized.
-
WG-46560 Fixed: Memory consumption was prohibitive when using the Game Object 3D Viewer.
-
WG-46658 Fixed: The alignment of AkAllocaSIMD is now always 16 bytes when supplied with a compile time constant as the required size.
-
WG-46752 Fixed: Framerate drop issues could occur in 3D Meter.
-
WG-46911 Fixed: The 3D Spherical Meters could not initialize correctly if multiple Meters views were active.
-
WG-46912 Fixed: Flickering could occur in the Property Editor when navigating from a Folder to a Container.
-
WG-46985 A freeze loop could occur when performing seek operations in very long Opus files.
-
WG-47113 Fixed: Rare crash when profiling in Wwise Authoring with Voice inspector data enabled.
-
WG-47141 Rare crash with States modifying plugin properties.
-
WG-47142 Rare crash when using 3D Busses and unloading all SoundBanks.
-
WG-47181 Fixed: (Stadia) Some plug-ins were not working when using dynamic libraries.
- See also