Wwise SDK
|
Wwise SDK 2023.1.18
|
Protocols
The Wwise Authoring API is accessible through different protocols and APIs:
- WAMP: WAMP is intended to connect application components in distributed applications. WAMP uses WebSocket as its default transport, which allows for ordered, reliable, bidirectional, and message-oriented communications. WAMP allows the clients to call functions with JSON arguments and retrieve structured JSON results. WAMP also allows clients to subscribe to notifications.
- HTTP POST: HTTP is an application protocol for distributed applications. HTTP is the most used method to transfer content on the Internet. POST enables the caller to send a document body, which, for the Wwise Authoring API, corresponds to the function arguments as JSON. The HTTP response is the JSON result.
- Wwise Plug-ins: The Wwise Authoring plug-in API exposes a way to invoke WAAPI functions:
AK::Wwise::Plugin::Host::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::Plugin::Host::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 |
Programming Languages
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 the most recent Node.js LTS (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 3.7+ (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.
Cette page a-t-elle été utile ?
Besoin d'aide ?
Des questions ? Des problèmes ? Besoin de plus d'informations ? Contactez-nous, nous pouvons vous aider !
Visitez notre page d'AideDécrivez-nous de votre projet. Nous sommes là pour vous aider.
Enregistrez votre projet et nous vous aiderons à démarrer sans aucune obligation !
Partir du bon pied avec Wwise