Integrated development environment (IDE) support
Choose one of the major code editors with integrated support for Unity projects to use as the development environment for your scripts.
Read time 4 minutesLast updated 11 days ago
An integrated development environment (IDE) is an application that combines a range of tools for developing software, typically including a code editor, code completion, code analysis and diagnostics, running tests, and debugging. Unity supports the following C# IDEs:
New installations of the Unity Editor on Windows and macOS include the default IDE for the platform by default. You can also add an IDE as a new module to an existing Unity installation. For more information, refer to Add modules to a Unity Editor installation.
External script editor preference
The External Script Editor setting in the Preferences window determines which IDE Unity C# script files open in for editing. Unity automatically assigns the IDE included in an installation as the default external script Editor. To change this setting, go to Edit > Preferences (macOS: Unity > Settings) > External Tools > External Script Editor.
This setting is enough if all you want to do is open, view, or make simple edits to C# source files. A full IDE experience including code analysis and debugging typically requires additional plugins or extensions, which are detailed in the following sections.
Visual Studio (Windows)
Visual Studio is the default IDE for Unity on Windows. It's recommended to always use the latest version where possible. New installations of the Unity Editor on Windows include Visual Studio Community and the other debugging requirements listed in this section by default. If you're using a pre-existing installation of Visual Studio or the Unity Editor, you might need to install or configure some of the items manually.
Visual Studio configuration for debugging
In addition to your installation of Visual Studio, the full IDE experience including debugging Unity C# code requires:
For your Visual Studio IDE:
For your Unity Editor:
- Unity Visual Studio Editor package (Included in a Unity Editor installation as part of the Engineering feature set)
- Visual Studio set as the external script editor.
For more information on the debugging features of the Unity Editor, refer to Debug C# code in Unity.
For more information on using Visual Studio with Unity, refer to Using Visual Studio Tools for Unity
Code analyzers
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.
Due to differences in the way Unity and Visual Studio compiles user code, isn't configured automatically in the Unity Editor. To configure it, follow the instructions in Install and use an existing analyzer or source generator using the Microsoft.Unity.Analyzers nuget repository as your source.
Microsoft.Unity.Analyzers.dllProject and solution files
Unity automatically creates and maintains a Visual Studio .sln and .csproj file. You can control whether Unity generates .csproj files for additional packages in your project. For more information, refer to Using the Visual Studio Editor package.
Visual Studio Code (Windows, macOS, Linux)
Visual Studio Code is the default IDE for Unity projects on macOS. It's recommended to always use the latest version where possible. New installations of the Unity Editor on macOS include Visual Studio Code and the other debugging requirements listed in this section by default. If you're using a pre-existing installation of VS Code or the Unity Editor, you might need to install or configure some of the items manually.
VS Code configuration for debugging
In addition to your installation of Visual Studio Code itself, the full IDE experience including debugging Unity C# code requires:
For your Visual Studio Code IDE:
- C# For Visual Studio Code Extension
- C# Dev Kit for Visual Studio Code Extension
- Unity for Visual Studio Code Extension
For your Unity Editor:
- Unity Visual Studio Editor package 2.0.20+ (Included in a Unity Editor installation as part of the Engineering feature set)
- Visual Studio Code set as the external script editor.
For more information on the debugging features of the Unity Editor, refer to Debug C# code in Unity.
For information on using VS Code with Unity, refer to the VS Code documentation on Unity Development with VS Code.
JetBrains Rider (Windows, macOS, Linux)
JetBrains Rider is a C# IDE with comprehensive C# language and debugging support. It's recommended to always use latest version where possible.
Rider configuration for debugging
In addition to your installation of Rider itself, the full IDE experience including debugging Unity C# code requires:
For your Unity Editor:
- Unity JetBrains Rider package (Included in a Unity Editor installation as part of the Engineering feature set).
- Rider set as the external script editor.
For more information on the debugging features of the Unity Editor, refer to Debug C# code in Unity.
For more information on using JetBrains Rider with Unity, refer to Rider for Unity.