Making plugins using RNBO

Hi Jeff!

Been using this successfully for a while but today I built a new version of my RNBO plugin and it seems that FMOD Studio isn’t recognizing RNBO plugins at all anymore.

I tried re-installing the FMOD Engine, I tried updating my versions of that and the studio, I’ve re-tried building the plugin again following the instructions closely, and I have restarted my computer – none of these have worked. The only plugins being recognized are the AudioGaming ones. I even tried setting my plugin folder specifically under preferences>Assets in studio to no avail.

Any help would be appreciated!!!

That is strange- can you please tell me what version of FMOD Studio you are currently using, and what version of FMOD Engine you are currently building with?
Can you also send me an FMOD Studio log:

  1. Open the FMOD Studio Console by going to Window → Console
  2. Click on the Logging tab
  3. Tick “Show Verbose Logging”
  4. Copy and paste the full contents of your log into a text document
  5. Upload that to your FMOD Profile

EDIT: And as a shot in the dark, can you please ensure you are building the correct configuration from Visual Studio- i.e x64 or ARM, depending on what your OS requires?

Absolutely!

I was using 2.02.19 for both Studio and Engine, which was working before this build attempt and evidently stopped, then I updated to see if that would fix anything so now I’m trying it with 2.03.06 (both Studio and Engine).

Re: the logs, still waiting for our project’s registration to be approved so I can upload those!

And yes, I can confirm I’ve been building for x64 Release (OS is windows 11)

Logs uploaded! Looking at them I think I’m closer to the problem now – it seems to be failing to load because it thinks there’s duplicates of parameters that have similar beginnings to their names but I’ve dug through the Max patch and I can’t seem to find any such duplicates.

Is there an unspoken character limit on the parameter names? Is it assuming similar parameters are duplicates? I may also just be completely off base here.

I agree that looks to be the problem. Adding the last parameter twice for some reason. Are you missing any parameters or are they all accounted for?
What version of RNBO/Max are you using?

I do seem to be missing some! And yeah, it seems like the ones it’s stopping on are in fact partial names of parameters – (for example, “AM/generator[1]” doesn’t exist, but that is a path where a parameter is tucked away.

I’m using Max version 8.6.4 and RNBO version 1.2.6

update: it lives!

I took all of the params out of subpatches and ensured their names were under 15 characters (since that’s what it’s spitting out in the logs) and it worked. It seems like there is indeed just an unspoken character limit on parameters.

Thanks much for your help here!

Nice debugging! Thanks for sharing your findings- there is indeed a limit of 15 characters for FMOD parameters, and it is quite unspoken. I will update the docs and RNBO example.

2 Likes

Me again!

Attempted to make a test build on my Mac (for Mac OS, of course) and got this error when trying to play in the editor:

SystemNotInitializedException: [FMOD] Initialization failed : Loading plugin 'shipbuilder_v7' from '/Users/ssmith15/Documents/GitHub/Shipbuilder-Unity/Assets/Plugins/FMOD/platforms/mac/lib/shipbuilder_v7.dylib' : ERR_FILE_NOTFOUND : File not found.
FMODUnity.RuntimeManager.get_Instance () (at Assets/Plugins/FMOD/src/RuntimeManager.cs:219)
FMODUnity.RuntimeManager.SetListenerLocation (System.Int32 listenerIndex, UnityEngine.GameObject gameObject, UnityEngine.GameObject attenuationObject) (at Assets/Plugins/FMOD/src/RuntimeManager.cs:1415)
FMODUnity.StudioListener.Update () (at Assets/Plugins/FMOD/src/StudioListener.cs:176)

The .dll file was in the Mac platform lib folder, and I attempted modifying lines 81 and 95 in PlatformPlayInEditor.cs to see if anything would give (just kind of trying anything based on this somewhat-related thread, not fully expecting it to work) to try to change the path and change it to look for a .dll instead of .dylib, and as I suspected, nothing gave.

Went to go see if there was any chance of building the plugin as a .dylib on my mac and saw that the example solution described here wasn’t even in the Mac version of the FMOD Engine.

Is there any hope of getting this working on Mac? Am I missing information again?
Any guidance would be greatly appreciated! Thanks!

dlls and dylibs are not interchangeable- just like how you can’t use AudioUnits on Windows, you can’t use dlls on Mac. Every platform you want to target will need to be compiled for that platform separately, which means a .dll for Windows, a .dylib for Mac, a .so for Linux and Android, and various other formats for consoles that I can’t discuss on the public forums.
There is no Example VisualStudio solution for Mac, unfortunately the toolset is completely different and we have to use Xcode to compile anything for Mac, iOS and tvOS. You can open examples.xcworkspace in api/core/examples/xcode32 using Xcode and follow the steps listed in fmod_rnbo.cpp to build a .dylib version of your plugin.

Got it! Thanks so much