Plugin read/process functions question.

Hello. I’m trying to test out plugin I made, but for some reason in my c++ integration neither the read nor process functions I specified in my description structure are being called. Besides loading the bank files, is there anything else I have to do to get my plugin to affect the sound when being integrated in C++? The bank I created has the plugin in it’s pipeline, FMOD studio is able to load the plugin and apply it to the sounds. Any ideas?


I also have to mention that I’m able to load the plugin in C++, I put a breakpoint in my register function for the plugin, the code does execute that, however, neither read nor process functions are being called.

For those of you looking at how to actually use a plugin you write, you’ll have to rely on the lowlevel api, look at the effects project in the lowlevel examples. In there you’ll find plugins being used. I was able to load my plugin and have it affect the signal by looking at this code.

If anybody else out there knows other ways to use a plugin in C++ share the wealth with us newbies.


loadPlugin would have meant your register would have hit like you said above, but what about your read/process callback, how did that work, or did it work at all? Trying to work out what stage you’re at now since your initial post.

Hi Brett, see answer below, once the plugin is loaded make sure it is found somewhere in the bank created by your sound designer. Also, silly mistake of mine, make sure you are using the right banks, I thought FMOD studio was saving the banks in a place where my program was accessing them, but it turned out they were being put somewhere else, and my code was loading the wrong banks all along.

You always have to call System::getLowLevelSystem, then System::loadPlugin in the game code, to get your plugin registered.

1 Like

Understood, but this wouldn’t be necessary for FMOD built in effects correct?

that is correct, only for external ‘unknown’ dlls