Table of Contents

Using the Development Tools

First-time Setup

Prior to using the development tools, you must have either Python 2 or 3 installed.

To build the property help documentation, you need to install two Python dependencies:

pip install markdown
pip install jinja2

You also need to have the build tools required by the platforms you want to target installed and in your PATH. Refer to Platform Requirements for more information on which build tools you need to install.

Caution.gif
Caution: Make sure to select all of the platforms you want to target when installing the Wwise SDK through the Wwise Launcher.

Overview of the Tools

For a given version of the Wwise SDK, the plug-in developments tools are located under "%WWISEROOT%/Scripts/Build/Plugins".

A quick glance at the files in this directory will give you the following list of Python scripts that you have at your disposal:

  • new.py assists you in creating new plug-ins.
  • premake.py calls Premake to generate solutions for a given target platform.
  • build.py calls the build tools for a given target plaform and configuration.
  • package.py packages your binaries and other files (help, factory assets, etc.) into tar.xz archives.
  • generate_bundle.py generates a JSON metadata file for use with the Wwise Launcher.
  • wp.py lets you access all of the other scripts as subcommands.
Caution.gif
Caution: These scripts generally assume that the current working directory is the root of your plug-in, so make sure to verify that you are in the right directory before calling them.
Note.gif
Note: More information about how to use these scripts is available through either the -h or --help command-line flags.

Creating a Plug-in

To create a new plug-in, simply run the following in a command-line:

python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" new
(answer prompts)
cd <PluginName>

This will create a directory named after your plug-in in your current working directory. You can now start writing your plug-in! Refer to Audio Plug-ins for information on how to write audio plug-ins.

Note.gif
Note: If you find yourself often generating plug-ins using the same settings or want to automate that task, the prompts can be pre-filled by passing them as command-line arguments.

Adding a Target Platform

Target platforms can be added at any point during the development of your plug-in. This is done by premaking and building that platform.

For example, run the following in a command-line to premake and build both the Windows_vc140 and Authoring platforms:

python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" premake Windows_vc140
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" premake Authoring
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build Windows_vc140 -c Debug
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build Authoring -c Debug
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" build Documentation

The binaries will be output directly in your Wwise installation, ready to be tested:

  • For the SoundEngine part of the plug-in, this is under "%WWISEROOT%/SDK/<Platform>/<Config>/{bin,lib}".
  • For the Authoring part of the plug-in, this is under "%WWISEROOT%/Authoring/x64/<Config>/bin/plugins".
  • For the Documentation part of the plug-in, this is under "%WWISEROOT%/Authoring/Data/Plugins/<PluginName>/Html".

Packaging your Plug-in for the Wwise Launcher

Once your plug-in is built for all of your target platforms and configurations, you may want to package it for installation through the Wwise Launcher. This is a two step process:

  1. Package each of your target platforms, as well as the special Common platform. The packaging script will automatically retrieve all of the required files from your Wwise installation.
  2. Generate the bundle.json file. The bundle generation script will automatically retrieve the previously packaged archives from your plug-in directory.

For example, run the following in a command-line to package the Common, Documentation, Windows_vc140, and Authoring platforms:

python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" package Common --version=XXXX.X.X.X
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" package Documentation --version=XXXX.X.X.X
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" package Windows_vc140 --version=XXXX.X.X.X
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" package Authoring --version=XXXX.X.X.X
python "%WWISEROOT%/Scripts/Build/Plugins/wp.py" generate-bundle --version=XXXX.X.X.X
Note.gif
Note: You may want to edit the bundle_template.json file before proceeding with the bundle generation. Refer to Packaging Plug-ins for the Wwise Launcher for more information on the plug-in packaging format and how it relates to the Wwise Launcher.
Note.gif
Note: Additional files can be packaged with any platform using the --additional-artifacts flag.
Note.gif
Note: The Documentation part of the plug-in is optional.