Wwise SDK 2019.1.11
|
The Wwise Authoring API is accessible through different protocols and APIs:
AK::Wwise::IPluginPropertySet::WaapiCall()
. Refer to Using the Wwise Authoring API in Wwise Plug-ins.WAMP and HTTP protocols can be used with a variety of languages, such as C++, C#, JavaScript, Python, and other languages with HTTP or WebSocket support.
Note: WAMP is an open standard WebSocket subprotocol that provides unified application routing. WAMP implementations are available in the most popular programming languages. Read more about WAMP at https://wamp-proto.org. |
Note: WAMP provides the best performance and experience because it reuses the same WebSocket connection for the whole session and provides bidirectional communications. |
In summary, here are the features supported by the protocols:
API Feature | WAMP | HTTP POST |
AK::Wwise::IPluginPropertySet::WaapiCall() |
Remote Procedure Calls Allows to call functions remotely on Wwise authoring Refer to Wwise Authoring API Reference |
Supported | Supported | Supported |
Publish & Subscribe Allows to receive notifications when changes occur in Wwise authoring. |
Supported | Not Supported | Not Supported |
Optimal performance | Yes | No | Yes |
If you wish to use WAMP as the protocol for WAAPI, several options exist. WAMP Implementations are available across different programming languages. You will be able to find a list of existing implementations on wamp-proto.org.
However, some of these implementations are more difficult or unfriendly to use. Since WAAPI only uses a subset of the features available in WAMP, and to ease the use of WAAPI, we implemented abstraction layers over some of the implementations available. Here is a table that lists our recommendations for the most popular languages.
Language |
Recommendation |
||
C++ (Recommended) |
Use AkAutobahn AkAutobahn is a fork of Autobahn C++, with reduced dependencies, and provides a simpler interface and high performance. Difficulty: Requires intermediate C++ programming skills.
|
||
C# (Recommended) |
Use WaapiClientCore or WaapiClientJson You have the choice of:
Difficulty: One of the easiest way to use WAAPI. Requires beginner C# programming skills. |
||
JavaScript/TypeScript with Node.js (Recommended) |
Use waapi-client JS waapi-client is an abstraction layer over Autobahn JS. It adds promises and async/await support, and only expose the required WAMP functionality. Please note that waapi-client also includes the TypeScript bindings. Difficulty: Requires beginner to intermediate JavaScript programming skills. |
||
JavaScript with Browser |
Use autobahn-browser autobahn-browser is a WAMP implementation ready to use in a browser. Difficulty: Requires intermediate JavaScript & Web programming skills. |
||
Python 2.7 |
Use Autobahn Python Autobahn Python is difficult to use. Setup requirements are not trivial, and async programming skills are required. Refer to the hello-wwise-wamp sample for instructions on how to set up the python project and dependencies.
Difficulty: Requires advanced Python programming skills. |
||
Python 3.6+ (Recommended) |
Use waapi-client Python waapi-client is an abstraction layer over Autobahn Python. It offers a greatly simplified usage and only exposes the required WAMP functionality. Difficulty: One of the easiest way to use WAAPI. Requires only beginner Python programming skills. |
||
Other languages |
Use one of the WAMP implementations listed at https://wamp-proto.org/ or use WAAPI with HTTP directly. |
Refer to WAAPI Samples.
Questions? Problems? Need more info? Contact us, and we can help!
Visit our Support pageRegister your project and we'll help you get started with no strings attached!
Get started with Wwise