VST3 working on my computer but not on others

I made my very first vst3 plugIn that works fine in REAPER on my computer. Putting the .vst3 file into other computers (windows and mac have been tested) does not work. On other PC, it put the .vst3 in the “fail to scan” section of REAPER.
I know some topics already treated that problem, but for them putting the setting “Runtime Library” to “Use static runtime” was enougth. I did try that solution and it didn’t change anything for me.
I suspect this is indeed a library issue but I was hoping that setting “Use static runtime” would have be sufficient for the dependencies to be included into the .vst3 file.
Is there any other possible reason for my plugIn to not work on other PC ? If not, why “Use static runtime” does not correct the problem ?

PS : I did change the setting in Projucer but maybe there are also things to do in Visual Studio 2022 ?

Thanks in advance for helping

Are you building in release, or debug? Try release if you aren’t already.

Thank you for the reply !
I am indeed in release mode.

I’ve had some problems with Reaper on my own machine failing to scan or pick up my freshly compiled plugin. I have to exit Reaper twice and then it eventually shows the plugin in the plugin browser.
Have you tried a different DAW on the other computer?

yes I have tried plogue Bidule and no sign of my plugIn. The thing is that the plugIn is recognized by REAPER since it appear in the “fail to scan” section of the Rescan option, it is just not scanned properly

I’ve been testing my 1st plugin too, and someone on another thread suggested a tool called pluginval. That might be worth trying out to see if flags something for you.

There’s a useful 50-minute pluginval youtube video thats worth watching too.

Actually I should mention that I work on a company computer so I don’t have admin acess to C:\Program Files\Common Files and thus the VST3 folder does not exist on my computer. But I added the path to the actual vst3 file in REAPER so that it works on my PC.

Ok thank you, I’ll look at that. But is it common to use thrid party software to get the plugins working ?

It seems like a tool to validate plugins on each plateform, but I am not sure that it would help me find a solution to my problem since my problem involves 2 computers that have the same version of windows. I actually tried it but my plug in is by no mean perfect so it does crash under test. The thing is it actually work well on my PC so it should at least launch on other PC and not fail to scan.

Ok my bad, on the other windows PC it works on REAPER but not on BIDULE (might me because I don’t have admin access to put the file in Common files/vst3/ folder) but on mac, even with REAPER, it is put on ‘plugIns that fails to scan’. Should I do something to make it work on mac too ?

I assume your are compiling the Mac version on the Mac.

Running pluginval from both computers could at least give you some idea if something is going wrong on one of them. If for example you have a race condition that is causing an issue, you may find it triggers regularly on one and not the other due to timing differences. There is also a vst3 validator that comes with the vst3 SDK, more info here.

If your plug-in is failing to scan, have you checked it hasn’t been black listed? some hosts will not bother to rescan the plugin unless something like the version number has changed. From memory I believe Logic does this, it also has a special case where it will always rescan if the version number is all zeros. Some hosts may also have a log somewhere which could give you an indication as to what went wrong.

The admin access could be an issue it’s hard to say.

1 Like

Ok, I managed to make it work on the mac that I used to build it. Is the .vst3 created from the mac enougth to share the plugIn with other devices ? I tried it and the plugIn is not recognised on another mac

I did not find any black list on my DAWs but I tried on BIDULE and REAPER

I believe on Mac to load it on another machine you must code sign the plug-in with your apple developer ID

I manage to make it work on another mac. The thing is that the build creates a folder with a name that ends with .vst3 that contains several files. It appears that, when put on a mac, the icon switch from a folder to a file but it still is a folder. This is that folder that as to be added to the library/audio/plugIns/vst3 path. But after there was indeed an apple message that says that apple cannot verify the security of the plugIn and thus, it won’t launch it. To counter that, there exists a line (sudo spctl --master-disable) to be put on the terminal that allows a new security parameter in macOS that can be checked to ignore the security. Obviously the right way to do it would be to sign the plug-in with apple ID I guess but I couldn’t do that. Thanks for the help !

That topic was also helpfull if you want to compile a vst3 for version of mac that you don’t have : Mac Plugin not available on Logic - MacOSX and iOS - JUCE

That version will not be enough to share with people using Windows 10/11 or Linux as their operating system. The issue you were having with Reaper vs Bidule is almost 100% because you can add extra vst3 sources in Reaper but not in Bidule. The solution for all of this is as follows:

(Note: this is a basic guide for making MacOS and Windows Plugin Installers, read the JUCE docs for some extra info on directories and softwares)

On MacOS

  • Build a release version of your vst3 plugin (and an Audio Unit too!). Both of these should be options for the end user since some daws dont support vst3 and vice versa
  • Use programs like Packages to create a .pkg installer file (WhiteBox - Packages)
  • You will be able to distribute this file in a dmg by using Disk Utility to create an image file
  • Distribute the dmg file and people will be able to use your plugin On MacOS
    • Note: if you want the plugin to work on new M1/M2 macs, you will need one to build the plugin for M1/M2

On Windows

  • Build a release version of the vst3 plugin using Visual Studio, CMake or your preferred IDE
  • Use InnoSetup to create a .exe installer (Inno Setup)
    • You will need to get this “cleared” by Microsoft so windows defender doesn’t full stop it running, my advice for now is to distribute the .exe in a .zip file for end users
  • Distribute the plugin installer and people will be able to use the plugin on Windows 10/11
    • Note: On Windows, It’s advisable to also include the single .vst3 file in the .zip in case Windows Defender or another antivirus software causes the installer .exe to be removed

EDIT: On Windows, VST3 Files MUST go in the C\Program Files\Common Files\VST3  folder or they will not be detected Even if you add another folder to the VST3 search path. Some DAWs like Ableton do have functionality for all of this but if you choose to go down that path, you’re on your own.

Hopefully this answers all the questions you have for creating the installer and running it on other computers. Getting this right can be a tricky one and the existing JUCE documentation for creating installers does help a lot, but has nothing to do with Code Signing, Encryption or any “good practices” to be honest.

If you have any more questions feel free to ask them! (and include context too!)

1 Like

Thanks a lot for your complete answer ! I was thinking that using packagers was not mandatory and as I am a beginer I tried to use less tools as possible to avoid learning 5 software but it actually made me struggle a lot too so thanks for clearing this up !

1 Like

No problem, best of luck distributing your plugin!

And a little note; packagers aren’t technically mandatory but they make the user experience 1000x better, so it’s best to use them anyways!