Unity support:
Rider vs. Visual Studio vs. Visual Studio for Mac

This document illustrates some points where Unity framework support differs in JetBrains Rider, Microsoft Visual Studio, and Microsoft Visual Studio for Mac. Note that this document is an addition to the main comparison table, which lists general features of the products.

As the compared products are being actively developed and their functionality changes on a regular basis, we consider this comparison valid for specific releases that are indicated in the header of the comparison table.

If you discover any missing or inaccurate items in this table, please post a comment below to let us know, and we'll update the table as soon as possible.

Microsoft Visual Studio 2019 16.2.3
Microsoft Visual Studio 2019 for Mac 8.2.5
JetBrains Rider 2019.2

General

Built in support for Unity Built in support for Unity Built in support for Unity
Support for .meta files - creation, deletion, rename No matching functionality Support for .meta files - creation, deletion, rename
Unity Project Explorer tool window shows file system view of Assets and Packages folders Solution explorer includes Unity project view, showing file system view of Assets and Packages folders Unity Explorer tool window shows Assets folder, and lists Packages, including local file packages, git packages, and read only packages and modules
ShaderLab file support ShaderLab file support Support for declared properties in ShaderLab files
Auto refresh assets (background compile) No matching functionality Auto refresh assets (background compile)
No matching functionality No matching functionality Show Unity Console log with parsed stack traces - click to navigate
No matching functionality No matching functionality Control play mode: enter play mode, pause, and step from the toolbar

Navigation and search

No matching functionality No matching functionality Find usages of UnityEvent handler methods and Component classes in scenes, prefabs and assets, grouped by type, associated component and game object hierarchy
No matching functionality No matching functionality Navigate to usages of code inside Unity, highlighting game objects inside the Unity Hierarchy window
No matching functionality No matching functionality Go to Declaration and Find Usages support for coroutine names passed as string literal arguments

Coding assistance

Code completion and generation of Unity event functions Code completion and generation of Unity event functions Code completion and generation of Unity event functions
Links to installed or online Unity documentation Links to installed or online Unity documentation Links to installed or online Unity documentation
2 file templates 3 file templates 15 File and 11 Live Templates for creating Unity related files, serialised fields, logging and more
No matching functionality No matching functionality Code completion and validation for tag, layer, scene and input names
No matching functionality No matching functionality Code completion, validation and rename for coroutine names passed as string literal arguments
No matching functionality No matching functionality 10 Context Actions, including easy manipulation of Inspector related attributes for serialised fields
No matching functionality No matching functionality Summary documentation tooltips for Unity event functions

Code vision

No matching functionality No matching functionality Code Vision shows usage count of classes and methods inside Unity scenes, prefabs and assets, inside the editor, with single click to Find Usages
No matching functionality No matching functionality Code Vision shows actual values of serialised fields, from scenes, prefabs and assets, with single click to Find Usages

Code analysis

Semantic highlighting for Unity event function declarations No matching functionality Semantic highlighting for Unity Object derived classes, event functions, serialised fields and UnityEvent handlers. Highlighting is configurable: text style (e.g. bold, italic, colours), interactive gutter icons or Code Vision information
No matching functionality No matching functionality 38 Unity-related inspections, most including "Why is Rider suggesting this?" explanations
No matching functionality No matching functionality 27 Unity-specific quick-fixes
No matching functionality No matching functionality Classes, functions and serialised fields used implicitly by Unity are not marked as unused”

Performance

No matching functionality No matching functionality Highlights usage of expensive methods inside frequently called event functions, such as calling GetComponent inside Update
No matching functionality No matching functionality Inspections, quick-fixes and context actions for known performance issues
No matching functionality No matching functionality dotTrace performance profiling of Unity editor on Windows, Mac and Linux
No matching functionality No matching functionality HeapAllocation plugin will highlight memory allocations generated by the compiler due to boxing, closures, etc.

Debugging

Debugging Unity C# code out of the box Debugging Unity C# code out of the box Debugging Unity C# code out of the box
Automatically configure debugger to attach to Unity editor Automatically configure debugger to attach to Unity editor Automatically configure debugger to attach to Unity editor
Attach debugger to the editor and enter the play mode Attach debugger to the editor and enter the play mode Attach debugger to the editor and enter the play mode
Attach debugger to remote and standalone players Attach debugger to remote and standalone players Attach debugger to remote and standalone players
Debugging iOS and Android players based on IL2CPP (requires Unity 2018.2+) Debugging iOS and Android players based on IL2CPP (requires Unity 2018.2+) Debugging iOS and Android players based on IL2CPP (requires Unity 2018.2+)
Debugging iOS and Android via WiFi or USB Debugging iOS and Android via WiFi or USB Debugging iOS and Android via WiFi
Debugging DirectX 11/12 shaders Debugging DirectX 11/12 shaders No matching functionality
No matching functionality No matching functionality Android support: LogCat viewer, device explorer, profiling tools
No matching functionality No matching functionality Debugger extends certain Unity types with extra information: Scenes list all root game objects, GameObject will lists components and child game objects ECS Entity lists attached component data

Unit testing

No matching functionality No matching functionality Run and debug Unity unit tests (only edit-mode tests, play-mode tests not yet supported)
Download
Free 30-day trial