Table of Contents

Wwise Unreal Integration Documentation
Building the plug-in

The AkAudio.Build.cs file (located at …\Plugins\Wwise\Source\AkAudio\AkAudio.Build.cs) is responsible for setting up the build parameters for the plug-in for each supported platform. This file specifically:

  • specifies which static libraries will be linked,
  • specifies which dynamic libraries will be loaded at runtime, and
  • defines preprocessor macros that are used to control many of the integration features.

Preprocessor Defines

The following preprocessor defines are introduced in AkAudio.Build.cs:

  • AK_CONFIGURATION
    This setting specifies the Wwise build configuration - the appropriate subfolder in which static and dynamic libraries are located.
  • AK_SUPPORT_OPUS
    This setting specifies that the Wwise Opus library is available to be used.
  • AK_SUPPORT_WAAPI
    This setting specifies that the Wwise Authoring API library is available to be used.
  • AK_UNREAL_MAX_CONCURRENT_IO
    This setting specifies the maximum number of concurrent reads and writes that are permitted to occur.

Building the Unreal Wwise plug-in from source

During bank generation, the …\Content\Wwise\EditorOnly\ActivatedPlugins.uasset asset is modified to include a mapping of platform names to the list of the names of the required plug-ins for each platform.

For the following platforms, all Wwise plug-ins within their respective bin folders within ThirdParty will be packaged into the final executable:

  • Android
  • iOS
  • tvOS
  • Switch

For Android, a UPL file is located at …\Plugins\Wwise\Source\AkAudio\Wwise_APL.xml which specifies that all shared libraries will be packaged into the final executable for the architecture of the binary being built.

For iOS and tvOS, plug-in registration is handled within the …\Plugins\Wwise\Source\AkAudio\Private\Generated\AkiOSPlugins.h header. This file is generated upon bank generation, and is included within …\Plugins\Wwise\Source\AkAudio\Private\AkAudioDevice.cpp.

For Switch, plug-in registration is handled within the …\Plugins\Wwise\Source\AkAudio\Private\Generated\AkSwitchPlugins.h header. This file is generated upon bank generation, and is included within …\Plugins\Wwise\Source\AkAudio\Private\AkAudioDevice.cpp.

Note:
To reduce the size of the shipped executable, users are encouraged to remove unused shared libraries from the bin folder within …\Plugins\Wwise\ThirdParty.

For the following platforms, shared (dynamic) libraries are added to the list of runtime dependencies in the generated …\Binaries\<UE4Platform>\<TargetName>.target file.

  • Linux
  • Mac
  • PS4
  • Windows
  • XboxOne

For the above platforms, a commandlet is run as a post-build step for adding Wwise audio plug-ins to the build.

<UE4-Editor-cmd.exe> <path_to_uproject> -run=AkPluginActivator [-platform=<target_platform>] [-configuration=<wwise_configuration>]
Note:
To use the Unreal Wwise plug-in in a UE4 debug configuration that uses the debug CRT on Windows, set the bIsDebugBuild variable within AkAudio.Build.cs to true. Please note that with this variable set, the AkOpusDecoder and AkAutobahn libraries will be disabled as they currently do not support debug CRT.

If the installation steps outlined in Installation have been followed correctly, rebuilding the Unreal Wwise plug-in is done the same way as rebuilding the Unreal Engine. For a more detailed description of this process, please consult the Unreal Engine documentation.

For more information on plug-ins with source code, please refer to the Unreal Engine documentation.