|
| 1 | +# Plugins |
| 2 | + |
| 3 | +!!! warning |
| 4 | + This feature is experimental. Please report any bug you find. |
| 5 | + |
| 6 | +This addon supports FMOD plugins. |
| 7 | +First you'll need to add plugins libraries (`.dll`, `.dylib`, `.so`, `.a`) in a project's folder. |
| 8 | +In this documentation we will use `assets/plugins` as an example. |
| 9 | +In this directory you have to create one directory per os, like: |
| 10 | +``` |
| 11 | +assets |
| 12 | +└───── plugins |
| 13 | + ├────── windows |
| 14 | + │ └────── .dll for windows goes here |
| 15 | + ├────── linux |
| 16 | + │ └────── .so for linux goes here |
| 17 | + ├────── macos |
| 18 | + │ └────── .dylib for macos goes here |
| 19 | + ├────── android |
| 20 | + │ ├────── x86_64 |
| 21 | + │ │ └────── .so for android x86 goes here |
| 22 | + │ └────── arm64 |
| 23 | + │ └────── .so for android arm64 goes here |
| 24 | + └────── ios |
| 25 | + └────── .a for ios goes here |
| 26 | +``` |
| 27 | +If there are some dependent libraries needed for a plugin, just place it next to plugin's library, all libraries in |
| 28 | +those folders are exported. |
| 29 | + |
| 30 | +In order to add plugins you first need to create an `FmodPluginsSettings` resource in your project: |
| 31 | +![plugins-create-settings-resource] |
| 32 | +First you need to configure the directory containing the plugins libraries. In this example `res://assets/plugins/` |
| 33 | +Then you have to configure the plugin lists. |
| 34 | +There is two lists to configure: |
| 35 | +- `Dynamic Plugin List` is used for all platforms except `iOS` |
| 36 | +- `Static Plugins Methods` is used for `iOS` only |
| 37 | + |
| 38 | +For dynamic plugins you have to enter the name of the library for the plugin (without the lib prefix). As an example for |
| 39 | +steam plugin it will be `phonon_fmod`. |
| 40 | +In static plugins methods you have to place the methods from the documentation of your plugin. As and example for steam |
| 41 | +plugin it will be: |
| 42 | +- `FMOD_SteamAudio_Spatialize_GetDSPDescription`, with DSP type |
| 43 | +- `FMOD_SteamAudio_MixerReturn_GetDSPDescription`, with DSP type |
| 44 | +- `FMOD_SteamAudio_Reverb_GetDSPDescription`, with DSP type |
| 45 | + |
| 46 | +Here is what the configuration looks like for this example: |
| 47 | +![fmod-plugins-settings-resource] |
| 48 | + |
| 49 | +Then you have to set the path of this resource in project's settings, in the `Fmod/Plugins` section: |
| 50 | +![plugins-project-settings] |
| 51 | + |
| 52 | + |
| 53 | +[plugins-create-settings-resource]: ./assets/plugins-create-settings-resource.png |
| 54 | +[fmod-plugins-settings-resource]: ./assets/fmod-plugins-settings-resource.png |
| 55 | +[plugins-project-settings]: ./assets/plugins-project-settings.png |
0 commit comments