I recently purchased a plugin(Audio Motors) and have been struggling to figure out how to use it in my game.

I’m wondering what I need to do to register this plugin, and also if I can do it with the old legacy integration?

I have just upgraded from using the legacy v1.07.06 integration for unity, to the new 1.08.13 V2 integration. Before the upgrade and installation of the plugin I had a perfectly working sound system for my game, in that I could build it and have sound working on my device fine with minimal configuration. (I’m working on a racing game for Android. With the legacy integration and no plugin, I didnt have to configure anything platform specific, it seems that with the new integration and possibly also because of the plugin I might need to do some platform stuff).

Before this plugin I was creating an event in the authoring tools and transitioning between static audio clips of engines at different rpms. All I had to do with the legacy integration was build my banks from inside the Fmod Authoring Tools and then import them into unity. From there I could control the parameter attached to my event inside the bank, through c# at runtime. Once I built my banks after implementing the plugin and tried to run my game, I got an error. I believe it was ERR_PLUGIN_MISSING. I couldn’t find any obvious way to fiddle with any plugin configuration in the legacy version so I upgraded to the new 1.08.13 V2.0 integration, mainly because I saw a plugin section in a screenshot and thought that might be the way to go. It seems very different from the legacy integration. I haven’t been able to figure anything out yet and right now I’m just clicking away in the dark so to speak.

I read an article deep in the documentation that briefly mentioned editing fmodplugins.cpp in the Plugins folder for unity. Any documentation that I could be provided with on this would be hugely appreciated. I’m hesitant to start inserting lines of c++ without any instructions. I have been provided some c++ code and a header file for registering the plugin so I think this is probably the way to go to get the plugin working.

I really appreciate any help on this.


  • You must to post comments
Best Answer

You’ll need to contact AudioGaming to get an Android version of the plugin. The windows .dll won’t work on Android, as you’ve discovered.

  • Andrew Muir

    Thanks for the help Scott, I’ve done so and now received the android version from them. How should I go about configuring the plugin for debugging in windows AND building to the android device? (When I’m debugging and building on my PC inside the unity player I specify the audiogaming_audiomotors (.dll file) in the Fmod listener plugin path field.) When building the apk for the device should I change the name of the plugin in that field to the android library name? I’m thinking I could make a simple script to adjust the name inside that fmod_listener plugin path depending on if I’m debugging or running on the device. Just wondering if there’s a proper approach to this.

    I made a quick build right after I got the android version, I changed that plugin path field to libaudiomotors_fmod_studio_shared (name of the file, placed in Plugins\Android\) and it gave me an error at runtime on the device.

  • Andrew Scott

    I’m assuming you’re still using Unity V2 integration. In Unity, go to menu “FMOD” -> “Edit Settings” and find the “Plugins” setting in the Inspector. Hit the “Add Plugin” button and type in the name of the AudioMotors plugin without any file extension e.g. “audiogaming_audiomotors”. When you build for Windows, FMOD knows to look for “audiogaming_audiomotors.dll” and when you build for Android it knows to looks for “”. If the Android plugin you have is not called “”, rename it so it is.

  • Andrew Muir

    No, sorry forgot to mention that. I tried out the V2 integration because I wasn’t sure if the plugins would work properly with the legacy integration. Once I figured out the legacy plugin setup I stuck with that. I renamed the file as you said but I’m still getting some errors on the android device. I did some debugging tonight and found an interesting warning as well as the plugin missing error…

    W/Unity ( 9880): FMOD Error (ERR_PLUGIN_VERSION): A plugin was built with an unsupported SDK version.

    E/Unity ( 9880): Bank encountered a loading error ERR_PLUGIN_MISSING

    If any information from my Android SDK Manager would be helpful I can provide that.

    I’ve been trying all kinds of different folders within Plugins\Android. I tried putting it in the root folder but that didnt work, I don’t see any .so plugins, only .aar in that folder. So from there I went to Plugins\Android\libs\armeabi-v7a\ and also Plugins\Android\libs\x86\

  • You must to post comments

I found this… It seems to have done the trick.

I’m targetting android, however I’ve been provided an x86 and x64 titled versions of the plugin so I put the x64 version in the Assets\Plugins\x86_x64 folder (Android folder is full of native android files like .so and .jar etc. Also I added the name of the .dll file to the fmod_listener plugin list. ERR_PLUGIN_MISSING has gone away. Except now I have some unexpected null reference exception errors when trying to retrieve an event parameter using –

engine.getParameter (“RPM”, out engineRPM);

I’ve added #define FMOD_DEBUG to the top of my script to see if I get any useful information, but nothings coming through.

Since registering the plugin I’ve been able to play my event on awake using the event emitter but I need to be able to create the event and control it from script.

Any ideas what might have changed? Parameter is created just as I would normally. Listener is added to the scene as well….

  • You must to post comments
Showing 2 results
Your Answer

Please first to submit.