After hacking away making a plugin with the VST3 SDK, I decided to try out the JUCE framework. The VST3 SDK requires you to make a lot of work yourself (a positive thing with it though, is that it uses cmake and I could easily build my VST plugin on both Windows and Linux). I can recommend to try JUCE if you know your way around C++ and want to make your own VST plugins (it supports other plugin formats too, but I have only built VST).
JUCE is a cross-platform framework, and you can compile your source code on several platforms (Windows, macOS, iOS, Linux and Android, even if I only have used Windows so far). The best thing for me with JUCE is that it has a large set of audio and DSP (digital signal processing) functions and it’s easy to build a decent looking GUI (even if you’re a GUI beginner like me).
Like all frameworks, there is a pretty steep step to get over in the beginning. It has several tutorials that are quite good to get you going. Another great resource I used was the AudioProgrammer on YouTube. I took a lot of inspiration from, for example, his tutorial on building a sampler VST plugin.