"Plugin 'libfmodstudio.so' in several locations" && "Plugin without certain callbacks specified" FMOD 2.0 Errors (Switch)

Hey there!

I’m currently trying to test out the FMOD 2.0 integration in a blank Unity 2018.3.11f1 Switch project but am getting the following error:

Plugin ‘libfmodstudio.so’ is used from several locations:
Assets/Plugins/FMOD/lib/android/armeabi-v7a/libfmodstudio.so would be copied to /libfmodstudio.so
Assets/Plugins/FMOD/lib/android/x86/libfmodstudio.so would be copied to /libfmodstudio.so
Plugin ‘libfmod.so’ is used from several locations:
Assets/Plugins/FMOD/lib/android/armeabi-v7a/libfmod.so would be copied to /libfmod.so
Assets/Plugins/FMOD/lib/android/x86/libfmod.so would be copied to /libfmod.so
Please fix plugin settings and try again.

Deleting the armeabi-v7a plugin folder allows me to make a successful build, but leads to the following issue when playing any FMOD event in the build:

SystemNotInitializedException: [FMOD] Initialization failed : FMOD.Debug.Initialize : ERR_UNSUPPORTED : A command issued was not supported by this object. Possibly a plugin without certain callbacks specified.

This issue was caused by a conflict in meta files and has been fixed for the next release.

Are you able to provide more information on this error?

1 Like

Awesome, thanks for the info!

Once I successfully get a Switch build to compile and deploy, the InitializedException error floods the EDEV kit debug log at runtime and none of the FMOD sounds play. I’ve tried making both a fresh Unity 2018.3.11 project (plus Switch plugins) and a fresh FMOD studio 2.0 project but neither seem to resolve the issue.

I’m not sure if this might have something to do with how I’ve gotten around the first issue I mentioned? I’ve tried both deleting the whole unity Android plugin folder and just unchecking the Switch platform option for the conflicting plugins. I’ve also tried making both multiplatform and individual Switch builds from Studio with no luck.

I haven’t gotten to try checking with Unity 2019.1 since I’d have to create a whole new SDK configuration, but I’m wondering if that might be a factor?

It looks like this may be caused by the Integration linking to the non-logging (release) lib and the RuntimeManager calling Debug_Initialize in a development build.

We currently use statically linked libs for Switch, so we cannot automatically change the libs used for it, this has to be done manually in the Unity editor. I will also get this step added to the docs as it doesn’t appear to be mentioned in there.

2 Likes

Ahhh had a feeling it would be something simple like this… Worked perfectly, thanks!