JetBrains / resharper-unity

Unity support for both ReSharper and Rider
Apache License 2.0
1.21k stars 134 forks source link
hacktoberfest jetbrains plugin resharper resharper-plugin rider unity unity-editor

official JetBrains project Build status Build Status Join the chat at https://gitter.im/JetBrains/resharper-unity

Unity Support for ReSharper and Rider

The "Unity Support" plugin adds specific functionality for the Unity game engine to ReSharper and Rider.

Rider is JetBrains' cross platform .NET IDE, based on ReSharper and the IntelliJ Platform. It can be used on Windows, Mac and Linux and this plugin can replace the default MonoDevelop editor with an IDE providing rich code navigation, inspections and refactorings.

The plugin adds code completion and generation of Unity event functions, inspections for common errors, quick fixes, support for .shader files, automatic handling of .meta files and more. The Rider plugin includes additional support for attaching the debugger to the Editor instance and a Unity Editor plugin to improve integration.

Installation 2019.2+ with Rider package

In Unity choose Rider as External Editor in Unity settings.

For uninstall choose a different External Editor in Unity settings.

Installation 2019.1-

This plugin comes bundled with Rider, and manual installation is not required. However, it is necessary to configure Unity to use Rider as the external script editor:

This only needs to be done once, and can also be done manually, via the Unity Editor's External Editor Preference pane.

Double clicking on C# scripts and .shader files will now automatically open Rider, load the solution and navigate to the file. More file types can be associated with Rider by editing Additional extensions in the Edit → Project Settings → Editor settings pane.

The solution can be loaded directly with the Assets → Open C# Project menu item.

Note that Rider will add an Assets → Open C# Project in Rider menu item for older versions of Unity. This is because prior to 2017.1, the Unity Editor doesn't recognise Rider as an editor that can load C# solutions, and will also launch MonoDevelop. Other than not launching MonoDevelop, these menu items are identical.

Rider will install the Unity Editor plugin in each Unity project it opens. See below for more details.

For uninstall choose a different external Editor in Unity settings, delete Editor plugin from your project.

ReSharper plugin installation

The ReSharper plugin is installed via the ReSharper → Extension Manager. Simply search for "Unity Support".

Features

Unity API knowledge:

Event functions:

Coroutines and invokable methods:

Networking:

Inspections and Quick Fixes:

ShaderLab support:

Initial support for ShaderLab syntax in .shader files, with limited support for Cg/HLSL blocks.

ShaderLab:

Cg/HLSL (Rider only):

External Annotations:

See the ReSharper help for more details on External Annotations.

Project and File Templates:

Other:

Rider specific functionality

The plugin also adds some functionality just for Rider:

Please suggest new features in the issues!

Unity Editor plugin

For Unity 2019.2+ with Rider package Editor plugin is loaded directly from Rider installation.

By default, when Rider opens a Unity project, it will automatically install a Unity Editor plugin, and keep it up to date with new versions. This behaviour can be disabled in Rider's Preferences → Languages & Frameworks → Unity Engine.

This plugin does the following:

Rider will automatically add this plugin to all Unity projects that are opened. It will initially install the plugin to Assets/Plugins/Editor/JetBrains/JetBrains.Rider.Unity.Editor.Plugin.Repacked.dll, but will look for the file by name if it is moved.

Supported Unity versions: 5.0+

Roadmap

Check the milestones for plans, and please raise an issue with feature requests or bugs.