Table des matières

Build the Integration code

Overview

The Wwise-Unity integration is a thin layer of C# calling the native Wwise API. It comes pre-built for all platforms. In most cases, it is unnecessary to rebuild the Integration plug-in. However, you may want to customize it for various reasons such as:

  • Adding custom DSP plug-ins.
  • Reducing the size of the plug-in by removing unused DSP plug-ins.
  • Modifying the C++ code that interfaces with the Sound Engine.
  • Integrating custom changes to the native Sound Engine (if you have source code).
  • Upgrading your Integration by incorporating a more recent Wwise SDK release.

This should be done by a programmer who has some C++ knowledge.

The procedure

  1. Download the source zip from your Audiokinetic account for the platform(s) you want (the zip is post-fixed with _Src.zip)
  2. Verify the prerequisites for building the Integration. See Prerequisites
  3. Unzip the source zip package for your target platforms. See Installing or upgrading the integration in a Unity project for details.
  4. Launch the build process using one of the two methods: Build using console utility and Build using Integrated Development Environment (IDE).
  5. Wait until the build finishes. If the build succeeds, the plug-ins and API binding under the Deployment folder will be updated or created if none existed before.
  6. Manually replace the UNITY_PROJECT_ROOT\Assets\Wwise\Deployment folder with the newly created version. The new plug-in will then need to be installed to the Designated Platform Plugin Folder by following the Wwise Plug-in Deployment.

Notes

  • During the build, you can monitor warnings, errors, or critical messages, if any, by reading the detailed log messages found in the Build Log.

Requirements to build the Integration yourself:

Platform Required Components
All platforms
  • Unity Pro 4.x., or Unity 5 (Personal or Pro)
  • Compatible Wwise SDK for your target platform(s). See Release Notes.
  • Compatible platform SDK for your target platform(s). Refer to Wwise SDK help (Section Reference Materials > Platform Requirements).
  • Python 2.7.x or 3.x, with Python executable folder in your system executable path.
Android
  • Cygwin (Windows only).
  • Android SDK.
  • Android NDK.
  • Apache Ant.
  • The path to the Wwise SDK should not contain any white spaces.
  • The path to Unity project root should not contain any white spaces.
  • Environment variables:
    • CYGWIN_HOME should point to the Cygwin root folder (Windows Only).
    • ANDROID_HOME should point to the Android SDK root folder.
    • ANDROID_NDK_ROOT should point to the Android NDK root folder.
    • ANT_HOME should point to the Apache Ant root folder.
iOS
  • Xcode 4.2 or above.
  • SWIG 2.0.11. Download here. (See Install SWIG (Mac) for the SWIG installation procedure.)
Linux
  • Build-essential (sudo apt-get install build-essential)
  • SDL2 (see Build for Linux on how to install the SDL2 library)
  • The Wwise SDK for Linux, and a WWISESDK environment variable pointing to it
  • SWIG (sudo apt-get install swig).
Mac
  • Xcode 4.2 or above.
  • SWIG 2.0.11. Download here. (See Install SWIG (Mac) for the SWIG installation procedure.)
PS3 Visual Studio 2010 Professional Edition.
PS4 Visual Studio 2012 Professional Edition.
PS Vita Visual Studio 2010 Professional Edition.
Windows Visual Studio 2013 Professional Edition.
Windows Store Visual Studio 2015.
Xbox 360 Visual Studio 2010 Professional Edition.
Xbox One Visual Studio 2012 Professional Edition.

How to install the source package

Unzip the source package. You can then rebuild and generate the content in the Integration package using just the source package and a Wwise SDK installation for your target platforms. Optionally, you can merge the unzipped content under the Wwise folder with your imported Integration unity package in the Assets folder of your Unity project. However, this may generate unwanted intermediate files inside your Assets folder, which need to be cleaned up manually.

The folder structure of the installed Integration package

Note.gif

Note: The italic items are available to certain platforms only.

  • StreamingAssets: The StreamingAssets Folder used for automatic SoundBanks deployment.
  • Wwise: The top-level folder.
    • Deployment: The main Integration files used in your application.
      • API: C++ to C# binding files. This is the translation of the native Wwise SDK.
      • Dependencies: 3rd-party Unity scripts required by certain platforms.
      • Components: The Unity components scripts that can be used directly and serve as examples for custom components.
      • Plug-ins: The Unity plug-in libraries of various configurations and debug symbol databases.
        • Platform
          • Architecture: Files shared by architectures of a multi-architecture platform.
        • Windows or Mac: The desktop version of the plug-in libraries.
    • Documentation: The full documents about the Integration.
    • Editor: All editor windows and inspectors used by the WwiseUnityIntegration.
    • Tools: Application tools that provide extra features.

The Folder Structure of the Installed Source Package

Note.gif

Note: The italic items are available to certain platforms only.

  • Wwise: The top-level folder.
    • AkSoundEngine: The source code and IDE projects needed for building the Integration, organized by platforms.
      • Common: The source code and build scripts used by all supported platforms.
      • Platform: The IDE solution or project, the source code, and platform-specific build scripts for the target platform.
    • Deployment: The main Integration files used in your application.
      • API: The root-level folder of the API binding.
        • Handwritten: API binding files written by hand.
      • Components: The factory Unity component scripts that can be used directly and serve as examples for custom components.
    • SWIG: The 3rd-party utility used to generate the API binding from the Wwise SDK. Note that the SWIG distribution shipped in the Integration contains our custom changes.

Build using console utility

You can build the Integration from the command line using the build script. This is useful for continuous integration. To see the usage and examples, assuming your current working directory is the parent folder of the script, type in a command console on your computer:

python BuildWwiseUnityIntegration.py -h

Build using Integrated Development Environment (IDE)

Located in the Wwise Unity Integration source package under:

WwiseUnityIntegration_version_platform_Src.zip\Wwise\AkSoundEngine\YourPlatform

the solution (or Xcode project) allows you to build the Integration for the target platform in a supported IDE.

Building for the Linux platform

A premake script is included in the integration source package that generated the necessary makefiles. To build the Linux plugin from source, simply enter the following commands into a terminal:

  • cd <Integration source location>/AkSoundEngine/Common
  • ./premake4 --akplatform=Linux gmake
  • make -f AkSoundEngineLinux.make config=<config>

Where <config> is either debug32, profile32, release32, debug64, profile64, or release64. The resulting plugin will be located in <Integration source location>/Deployment/Plugins/Linux.

Deploy the new lib

The resulting binaries will be found in Wwise\Deployment\Plugins\[Platform]. If you haven't unzipped the sources in your Assets\Wwise directory, copy the new binaries from that folder to the corresponding folder in your project's Assets directory.

In Unity 4, you will also need to copy the Profile dll (usually) in to the Assets\Plugins\[Platform] directory. This can be done also inside Unity, using the menu Assets->Wwise->Install Plugin.

Under the hood

The build process performs the following tasks:

  1. As a pre-build step, the API binding in Unity scripting language for Wwise SDK is generated via SWIG, with our custom pre-processing and post-processing to ensure multi-platform API can coexist in Unity project folder.
  2. The Wwise SDK libraries are wrapped into a single library as the Unity plugin, a dynamic library (.dll) on Windows, a loadable bundle (.bundle) on Mac OS X, a static library (.a) on iOS, or a shared library (.so) on Android. They are directly built into the Deployment folder. See Installing or upgrading the integration in a Unity project for the folder structure.
See also:
Generated on Tue Aug 23 02:44:59 2016 for Wwise Unity Integration by  doxygen 1.6.3