JUCE 5.4.1 and VST3

I’ve been following the thread about support being dropped for VST2, and thought I could update my VST2 plugins to VST3 by simply checking the VST3 checkbox, and unchecking the VST Legacy check box?

I’ve also replaced the old VST_SDK global path with the VST_SDK/VST3_SDK one. But I still get errors about “pluginterfaces/vst2.x/vstfxstore.h” not being found?


Any ideas?

Thanks @t0m for the speedy reply! I did read through those. But I find the whole thing a little confusing. In one thread you suggest:

In another thread, a day later, I read this:

So what gives? I just want to drop support for VST2 at this point and move to VST3, why would I need the VST2 SDK? Surely I don’t have to create new projects for each of my existing plugins?

And on a side note, can people continue to build VST2 plugins for as a long as they like if they just stick with JUCE 5.3.2?

Have you investigated the JUCE_VST3_CAN_REPLACE_VST2 preprocessor flag? It’s explained in much more detail in those links.

No. The JUCE license and Steinberg’s VST2 license are different things.

I have. Enabling JUCE_VST3_CAN_REPLACE_VST2 still gives me build errors about the VST2 headers not being found.

Are you saying that in oder for me to drop support for VST2 in my plugins, and move to VST3, I still need the VST2 SDK? I can’t just enable VST3, disable VST2 and regenerate my project?

1 Like

You need to set JUCE_VST3_CAN_REPLACE_VST2 to 0 if you don’t want a dependency on the VST2 SDK. This will, however, break compatibility with previously released VST3 plug-ins.

Thanks @t0m. That did the trick. I was setting JUCE_VST3_CAN_REPLACE_VST2 to 1 because I thought I needed to enable the replacing of VST2 with VST3…? Anyhow, it’s all good now. Thanks again for the prompt support :wink:

The “can replace” in that name means that a host could transparently transition from using a VST2 version of your plug-in to a VST3 version. In Cubase, at least, this means that you won’t see both YourPlugin.vst and YourPlugin.vst3 in a list of available plug-ins (you’ll just see the VST3). This also means that if you have previously used YourPlugin.vst on a track then you can use YourPlugin.vst3 instead. If you don’t enable JUCE_VST3_CAN_REPLACE_VST2 then the VST2 and VST3 will not be interoperable.

If you’re migrating from VST2 to VST3 it feels like this would be useful…


Do Juce users need an agreement from Steinberg for VST3, or is it “included” in the Juce VST3 support? (5.4.1)

Using either VST2 or VST3 requires a license with Steinberg. Please note, however, that the deadline for getting a VST2 license has passed (I think it was October 31st), so it is no longer possible to get a VST2 license.

Thanks for your answer but I would wait for an official ROLI answer. Yes, I was talking about VST3. In this case, what isn’t it stated anywhere in the code? I mean, for ASIO for example, it’s clearly stated…

JUCE has a special agreement with Steinberg that allows us to distribute the VST3 SDK, but people using the SDK are still bound by the terms of its license.

Thanks for the answer. But why not indicating it in the projucer or somewhere visible, in the FAQ maybe? I mean, we work with Juce since 2 years and we never knew that …

Yes, making all the differently licensed parts of JUCE more obvious is something we’ll do soon.