Do VST and VST3 share code

I’m getting back to audio plugins after a few years and I’m catching up with how Juce has changed since then. I understand that VST2 is not supported and VST and VST3 are, do they both run off of code in the VST3_SDK folder? Otherwise the Juce code is clearly labeled as VST and VST3. Thanks!

VST2 and “VST” are the same, and still technically supported in Juce but Steinberg ended granting new licenses to use the tech back in 2018. Juce no longer comes with support for building VST2 directly, you’d need to somehow get access to the last VST2 SDK from Steinberg, if you have the license for VST2 and still want to build those.

Thank you for the response, but I’m not sure that answers my question. I’m ok not building VST2. If the world has moved on from VST, I’m ok with not building that too (though I’m not sure that’s the case). I only see a clearly marked SDK for VST3 in the Juce source. I’m wondering how old versions are supported. I admit it’s kind of an internal detail.

The VST3 [JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp] code references #include “pluginterfaces/vst2.x/vstfxstore.h”, is the assumption perhaps that if we care to support versions older than VST3 we supply the SDK ourselves?

The VST (2) SDK was not allowed to be redistributed… The VST3 SDK is allowed to be redistributed… so to use VST2 you have to supply the VST2 SDK yourself


That’s for a compatibility mode for preset data from VST2 plugins, you can and probably should just turn that feature off since it indeed requires you to have the VST2 SDK available somehow.

Ok, I think I’m 90% of the way to understanding now. Both of your messages are still correct if you replace all of the "VST2"s with “VST(1)”, then?

VST(1) hasn’t been around for an eternity and has no relevance these days. They decided in Juce to name VST2 stuff with just VST, though.

Awesome. Thank you both for the quick answers.