

Unity sets up and manages your unity project for you, which means Visual Studio is used primarily as an editor. Unity even does the compiling as opposed to using MSBuild in visual studio. Unity as its own development environment does a lot of the things Visual Studio would have done for you if you were say writing an ASP.Net/WinForms/WPF/WCF/other Visual Studio style project. In Unity you actually won't be using most of the features that Visual Studio gives you. An IDE on the other hand will be much slower to actual startup and run (need more processing power), but has all the tools available right away (faster on the user side). In the end you can expect the editor to be far more light weight to startup and run (actual processing power requirements), but have a lot more steps to get tools like debugging set up (slower on the user side). and rely on those various extensions working with one another especially if you tap into multiple different authors. Instead you have to write your own extension, or more likely, download 3rd party extensions off some marketplace. But there's a lot less hand-holding in setting them up, and there isn't necessarily direct support from the language creators. BUT because you can create extensions for the editor, people can write custom extensions that factilitate a lot of the things IDE's have built in. Creating, writing, debugging, building, automating projects are all built into the IDE.Īn editor on the other hand doesn't necessarily do this, but instead focuses on editing code files. The general idea though is that an IDE comes with built in tools that basically help you along the entire development process right out of the box. The difference between an extendible editor and an IDE can get a little gray. Where as Visual Studio is a full IDE (I guess "suite" could be a synonym). Visual Code is more an editor that you can add extensions to.

Now to talk about VS Code vs Visual Studio.

For starters, visual studio community edition (the free one) is available for macOS:
