Introduction
The Wwise sound engine SDK ships with three build configurations: debug, profile and release.
The Debug
version of the sound engine is a non-optimized build configuration with extra debugging information such as asserts and debug output strings. We do not recommend using this configuration because the performance hit is significant. Nevertheless, if problems occur during the initial part of the integration process, this build can be useful to validate the integration work.
The Profile
version of the sound engine is an optimized build that provides communication support to Wwise. This configuration is intended for use in the day-to-day development process. Due to its communications features, it should not be used for the final retail version of a game.
Finally, the Release
version of the sound engine is an optimized build without communication support. The preprocessor definition AK_OPTIMIZED
must be defined at compile time when using this configuration. The CommunicationCentral library should also be removed from the link dependencies. This build configuration provides the best performance of all three configurations and should be used for the final retail build.
| Note: On Windows, if a project requires the use of the static version of the C runtime library (/MT or /MTd), it should link with the Wwise libraries in the Debug(StaticCRT) , Profile(StaticCRT) and Release(StaticCRT) folders instead of the standard configurations. |
Library Dependency Requirements
The following are the library dependencies required for each build configuration. When several versions of the same library are available, note that only one of them is labeled as required. It is up to the sound programmer to determine which version is required by the application using the Wwise SDK.
Sound Engine
The following table lists the input libraries required for sound engine integration.
Library | Description |
AkSoundEngine | Sound Engine Core |
AkMemoryMgr | Memory Manager |
AkStreamMgr | I/O Manager |
AkMusicEngine | Music Engine |
AkSpatialAudio | Built-in spatial audio features |
CommunicationCentral | Wwise Communication * |
* Not needed for the release configuration. |
| Note: Library files for Microsoft platforms use the .lib filename extension. Libraries for Nintendo platforms use the .a extension instead. Other platforms use a lib prefix and the .a extension. |
| Note: Applications that do not use the Interactive Music feature do not have to link with AkMusicEngine . AkMemoryMgr and AkStreamMgr are Audiokinetic's default implementations of the Memory and Stream Managers respectively. Link with your own libs if you decide to override them (see Overriding Managers). |
Source and Effect Plug-ins
The following table lists input libraries for all source plug-ins shipped with Wwise. They are available for all Wwise-supported platforms.
Source Plug-in Libraries |
Library | Description |
AkAudioInputSource | Audio Input sample source plug-in (sources available under samples/Plugins/AkAudioInput) |
AkSilenceSource | Silence Generator source plug-in |
AkSineSource | Sine source plug-in (sources available under samples/Plugins/AkSineTone) |
AkSoundSeedGrainSource | Soundseed Grain - Grain source plug-in * |
AkSoundSeedWindSource | Soundseed Air Wind source plug-in * |
AkSoundSeedWooshSource | Soundseed Air Woosh source plug-in *
|
AkSynthOneSource | Synth One source plug-in |
AkToneSource | Tone Generator source plug-in (sources available under samples/Plugins/AkToneGenerator)
|
* Available with Wwise, but requires a separate license. |
The following table lists input libraries for all effect plug-ins shipped with Wwise. They are available for all Wwise-supported platforms.
Effect Plug-in Libraries |
Library | Description |
AkCompressorFX | Compressor effect plug-in |
AkConvolutionReverbFX | AK Convolution Reverb effect plug-in * |
AkDelayFX | Delay effect plug-in (sources available under samples/Plugins/AkDelay) |
AkExpanderFX | Expander effect plug-in |
AkFlangerFX | Flanger effect plug-in
|
AkGainFX | Gain effect plug-in |
AkGuitarDistortionFX | Guitar Distortion effect plug-in |
AkHarmonizerFX | Harmonizer effect plug-in
|
AkMatrixReverbFX | Matrix Reverb effect plug-in |
AkMeterFX | Meter effect plug-in
|
AkParametricEQFX | Parametric EQ effect plug-in |
AkPeakLimiterFX | Peak Limiter effect plug-in |
AkPitchShifterFX | Pitch Shifter effect plug-in |
AkRecorderFX | Recorder plug-in |
AkReflectFX | Reflect plug-in |
AkRoomVerbFX | RoomVerb, a high quality reverb effect plug-in |
AkStereoDelayFX | Stereo Delay effect plug-in |
AkTimeStretchFX | Time Stretch effect plug-in |
AkTremoloFX | Tremolo effect plug-in |
* Available with Wwise, but requires a separate license. |
| Note: Each plug-in library is optional, unless it is used in a Wwise SoundBank. |
Codec Plug-ins
The following table lists the input libraries for all codec plug-ins shipped with Wwise.
Codec Plug-in Libraries |
Library | Description | Platform Availability |
AkVorbisDecoder | Vorbis decoder library | Available for all Wwise-supported platforms. |
AkOpusDecoder | Opus decoder library | Available for all Wwise-supported platforms. |
Motion
The following tables lists motion-related input libraries, available for all Wwise-supported platforms that support motion.
Motion-Related Libraries |
Library | Description |
AkMotionSink | Controller vibration device plug-in. Required only if you use Motion for Controllers in your Wwise project. * |
AkMotionSourceSource | Motion premium plug-in * |
* Available with Wwise, but requires a separate license. |
Waapi
The following tables lists WAAPI-related input libraries, available for all Wwise-supported platforms that support connecting to the Authoring tool through WAAPI.
WAAPI Libraries |
Library | Description |
AkAutobahn | Modified version of the WAMP_POCO library, civetweb library and the required client class. |
External Library Dependencies
The following tables list the external input libraries required for sound engine integration, per platform.
| Note: Remember, to have the desired platform-specific table you must refer to:
- The corresponding platform-specific Wwise SDK CHM; or
- The online help, logged in with access rights to all platform-specific information for which you are registered.
|
Windows |
Library | Description |
dinput8.lib | Microsoft DirectX DirectInput. Needed by Motion to support DirectInput devices. |
Winmm.lib | Microsoft Multimedia API. Needed by Motion for internal device targeting management. |
dsound.lib | Microsoft DirectX DirectSound library |
dxguid.lib | Microsoft DirectX Audio GUIDs |
ws2_32.lib * | Microsoft Winsock 2 library (used for Wwise profiling) |
xinput.lib | Microsoft XInput. Needed by Motion to support XInput devices (Xbox controller). |
* Not needed for the release configuration. |
Mac |
Framework | Description |
AudioToolbox.framework | The Audio Toolbox framework contains the APIs that provide application-level services. |
AudioUnit.framework | The Audio Unit framework contains the APIs used specifically for audio units and audio codecs. |
CoreAudio.framework | This framework contains all the APIs that make up Hardware Abstraction Layer (HAL) Services. |
AVFoundation.framework | This framework contains the AVAudioEngine API which is used for outputting audio on modern OSes. |
Android |
Library | Description |
android | Android's base library |
OpenSLES | The native audio library for Android |
zip | Library to read zip files. Developed by Dieter Baron and Thomas Klausner. This lib is distributed with the SDK. |
z | Android z library |
OpenHarmony |
Library | Description |
hilog_ndk.z | OpenHarmony logging library |
ohaudio | The native audio library for OpenHarmony |
ace_napi.z | Library for interoperability between native and Javascript runtimes |
ace_ndk.z | Utilities for native apps on OpenHarmony |
rawfile.z | Library for reading files stored in the OpenHarmony app package format |
ohvibrator.z | Library for using the Vibrator functionality of OpenHarmony. Required when using Wwise Motion only. |
iOS/tvOS/visionOS |
Framework | Description |
AudioToolbox.framework | The Audio Toolbox framework contains the APIs that provide application-level services. |
CoreAudio.framework | This framework contains all the APIs that make up Hardware Abstraction Layer (HAL) Services. |
AVFoundation.framework | This framework contains the AVAudioEngine API which is used for outputting audio on modern OSes. |
Android |
Library | Description |
libandroid.a | Base Android API |
libOpenSLES.a | The native audio API |
Linking Static iPhone Libraries in XCode
In order to be able to properly link with the correct libraries (device vs. simulator), you will have to follow these instructions:
- In your XCode project create the following configurations: Debug, Profile, and Release.
- Open the build settings page of your project and set the "library search path" to
"/Developer/SDKs/Wwise/SDK/iOS_Xcode$(XCODE_VERSION_MAJOR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/lib"
. Replace iOS
in the previous string to tvOS
or visionOS
as necessary. This assumes that you have installed Wwise SDK to its default location.
- Open the info page of your target application. Under "Other linker Flags" add -l[libraryName] for each library you want to link with. In the most basic setup, you will need to add "-lAkMemoryMgr -lAkMusicEngine -lAkSoundEngine -lAkStreamMgr".
| Note: "$(CONFIGURATION)" will automatically be replaced by one of Debug, Profile, Release. Depending on your active configuration in XCode, "$(EFFECTIVE_PLATFORM_NAME)" will automatically be replaced by -iphoneos or -iphonesimulator.
The Integration Demo for iOS is set up in the same way. You can refer to it for further information:
SDK/samples/IntegrationDemo/iOS/IntegrationDemo.xcodeproj
|
| Tip: If you don't follow these instructions, you may have to use separate XCode targets for building the device and the simulator applications. Alternatively, you may get incremental build errors when switching between building the device and the simulator applications. |
See SDK Input Libraries and Distributed Binaries