Rider for Unity

A smarter way to write C# for Unity

In Rider, you can write beautiful and more performant Unity code, control play mode and explore logs, debug, test, and analyze coverage, and search for usages in scenes and assets.

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.

/lp/dotnet-unity/static/rider-183-unity-intro-preview@2x-6e56b743c3f9bc14e1fca2189971d04e.png
Gif

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.

/lp/dotnet-unity/static/rider-183-unity-control-preview@2x-86bb75536244d15782b156d91c87fd96.png
Gif

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.

/lp/dotnet-unity/static/rider-183-unity-coding-hints-preview@2x-a4c842e78ce2241182079df27523c671.png
Gif

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.

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 to 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 clears its output automatically after every switch to Play mode.

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.

/lp/dotnet-unity/static/rider-183-unity-perf-indicators-preview@2x-8f1aa31cb97d7f29b9efd5160553caf0.png
Gif

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.

/lp/dotnet-unity/static/rider-183-unity-code-vision-yaml-preview@2x-4354d138bd0bee4a94aa23236059d2da.png
Gif

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.

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.

/lp/dotnet-unity/static/rider-183-unity-docs-preview@2x-a3d41fb8e430938c370d20fe25b5b41d.png
Gif
Rider

Try fast and powerful .NET IDE for Windows, macOS, and Linux

Free 30-day trial

Customers

“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

“Rider has quickly become the only IDE I want to use; for any UE4 or Unity programming task. It has saved countless hours through its intuitive workflows, and I cannot praise its P4 integration enough. When producers see the speed at which we can go from tasking to resolution, they are enamored with the product. Rider removes all the developer choke points, which prevent us from doing what we do best, code.”

Matthew Davey
dotBunny

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

Erin Keenan
Engineer, N3twork mobile games company

Wooga
Goodgame Studios
KLab
KamaGames
Disruptor Beam
InnoGames
Alawar
Cygames
Join these companies that already use Rider to develop Unity games
Download

The Many Sides of Rider

Rider provides the power to productively develop a wide range of applications, including .NET desktop applications, services and libraries, Unity and Unreal Engine games, Xamarin apps, ASP.NET, and ASP.NET Core web applications, and more.
Explore Rider

Follow us