Search Unity

From time to time, we spotlight a tool from an Asset Store Partner that we believe some Unity developers might like to know more about. In this post, we feature JetBrains Rider, a C# script editor.

Rider provides a view of assets and packages, rich code editor with integrated source control, inspections and code completion.

Work faster with C#

As a developer, you know how frustrating it is to keep switching between Unity and your script editor. You’d rather focus on your game instead of being bogged down in your code. JetBrains developed Rider, an integrated development environment (IDE), to help C# programmers navigate Unity, so you don’t waste time looking for files or performing detail work that could be automated. See if some of the features described below might make your workflow more efficient and productive.

Find what you need fast

The Shift+Shift keyboard shortcut activates the tool’s Search Everywhere feature, which helps you navigate your project as efficiently as possible. You can hit Shift+Shift and start typing to find your classes, files or symbols. Rider uses a “smart” algorithm, so you can even use the initial letters of the words that make up a class or method name.

The Search Everywhere dialog quickly allows searching for project classes, files, symbols and even menu items and preferences in the editor itself

Get your code down quicker

Rider can also help you write code faster by suggesting and completing all of the event functions in Unity classes. The application has full knowledge of the Unity API, from Unity 5.0 to 2019.2.

Start typing a Unity event function and Rider will show all functions in a code completion list, and generate the method when selected

Pinpoint problems in your script

It doesn’t matter how fast you get the code written if it doesn’t work. Rider analyzes your code as you type, looking for common issues. From possible null reference exceptions to suggestions on new C# language features (anyone migrating to C# 7?), the IDE highlights any issues it finds in your code. Hit Alt+Enter and the software will safely rewrite your code to fix the issue. Rider has over 2,200 inspections, 450 quick fixes and more than 50 refactorings such as rename and extract class to contribute to improving the quality of your code.

Rider’s inspections will suggest places where your code can be improved, and pressing Alt+Enter will show a menu of quick fixes to automatically rewrite the code

Discover Unity issues early

In addition to understanding C#, this IDE has deep knowledge of Unity. It highlights script components, serialized fields and even event handlers registered in scenes and Prefabs in the Editor. (And yes, renaming an event handler in C# will also update the usages in scenes and prefabs.)

More importantly, the tool can save you time by highlighting Unity-specific issues as you type. It can find issues that would normally be found only at runtime – after switching back to Unity, starting play mode and playing the game through to the right place – and fix them automatically.

For example, Rider can find:

  • typos in the string-literal arguments for Invoke or StartCoroutine

  • incorrect signatures for methods marked with Unity attributes

  • unintended bypass of the lifetime check of the underlying object (in C# 6) when null coalescing or conditional access operators don’t correspond to an explicit null check

  • why your script won’t serialize when you applied the SerializeField attribute, for example, if you applied it to a property (something easy to miss)

Rider understands how Unity uses your code and shows warnings in the editor before you encounter them at runtime.

Write faster C#

This IDE helps you write your code faster, but it also helps you write faster code.

It has turned many of Unity’s best practices for performance into inspections. For example, the software will help you:

 

Rider highlights Unity’s performance best practices directly in the editor, with Alt+Enter quick fixes to automatically rewrite the code.

These inspections all have simple fixes, and you can use the Alt+Enter shortcut to quickly rewrite the code and fix them.

Rider can help with some less obvious issues too. It understands how Unity calls your code, and knows that your Update methods will be called frequently, essentially every frame. It knows they need to be optimized. The editor adds indicators to these methods, and to any time-consuming API calls made inside them, based on Unity’s best practices, such as calls to GetComponent or SendMessage. These indicators are meant to guide you, to inform you that these calls have a cost and you should be careful about using them, but it’s also important to know that using them isn’t wrong. 

For example, calling GetComponent inside Update is an expensive operation, and it is usually always best to move that call to Start or Awake, and the software can automate this. As another example, a call to SendMessage is also resource-intensive, and requires significant work to fix; Rider doesn’t show this as a warning, but uses the indicator to show that this method is a good target for profiling.

Update methods are marked as a performance critical context, enabling more inspections and highlights to avoid known expensive methods.

Rider has a built-in code profiler that can attach to the Unity Editor and provide profiling results to establish exactly what your code is doing, in the same editor you use to write your code.

Integrated code focussed profiling shows how much time is spent in each method.

JetBrains Rider is a smart C# editor for Unity scripting and offers many ways to improve your productivity, as well as the performance of your code. Watch this video to see how it works. You can check out JetBrains Rider on the Unity Asset Store, find out more details on JetBrains’ website, and keep up-to-date with the latest features on the JetBrains blog.

43 Comments

Subscribe to comments

Leave a reply

You may use these HTML tags and attributes: <a href=""> <b> <code> <pre>

  1. @Claudia L, is there a reason for Unity Technologies to turn to a non free IDE? Do you plan on discarding Visual Studio in the near future?

  2. Rider is on a class of its own to be completely honest. I have yet to see an IDE that match 10% of the functionality Rider offers. It is by far the most feature rich IDE and one of the fastests if not THE fastest.

  3. DIEGO GABRIEL RUIZ

    August 21, 2019 at 9:52 pm Reply

    Rider is the best IDE for C# / Unity I’ve ever used on Mac. Better than Visual Studio, VS Code, MonoDevelop, Xamarin. Great integration.

  4. The comments comparing Rider to VS Code are not very helpful as it is the traditional debate of IDE vs Text Editor. Rider is a good IDE (and a no-brainer on Mac), but of course if you love text editors you will probably dislike Rider as it is particularly “bloated” with lots of features, warnings, and so on, but it is what some people are looking for.

  5. Meh.

    OK, I tried using it, on both PC and Mac, for a couple of weeks. No problem paying if it was improving my workflow, but then left at end of trial. As a solo developer, I don’t understand why it’s better than VSCode. Maybe it’s just my use case. It seemed to have a lot more features. And they seemed to make it a better code editing environment for a solo unity developer in much the same way as Microsoft Word would be a better environment to compose text messages.

    The code hinting would be nice if you were on a larger team and trying to enforce more coding style consistency, but it’s unbelievably chatty. If I cared about half of its software engineering and performance suggestions, I wouldn’t be using Unity in the first place. I mean, with Monobehaviour you live in a world where parameterized constructors don’t exist, so my bar for “potential coding style issues” that should be flagged has moved somewhat from the past.

    The debugger would be nice if anyone still believed in coding workflow based around stepping in debuggers. (Remember when stepping through every line of code you wrote was standard practice?)

    Auto-decompilation is good (hello, Unity UI), but not something I use often enough to influence my choice of editor.

    The overall IDE felt, I dunno. Like some massive Java environment tweaked to fit Unity, whereas VSCode feels like a text editor beefed up into a coding environment.

    It’s definitely better than VS/rebranded-Monodevelop on a Mac, but who uses that?

  6. jetbrains can’t even do a proper scrollmap bar like visual studio..bug tracker for it has been around for yonks.. .let alone improve tab support options.. no way I’d subscribe such little done to improve things in those areas… company has to buy an ultimate license because of some features for other things that are locked behind it, but that’s java, for c# I’d just use visual studio… much better, actual decent scrollmap view and debugging… shame vscode is still a bit rubbish for c# really

    1. Matt Ellis (JetBrains)

      August 22, 2019 at 10:48 am Reply

      Have you tried the CodeGlance plugin? That adds a nice scrollbar minimap in the text editor.

      And can you provide some more details about what you mean by “tab support”?

  7. I use Rider daily at work. It is very heavy app consuming a lot of PC resources. Debugging on devices may be pain. Sometimes i need to File->Clean cache and restart because of glitches. Some hints it gives are false positives. Still, it is better than VS it terms of code writing, navigation and refactoring, all other features are the same. Ultimately Rider is IDEA IDE + ReSharper VS plugin. The company developing it MAY release that said plugin for Visual Studio Code but they DO NOT WANT to because Rider sales will go definitely down. That’s why I won’t by rider licence for home use and stick with other code editor.

    1. Matt Ellis (JetBrains)

      August 22, 2019 at 10:43 am Reply

      There are no plans to release ReSharper for Visual Studio Code – the extensibility support in VSCode isn’t flexible enough to handle everything that ReSharper can do. With Rider, JetBrains maintains the entire IDE, and can introduce new and truly useful features such as Local History in a way that is just not possible as a plugin.

      I’d be very interested to hear some details about glitches or reasons for cleaning caches. And we’d love to fix any false positives. Please can you raise an issue with some details? https://youtrack.jetbrains.com/newIssue?project=RIDER

  8. AnomalousUnderdog

    August 15, 2019 at 1:07 am Reply

    I used to run Rider (and my Unity project) on a laptop with a traditional hard drive. It was slow. I’ve since upgraded to a desktop with an NVMe SSD, and realized it was my hard drive that was holding it back. So anyone saying it’s slow, you might want to check your hardware.

  9. After VS, Rider has a lot of features but perhaps a step too far – I find myself trying to work out how to turn off half the warnings, underlines, usage statistics, param name hints (?!) etc. It is too busy out of the box, but no doubt is closer to Unity with the work gone into that side.

    1. It is remarkably easy to turn off any feature that annoys you via the Alt-Enter menu. Some are obnoxious to many users, but disabling any of them is simple.

  10. Im not actually sure spotlights for partners on your blog works very well for the partners, as in there always seems to be about 50-50 split of positive and negative comments on these posts and I feel it may actually do more harm than good sometimes, expecially for the image of unity in peoples minds.

    People just dont like being advertised to if they can help it.

    I appreciate that you have partnerships and helping feature partners is important, but as you can see people are reading it as “extra costs for unity” which means people are getting a bad image of unity, at the cost of putting a brief spotlight on a partner.

    Everytime you do one of these people get impression that there are additional costs to using unity in the most efficient way and that without these tools they cant get 100% from unity, which ofcourse is an incorrect assessment but it does not help the fact that it is what people are taking away from this.

    Probably best to weigh up whether increasing sales of rider at cost of losing some potential unity plus or pro converts down the line is actually worthit.

    Anyway, anyone reading this should know that Rider is amazing, I hate being advertised to as well but this is the truth: I really believe this tool is better than VS, cheaper, and necessary for ANY c# development, not just unity. Itll save you time and make you code better, and even teach you things along the way.

  11. Those Russian guys make the best IDEs. Used their PyCharm for my python scripting for years and have never seen anything better.
    Rider is the best expierence I ever had with C# and Unity Integration is awesome!

  12. Is it better than Code VisualStudio?

    1. They have different strengths. VS Code is lightweight (at least as far as startup time and features go). It’s simple and fast. Rider is more heavy-duty, slower to start up, but it also has a ton of features. Where Rider really wins is the code completion, quick fixes and automatic refactoring. And they really went all-in with Unity support over the last 1-2 years.

  13. Cannot recommend another product as much as I do Rider. It’s everything one could want in an IDE

  14. Does the built-in code profiler that can be attached to the Unity Editor slow down the editor as much as the deep profiling in Unity? How good are the time measurements?
    Because of the performance hit of deep profiling in Unity, and how it hits (calls have a somewhat constant cost for the profiler, and because there isn’t any inlining during the profiling, It’s easy that a function is shown to be slower than another one when in fact it isn’t) deep profiling timings can’t be trusted to perform comparisons, and sometimes don’t show what is slow or not, so I want to know if the profiler used by Jetbrains suffer from the same problem, or it uses, for example, sampling profiling.

    Thank you.

    1. Matt Ellis (JetBrains)

      August 15, 2019 at 10:51 pm Reply

      We haven’t done any specific measurements, but it should have less impact on the Editor. Rider’s profiler is a sampling profiler that also collects events from the Mono runtime (exceptions, contentions, allocations, GC and so on). It doesn’t look at frames or rendering or other Unity specific stuff, but only at the performance of your C# code.

  15. I’m on Mac and used to rely on Visual Studio in a parallels VM, mainly so I could use resharper. About 6 months ago I switched to Rider on Mac and it’s been great. After using resharper the switch was pretty much seamless and everything runs much quicker.

    It’s not free, but if you’re a professional developer $139 isn’t much if it’s your IDE you’re using every day. Discounts are available for startups.

    Support has been pretty good when I reported a minor bug to them, and unity debugging integration works very smoothly.

    All in all I wouldn’t go back!

  16. Google suggested this post on my Chrome, got interested and now regret it. Can’t say in name of Mac users who are questionable IT anyway, but VS has no drawbacks. GL to JetBrains guys, but no thanks. Plus, as being really honest evangelist of Unity and seeing ‘professional tools’ shit pricing rise up, I am deeply starting to regret my attitude.

  17. The amount of essential features that are needed for efficient Unity development, that are not part of Unity itself and need to be purchased is stacking up. Unity is really behind and needs to catch up with essential features! Odin, Behavior Trees, advanced Terrain System, GPU Instancing and many more and now the IDE?! Yes, Unity is slowly catching up with TextMeshPro and ProBuilder, but competitors are way ahead! Unity is a very big indie engine and it shouldn’t require to spend multiple hundred of Euros for basic functionality like a IDE that is properly integrated.

    Yes, I know VS Code is free and I’m using it, but there are issues that requires restarting VS Code till it recognized all Classes and it is too slow in my opinion. Features like this in those GIFs from JetBrains Rider are not available in VS Code and Unity should prioritize getting such effective time savers out there for anyone for free.

    1. Except that nothing you have mentioned is required for hobbyist unity development. Most proffesionals wont be using those asset store tools you mentioned, in fact most professionals dont use the asset store except for dire circumstances, and even then try to decouple themselves from bought assets the moment they are able.

      I cant remember the last time in any studio I worked that we used the asset store for things like anything you mentioned.

      The only one that comes close to being ok to buy in a professional setting is Odin, but lets be honest it is not hard to write a custom inspector, editor window or property drawer not is it difficult to make these things generic so you can reuse said code once built. Most professional studios have this sort of toolchain already.

      So lets make a distinction, none of this is required, it will just make life easier and save time.

      All professional software has extensions and plugins including all autodesk, adobe, even visual studio.

      Prior to rider many studios bought resharper which is basically rider for VS, which was far more expensive.

      It is not down to a game engine to provide an IDE, very few do and those that do are awful with most users still resorting to professional IDEs. You have a free IDE, and as you said there are issues. If you dont like those issues, then pay for a professional IDE like the rest of us because you get what you pay for.

      At the end of the day if your a professional then spending money on advanced tools is not a probem. If you are not a professional, then I am not sure why you expect to get these sorts of tools for free when the paying indie business community doesnt.

      Also I pay for a personal rider license at home alongside my work license and lets be honest, £10 a month is not a lot of money.

  18. VScode is awesome and is free.

  19. After reading a tweet by Kirill from JetBrains about two weeks ago, I gave Rider a try and have to say that I like everything about both the product and the company that’s building that product. Of course, moving from one IDE that is pretty good … and free (Visual Studio Community Edition), to another one that requires a subscription is not a decision easily made – but IMHO, the subscription model they have at JetBrains is really fair (also includes a perpetual fallback license if you stop the subscription after one year, and subscription prices go down after one and two years).

    I also wrote a little article about my experiences during those first two weeks: https://medium.com/@jashan/using-jetbrains-rider-with-unity-ab6c4c33c3e?source=friends_link&sk=8acb66b45fd8f98b5b4aa2226a8f70d8

    In a nutshell: There are a few things that I will miss from Visual Studio – but even though I never liked ReSharper, there are already more things from Rider that I would miss in Visual Studio if I went back.

    Also, I haven’t noticed the performance issues that some of the other commenters talked about – but I do have a 9900K and fast SSD, so that might make the difference. Also, Rider does start up very slowly, and analyzes the Unity project the first time it starts up. But that’s not an issue when actually working with Unity / Rider (unlike Visual Studio which has been causing a lot of problems while working with it and Unity for me).

    That’s on Windows 10, though. I’m only using my Mac for Mail now, and for doing iOS builds ;-)

  20. I echo Mahdi comments about CPU usage. I _wanted_ to like and use Rider but it felt like such a hog that after the trial I went back to vscode. Np shelling out the money if it worked better but I actually prefer the free option of vscode for general coding – so much more responsive.

    Also there were numerous UX issues on mac. One of many examples is the scroll speed, it’s sluggish and too slow by default. There is no option to change it. I ended up having to install plugins… the first didn’t work and the second only worked when a key was held down. I’m not willing to invest the time to learn how to and write my own plugin for such a basic thing when vscode is fine.

    I ended up occasionally launching my trial Rider to debug and step through something in Unity (which it does excellently compared to vscode which breaks constantly in the debugger with DOTs) or as a static analyser to launch once in a while and review code with.

    It’s too heavy weight and sluggish for quick typing/coding away on a MacBook Pro though.

    I actually kept a log of usage notes which I will now send to Rider as feedback…

    1. Sounds like you need a faster computer…. Ive been a VS code user for the past 2 years and ive been on Rider for one month now, and besides loading time, its just as quick and has alot less problems. Its ability to rename a script and traverse all scenes and prefabs updating them is worth the money alone if your a full time Unity developer.

    2. Matt Ellis (JetBrains)

      August 15, 2019 at 3:57 pm Reply

      As I replied to Mahdi below, there is some processing that happens the first time a project is loaded, but once this completes, it shouldn’t be causing CPU issues. If you’re still seeing them, please let us know at support@jetbrains.com, as we definitely want to address any performance issues.

    3. Matt Ellis (JetBrains)

      August 15, 2019 at 4:03 pm Reply

      As I mentioned in my reply to Mahdi, there are a couple of processes that run the first time you open a project, but once these complete, there shouldn’t be any other CPU issues. We don’t have any reports of sluggish scrolling, please could you get in touch with support@jetbrains.com to provide some more details? This isn’t the performance we see when using the tool ourselves, so we’d very much like to understand what’s happening here.

    4. Matt Ellis (JetBrains)

      August 15, 2019 at 4:04 pm Reply

      Ah, the old “looks like you’ve just lost your reply, but really it’s just delayed” double post :)

  21. Looks like it has a couple good features. $139 seemed a bit steep but I was considering giving it a shot, but then I saw $139 per year? No thanks. Subscription model is quickly becoming a cancer in the software industry.

    1. It’s actually $139 for the *first* year. Then:
      €111.00/2nd year
      €83.00/3rd year onwards

      Plus, after one year you get a perpetual fallback license … and depending on what you do, there are also free and discounted options.

  22. JetBrains have a licensing policy where if you buy an annual subscription and don’t interrupt the license, you get consecutive year discounts. This makes Rider €83.00 / year from the 3rd year onwards. Not sure if the unity asset version of rider has the same advantage. See the license prices here: https://www.jetbrains.com/store/?fromNavMenu#personal?billing=yearly

    There should be no difference between the official rider and the asset store rider. I have a jetbrains license for all products and the Unity plugin works just like described in the article.

    1. Matt Ellis (JetBrains)

      August 15, 2019 at 3:32 pm Reply

      Hi Alex. You’re correct, there’s no difference between getting Rider from the Asset Store or through the JetBrains site. Yearly discounts apply just the same.

  23. I watched the 28 minutes “Faster C# Scripting in Unity with JetBrains Rider! – Overview” video on your youtube channel. There is some pretty cool stuff in Rider, many useful features, I can see me having fun with it.

    Unfortunately, I wasn’t able to find a “Community” or “Free” edition. Is there really no free Rider version or is my google-fu just not on point?

    1. Nope, there is no community license. But they can give you free version of the Rider if your are creating an open-source project. Guys from UnityStation, for example, had Rider license for free.

    2. They do have a few free options and discounts, if you look under “Special Offers”: https://www.jetbrains.com/rider/buy/#discounts?billing=yearly

  24. Unpaid shill time:
    Been using Rider for Unity dev for over 2 years now on macOS — it’s a phenomenal improvement over the free options. Obviously, a paid version SHOULD be better, but this one is well worth it if you or your company can afford it. In my case, it has paid for itself in productivity gains.

    Also worth noting that they treat Unity support as a primary feature — the 3 or so bugs I’ve filed has been responded to within 24 hours and then ultimately fixed.

  25. I started using Rider 2 months ago and It’s the best ide for Unity I’ve ever tried. It has tons of features customized just for Unity editor, it inspects some of unity settings and suggets improvements, scans assets for events that are calling methods and shows that in the ide, when you use color in code it visually shows the color and lots of other utilities like that, it is really amazing and you should try it.

  26. Looks awesome but expensive :(

  27. Looks really nice. Unfortunately the demo version that I tried recently had huge CPU usage in the background while I was working and would make the whole system (8700K) unresponsive at some point. Maybe I’ll give it another chance if they do some optimizations to make the situation a little bit better.

    1. Matt Ellis (JetBrains)

      August 15, 2019 at 3:53 pm Reply

      Hi Mahdi. This CPU usage is likely initial indexing and processing, which can take a little while for larger projects, but will settle down once complete. There are actually two processes happening by default – an initial index is built for navigation and caching some useful data (Rider 2019.2 will show the values assigned to serialised fields in your prefabs and scenes), and then a more detailed solution wide analysis.

      The initial index shouldn’t take too long to complete, even for large projects. It usually completes in seconds, but should be no more than a minute or so for a massive project. This index is created once and stored to disk, which makes opening the project much faster in future.

      The solution wide analysis is a deeper scan of your files, which finds more issues than just analysing files individually, and allows seeing all errors in a project without having to compile it first. This initial scan can take a while to complete on larger projects, but once it is complete, it is kept up to date incrementally, which is much more lightweight, and won’t visibly affect CPU. This process can also be disabled from the progress icon in the status bar.

      Normal usage shouldn’t cause excessive CPU usage once these initial processes are complete. If you’re still seeing issues, please let us know (support@jetbrains.com), as we’d love to address this – Rider 2019.2, which was just released had some significant performance improvements scanning Unity prefabs and scenes, for example.