Unity integrates with Microsoft Visual Studio through the Code Editor Package for Visual Studio. This package is pre-installed when you install Unity. If Visual Studio is installed at the time you install Unity, then Unity uses Visual Studio to open and edit scripts by default.
Unity automatically uses Visual Studio as its default script editor if Visual Studio is installed when you install Unity, or if you install Visual Studio as part of the Unity installation process. You can install Visual Studio as a module into an existing Unity installation. For more information, see Downloading and installing Editors and modules with the Unity Hub.
To set your default script editor manually:
A: The External Script Editor dropdown menu, which displays the name and version of the selected script editor.
B: The name and version of the Unity package that integrates with the selected script editor.
Unity uses Visual Studio’s C# compiler to compile scripts. When you use the Visual Studio Editor package with Visual Studio, both Unity and Visual Studio display details of any errors in your scripts.
Unity automatically creates and maintains a Visual Studio .sln and .csproj file. You can control whether Unity generates .csproj files for certain elements of your project in the External Tools menu in the Preferences window, as in the above screenshot. Enable or disable the checkboxes to toggle whether Unity generates .csproj files for a given option.
Unity regenerates the .sln and .csproj files in your project whenever a contributor makes changes to the state of a file, for example, editing an existing file or creating a new one. You can also add files to your solution from Visual Studio. Unity imports any new files, and the next time Unity creates the project files again, it creates them with the new files included.