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!
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.