Unity Support

Compatible with ReSharper
Feb 05, 2019
29 516
Adds support for the Unity engine. - Code completion of event function declarations in a class. - Use Generate Code to create event functions, with parameters, or start typing for automatic completion. - Highlights Unity event functions and serializable fields and marks as implicitly used by Unity. - Supports Unity API 5.0 - 2018.3, plus undocumented functions. - Inspections, Quick Fixes and Context Actions for Unity specific issues, with documented explanations. - Performance indicators to avoid known code patterns that affect performance. - Parse class and method usage from scene, prefab and assets. - Support for ShaderLab and Assembly Definition files. - Automatically connect debugger to Unity editor. - Lists and debugs external players. - Extra Unity data in debugger views. - Play/pause/step directly from Rider. - View Unity console in Rider, with parsed stack traces and text filter. - Run Unity editor tests directly from Rider. - Unity Explorer to view project as shown in Unity's Assets view, with Packages. - Navigate to external Unity documentation. - Correctly updates .meta files. - Code completion, rename and find usages for "magic strings" in method calls. - Automatically adds FormerlySerializedAs> attribute when renaming fields. - Automatically sets Unity projects to C# 4 or C# 6. No more suggestions for features that won't compile! - Highlights UnityEngine.Color and Color32. Edit via colour palette quick fix. - Unity specific file and live templates. - And much more!

Download plugin

Recent change notes

- Updated to ReSharper 2018.3 - Add parsing of method and class usage from scene, prefab and asset files - Automatically disable YAML parsing if the project is too large - Add "Unity event handler" gutter icon to method and property setters registered to a Unity event via the Unity editor - Correctly mark event handlers as in use - Unity files appear in Find Usages for event handlers and classes deriving from MonoBehaviour, grouped by type, component and object - Disable rename for event handler methods to prevent breaking the registration in scene files - Add option to hide gutter icons - Add performance indicators for performance critical code contexts - Add performance indicator for null comparison against Unity object - Add performance indicator for AddComponent as an expensive method invocation - Add performance indicator for Find methods - Add performance indicator for GetComponent methods - Add performance indicator for indirect invocation of expensive methods - Add inspection to avoid string based method invocation - Add inspection and Quick Fix to avoid repeat access of properties that make native calls - Add inspection and Quick Fix to avoid instantiating an object and setting parent transform immediately after - Add inspection and Quick Fix to use static int field to access graphics properties instead of string access - Add inspection and Quick Fix to use non-allocating physics functions - Add Context Action to move expensive expression to Start, Awake or outside of loop - Add inspection and Quick Fix to avoid string based versions of GetComponent, AddComponent and ScriptableObject.CreateInstance - Add inspection and Quick Fix for correct method signature for DrawGizmo attribute - Add inspection for calling base.OnGUI in PropertyDrawer derived class (thanks @vinhui!) - Add suspicious comparison warning if comparing two Unity objects which don't have a common subtype - Add "Why is ReSharper/Rider suggesting this?" for most new inspections - Add code completion, rename and find usages to string literal component and scriptable object type names - Add file template for [InitializeOnLoad] class - Update API to Unity 2018.3.0b9 - Remove duplicate event functions from code completion - Improve redundant event function warnings - Stop Generate Code dialog selecting all event functions by default when called from the gutter icon or Code Vision marker - Prevent Respeller running on .asmdef files - Changed unresolved symbol error in `GetComponent`, `AddComponent` and `ScriptableObject.CreateInstance` to a configurable warning (RIDER-23429, #1003) - Fix C# language level override incorrectly handling latest - Fix to stop generating readonly modifier when converting auto property to property with serialised backing field - Fix bug in ShaderLab parsing Blend operations - Fix exception after renaming type See CHANGELOG.md in the project repo for more details and history.