Using Rider to write C# makes me happy. I have never seen code refactoring tools that actually work - always without exception. It's amazing when you can rely on it.

Joachim Ante,
Unity CTO & Founder

Powerful cross-platform C# Editor

JetBrains Rider is a fast and powerful C# editor for Unity that runs on Windows, Mac, and Linux. With the unbeatable 2500+ smart code inspections and refactorings, Rider enhances your C# experience, letting you write error-proof code much faster.

Easy start with Unity

Rider has Unity support built in, and the very first time you open a Unity solution it will automatically configure Unity to use Rider as the default editor for C# scripts and shader files. Once done, double-clicking a C# script or shader asset will open the solution in Rider.

Easy start with Unity

Control Unity editor

Thanks to the integrated two-way communication, you can switch into and out of Play mode, and pause and step a single frame without ever leaving Rider! The toolbar includes game view buttons Play, Pause, and Step, which correspond to the same buttons in Unity Editor and control the same behavior as Unity Editor does. A small Unity icon in the status bar will indicate whether Unity Editor is connected, refreshing, or in Play mode. Any changes applied in Rider in Edit mode will be instantly delivered to Unity Editor.

Control Unity editor

Coding hints

Rider provides top-notch code analysis for C#, and that includes Unity-specific code inspections and quick-fixes for them.

For example, Rider will warn you against using inefficient string literal comparison with the tag property, and will provide a quick-fix to rewrite this as a call to CompareTag.

Similarly, Rider will warn you if you try to use the new keyword to create a new instance of a class deriving from MonoBehaviour or ScriptableObject. Just press AltEnter to have Rider fix the problem for you.

Coding hints for Unity

Debug Unity with ease

Rider makes it very easy to debug your C# scripts as they run in the Unity editor. Everything is already configured, and you just need to hit the Debug toolbar button, menu item or keyboard shortcut to attach the debugger to the running Unity editor. You can set breakpoints in the editor, step through your code, look at locals and watch values, and evaluate expressions.

With Rider, you can even debug the code that you don’t have debugging information for. Rider automatically decompiles external libraries on-the-fly, allowing you to debug the decompiled code, step into functions, set breakpoints, view and set locals and variables.

Debugging Unity in Rider

Run Unity tests

Rider allows you to run tests that interact with Unity’s API, and which can step through single frames, all from within Rider. And of course, you can explore the results of your Unity-specific tests, just like you would normal tests – you can filter by result, and click on stack traces to navigate your code.

Unity console logs

The Unity Logs tool window with hyperlinked stack traces lets you explore the same events that are logged in the Unity editor console. It allows filtering by category (error, warning, or message), hides events based on when they were logged (in Play or Edit mode), and lets you easily navigate to any source file, class, method, or property mentioned in the log entry. Unity Logs cleans its output automatically after every switch to Play mode.

Running Unity unit tests in Rider

Performance highlightings

Rider helps you write better-performing Unity C# code. To do this, it highlights expensive Unity APIs inside methods that get called every frame, like Update and coroutines. Rider even highlights calls to methods that indirectly use expensive Unity APIs!

Besides that, Rider has many Unity-specific performance inspections and appropriate quick-fixes. It is aware of code patterns that are poor performance and can suggest automatic fixes for them, such as using a different API or overload, or caching values.

Performance critical context

Find Usages inside Unity files

Find Usages now includes Unity scenes, assets, and prefabs. If you search for a class or method used as an event handler, Rider shows where it’s used in your Unity files, grouped by type, component name, and parent game objects. Even better, double-clicking the item highlights the usage directly in the Unity Editor.

Pulling this information from Unity files also means that Rider highlights event handler methods as being implicitly used. The implicit usage highlights are turned into Code Vision links, so you can see at a glance what classes, methods, and fields are implicitly used by Unity. And clicking the link will find those usages, even inside Unity files.

Find Usages inside Unity file

Shader support

Rider also adds support for .shader files, with syntax highlighting, code folding, brace matching and more. Syntax errors in the ShaderLab sections are highlighted, todo comments are pulled into the To Do Explorer and color properties are highlighted, with a color picker for editing. Simple word completion is available throughout the file, including in Cg/HLSL blocks.

Shader support in Rider

Explore Unity docs

Rider displays external documentation for Unity symbols. You can either click the icon from the Quick Documentation pop-up (CtrlShiftF1 if using the Visual Studio keymap) or use the View External Documentation action (ShiftF1) directly, to navigate to locally installed documentation, or to Unity’s hosted docs if they are not available locally.

Explore Unity docs
Try a new cross-platform
IDE for Unity development

Free 30-day trial

Features

Code analysis and quick-fixes

Rider boasts 2500+ live code inspections, with over 1000 automated quick-fixes to resolve detected issues individually or in bulk. Solution-wide error analysis will monitor code issues and let you know if anything goes wrong, even in files that are not currently open.

Code navigation

You can jump to any file, type, or member in your code base in no time, as well as find settings and actions. Find usages of any symbol, or navigate from a symbol to base and derived symbols, extension methods or implementations.

Refactorings

Rider provides 50+ global automated refactorings, as well as 450+ smaller context actions for local code transformations. Rename, extract methods, interfaces and classes, move and copy types, use alternative syntax, and a lot more!.

And more

There’s unit testing support, code cleanup, integrated version control, local history to save your code between commits, NuGet support, database tooling and more. Rider can be easily extended with plugins, from Markdown support to VIM keyboard bindings.

Customers

Far and away the best Unity IDE for the Mac. Unparalleled debugging and refactoring capabilities.

— Erin Keenan, Engineer, N3twork mobile games company

Join these companies that already use Rider to develop Unity games.

Download

Having the right tool for the job is essential to compete in any market, games especially. At Yakuto each dev has a JetBrains Toolbox subscription, which we’ve found invaluable for productivity. We work mostly in C# on Macs. This used to mean a VM running ReSharper but with Rider, we’re native to one OS, which is awesome. Unity debugging is now seamless and the extensions add vital Unity-aware context. As a veteran of ReSharper, I feel completely at home in Rider: refactoring, solution-wide analysis, test runners, it’s all there. We couldn’t consider C# development without Rider.

— James Gratton, CTO, Yakuto