# How to load third-party plugins

**URL:** <https://qa.fmod.com/t/how-to-load-third-party-plugins/20793>\
**Category:** FMOD Engine\
**Created:** [October 23, 2023, 8:32am UTC](https://qa.fmod.com/t/how-to-load-third-party-plugins/20793 "2023-10-23T08:32:38Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![lxy1114](https://avatars.discourse-cdn.com/v4/letter/l/dbc845/32.png) [@lxy1114](https://qa.fmod.com/u/lxy1114)\
**Post date:** [October 23, 2023, 8:32am UTC](https://qa.fmod.com/t/how-to-load-third-party-plugins/20793/1 "2023-10-23T08:32:39Z")

</div>

I have successfully used the “Resonance Audio” plugin in my Fmod Studio project and packaged it as a bank.  
But when loading in my C++API project, I encountered a problem.  
I thought copying ‘resonanceaudio. dll’ to the same directory as exe would solve this problem, but he still reported an error.  
The error is as follows:  
[WRN] PluginEffectModel::init : Missing DSP plugin ‘Resonance Audio Listener’  
[ERR] PostLoad::initPluginEffects : DSP plugin returned an error, bank will not load properly.  
I couldn’t find the plugin, but later I discovered function “loadPlugin” and “registerPlugin”.  
May I ask how I should use them? Besides these, what else do I need to do to successfully use plugins in my project.  
Thank you.

---

<div class="post-metadata">

**Author:** ![Connor\_FMOD](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/connor_fmod/32/3685_2.png) [@Connor\_FMOD](https://qa.fmod.com/u/Connor_FMOD)\
**Post date:** [October 24, 2023, 4:50am UTC](https://qa.fmod.com/t/how-to-load-third-party-plugins/20793/2 "2023-10-24T04:50:44Z")

</div>

Hi,

Correct, you will need to call `System::loadPlugin()` using the directory location of the `resonanceaudio.dll` as the first argument:

```auto
coreSystem->loadPlugin("C:\\Program Files\\FMOD SoundSystem\\FMOD Studio 2.02.18\\plugins\\resonanceaudio.dll", &handle);

```

The `handle` is just an `unsigned int`. As you have assigned the DSP in FMOD Studio you will not have to call `System::createDSPByPlugin` or `System::setOutputByPlugin`.  
Remember to call `System::unloadPlugin` ([FMOD Engine | Core API Reference - System](https://fmod.com/docs/2.02/api/core-api-system.html#system_unloadplugin)) using the `handle` you created when loading the plugin at the end of your program.

Hope this helps!

---

<div class="post-metadata">

**Author:** ![lxy1114](https://avatars.discourse-cdn.com/v4/letter/l/dbc845/32.png) [@lxy1114](https://qa.fmod.com/u/lxy1114)\
**Post date:** [October 24, 2023, 4:58am UTC](https://qa.fmod.com/t/how-to-load-third-party-plugins/20793/3 "2023-10-24T04:58:51Z")

</div>

Thank you, I will try it later.  
What is the use of registerPlugin in the Fmod Studio API? It seems that the parameters are quite complex.

---

<div class="post-metadata">

**Author:** ![Connor\_FMOD](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/connor_fmod/32/3685_2.png) [@Connor\_FMOD](https://qa.fmod.com/u/Connor_FMOD)\
**Post date:** [October 25, 2023, 5:25am UTC](https://qa.fmod.com/t/how-to-load-third-party-plugins/20793/4 "2023-10-25T05:25:38Z")

</div>

Hi,

`registerPlugin` allows you to define DSP functionality via code in the `FMOD_DSP_DESCRIPTION` to then be used by the FMOD system. That is why it is so complex, it allows for user-defined DSP effects ([FMOD Engine | Plugin API reference - DSP](https://fmod.com/docs/2.02/api/plugin-api-dsp.html#fmod_dsp_description:~:text=createDSPByPlugin%2C%20FMOD_DSP_RESET_CALLBACK-,FMOD_DSP_DESCRIPTION,-DSP%20description))

Hope this helps!
