VST2 and unique ID

I have a VST2 plugin which has original ID “X111” (JucePlugin_PluginCode), but it dynamically set its ID using SetUniqueID (stored in external file).

So, theoretically i can copy this plugin file to another, with different name and different ID.

This works perfect with Reaper for example, but it doesn’t work with Cubendo and Studio One - second plugin is not detected.

I’ve analyzed plugin .dll file and found there is original ID (“X111”) hard-coded at the several places in the binary - sometimes even in reversed order (“111X”). When i patch all these values to the new, different ID, problem dissapears - all programs work.

Now the actual question:

Isn’t it enough for VST2 plugin to have different ID and different name to be recognized by any host? What are these hard-coded values all arround the .dll, how do they come there?

Any ideas what should i look for? Can somebody enlighten me about some VST2 rules which i dont know.

Thanks!!!

This is how I do it and it’s always seemed to work Ok for me. What out for OSX, you’ll also need to update the .plist files.

By “this is how i do it” you mean you are actually patching plugin binary as i described?

I’ve been dong this year for the past 5 years. It works. Note that some hosts don’t actually care about unique IDs, and it doesn’t seem to matter at all on Linux.

Great … i just did it on windows and it is obviously working.

But, when i did patching on OSX, plugins were properly recognized but they all have the same name in Cubendo.
Should i change anything else (.plist ??) - which items in plist should i change - i guess not all ??

As you said, some hosts (Reaper for example) don’t have any problems with this as they are not so strict about unique ID (they don’t use it).

Thanks for help!

Some versions of audio unit encode this information inside the .plist, but also inside the resource fork of the bundle. This is pretty tricky to change afterwards, though it can be done. It cannot be done at runtime, unfortunately.

ATM, I have working system for AAX and AU … but having trouble on OSX with VST2 and VST3 in Cubase, as described as described below.

When i did patching on OSX, plugins were properly recognized but they all have the same name in Cubendo.
Should i change anything else (.plist ??) - which items in plist should i change - i guess not all ??

Ah sorry, didn’t see it only was about vst.

You should change the plugin name in the .plist file as far as I remember.

Thank you, i’ll try that.

Confirmed - Bundle name (CFBundleName) entry in info.plist actually defines VST plugin name in Cubendo.