Rider 2022.1 includes full Unreal Engine support, which converts Rider into a full-fledged IDE for game development, no matter what game engine you use.
In v2022.1, Rider also supports a Beta version of the long-awaited remote development workflow. It allows you to connect to a remote machine running Rider’s backend from anywhere in the world.
In addition to these new features, this release also brings Docker Fast mode, updates to the main toolbar, and full-text search throughout the solution right from the Search Everywhere pop-up.
Rider is already widely used in the Unity development world, and it now comes bundled with Unreal Engine support. This makes Rider our main IDE for game developers of all sorts.
Rider is ready for Unreal Engine development on all three major platforms:
Windows, Linux, and macOS. It works natively with the .uproject
model, saving you time on intermediate project model generation.
The UnrealLink plugin enables advanced integration between Rider and Epic Games’ Unreal Editor. The plugin:
Rider is powered by ReSharper C++, which offers cutting-edge native support for modern C++. Benefit from its 1300+ code inspections, 290+ quick-fixes, solution-wide refactorings, and code generation abilities. Whether you’re working with the C++ code of your game, Unreal Engine code, or shaders, Rider helps you instantly navigate through it and explains it with inlay hints.
Unreal Engine reflection macros and reflection specifiers are more than plain-text substitutions for Rider. Autocompletion and quick documentation are knowledgeable about these entities and help you code effectively. Similarly, Unreal Engine remote procedure calls are more than regular functions, and Rider matches them during code navigation and code generation.
Rider is integrated with UnrealHeaderTool and shows the same errors and warnings that you would normally see at compile time right in the editor while you are editing your code. The process has been optimized to have minimal impact on overall performance.
Rider detects Unreal Engine projects and automatically uses the Unreal Engine naming convention rules when generating and analyzing code in these projects.
The LLDB-based debugger with Unreal Engine Natvis support helps you dig up any issues in your game’s code or in the engine. You can set line, symbol, data, and conditional breakpoints. You can also step through the code, evaluate expressions, and even see the variable values right in the Rider editor during the debug session.
Rider comes with out-of-the-box support for the Unreal Engine Automation Testing framework. Launch tests from the Unit Test tool window or directly from the editor, review their results, and rerun failed, all, or specific tests.
You can use Rider for general C++ development on Windows – just open an
.sln
file as a project in Rider. On Linux and macOS, Rider is limited
to the .uproject
model for C++ projects. If you are interested in how
Rider, CLion, and ReSharper C++ differ regarding general C++ and Unreal Engine
development, please take a look at our
FAQ.
Rider now supports a Beta version of our remote development workflow. It allows you to connect to a remote machine running Rider’s backend from anywhere in the world. All the processing happens on that powerful remote machine, and you can work on your project as seamlessly as if it were on your local machine. This functionality can be initiated from Rider’s Welcome screen or from a new application called JetBrains Gateway, which is available in the Toolbox App.
What’s more, you can create, prebuild, share, reproduce, hibernate, and manage dev environments with JetBrains Space – a unified platform for the entire software development pipeline. Check out this blog post for more details.
The new main toolbar looks incredible, and people love it. But there was no way to add custom widgets or rearrange existing ones, which many have complained about. You asked, and we delivered! You can now add new elements to both the left and right sides of the toolbar, as well as rearrange and remove widgets.
There are two ways to open the toolbar customization page:
If you use the new main toolbar, which we released in Rider 2021.3, you have probably noticed that there is no way to start profiling with dotTrace right away. In this release, we addressed that inconvenience.
The Profile with Timeline, Profile with..., and Profile running process... options are now available in the Run/Debug widget’s More menu (the ‘kebab’ icon).
Fast mode has come to Docker and Docker-Compose solutions, which should significantly reduce build times during development!
Building your projects within a container can be significantly slower than
building the same project on your local machine. With Fast mode
enabled, Rider will first create the base stage of your Docker image
using docker build
, but then it will build the project on your host
machine, which is significantly faster. Finally, the project artifacts are
mounted to the Docker container as a volume. This mode is for Debug
configurations only, and projects built under Release will be built
using the steps found in your Dockerfile
.
You can disable the Fast mode for any particular run configuration via Edit Run Configuration | Build | Modify options | Don’t use Docker fast debug.
Search Everywhere is the main entry point when you are looking for
something in your solution, IDE settings, or Git history. Starting from
Rider 2022.1, we’ve added the new Text tab, which shows all text occurrences
in the solution that match the string while you are typing it. It runs
full-text search through all code and text files, including .cs
,
.fs
, .cshtml
, .json
, .js
, .css
,
.editorconfig
, .cvs
, .dockerfile
, .md
, and
.txt
files.
As usual, all these results appear on the All tab as well.
However, you can narrow the scope of files where you want to run this search:
This text search in Search Everywhere does not affect the existing Find in Files feature. You can use both of them.
We’ve replaced the Event Log instanсe with a new Notifications tool window to more clearly highlight important and helpful notifications from the IDE. With this update, we aim to make notifications more visible and keep them better organized in a dedicated tool window that you can access from the navigation bar.
All notifications that appear in the Notifications tool window are sorted into two types: Suggestions and Timeline.
The Suggestions section presents notifications that are considered useful or helpful in most use cases. Additionally, Suggestions can be important or regular. If you get an important one, you’ll see a red circle on the bell icon on the navigation bar. Regular suggestions are indicated by a blue circle on the bell icon.
In the past, it was difficult to determine whether the content in the text editor was zoomed in or out. There was no visible indicator that explicitly showed the current zoom status.
In this release, we’ve introduced the Zoom widget, which appears at the bottom of the current text editor. It shows you the actual font size of the editor and helps you reset it to the default.
From this widget, you can navigate directly to Preferences/Settings, where you can adjust whether zooming should affect all editors or only the active one.
We’ve added a new Visual Studio 2022 keymap that resolves all shortcut differences between the current Visual Studio keymap and that of the Visual Studio IDE (e.g. Alt+Up/Down) in favor of the latter’s shortcuts. We recommend it for those who are accustomed to Visual Studio versions earlier than 2022 without ReSharper.
We continue to improve support for C# 10, particularly global usings. We’ve implemented two new refactorings that are also available as context actions.
Extract Global Using can help you to introduce the concept of global
usings in your project. You can invoke it on a regular using
directive, and Rider will suggest extracting it to a designated
GlobalUsings.cs
file (if there’s no such file in your project
yet, it will be created). The regular using
that is no longer
needed will be removed from the files in your project.
If you decide to refactor a global using
into a regular
using
, Inline Global Using refactoring can help here,
too. When called on a global using
, it removes it from the
GlobalUsings.cs
and adds the corresponding using
statement to the files in your project where required.
The global using feature is supported in Find Usages and in code analysis for extension methods.
We’ve looked into the approaching C# 11 and supported generic attributes.
[MemberNotNull]
and [MemberNotNullWhen]
annotations are now supported in projects that don't use nullable
reference types.
Here are some of the most notable features and fixes we’ve made for Razor and Blazor:
[EditorRequired]
attribute
from .NET 6. The corresponding inspection and quick-fix are also available
if you try to use a Blazor component without specifying the required
parameters.
.razor
files with Blazor components.
It no longer removes all @using
declarations.
include
directives.
InternalVisibleTo
attributes
defined in F# projects, so internal symbols can be accessed without
resulting in errors in the IDE.
We’ve made a number of improvements for adding web references to .NET projects. Let’s have a look at the most notable ones:
.wsdl
files using the file path
instead of the URL in the Add Web Reference dialog.
net.tcp
and net.pipe
URI prefixes are now supported.
We continue to improve our Endpoints support and Endpoints Viewer. The viewer is now also aware of and collects endpoints for ASP.NET Core 6 minimal API routing and convention-based routing. This means that you can explore and navigate to these endpoints and use smart code completion, in addition to the features that were already available.
Rider 2022.1 comes with several improvements for Vue 3. If you define
components as global, the IDE will now recognize them in your .vue
files. Rider should also properly support the createApp
syntax.
It will correctly match applications created using createApp
with their related elements. This version also includes support for Nuxt 3,
a new version of a popular Vue framework.
Rider’s fantastic support for Unity continues in 2022.1, with some new features, some fixes and performance improvements, and a lot of work under the hood.
We’re also announcing RiderFlow – a new scenery tool for Unity. This is a free plugin for the Unity editor that is designed to help level designers, artists, coders, and the rest of the creative team easily create and manage scenes. Navigate quickly, find game objects and assets, visually highlight usages of assets in a scene, and even refactor your scene to quickly and easily replace the objects in it. Find out more on the RiderFlow page!
Rider will now automatically update your .asmdef
file whenever you add
or remove a reference to a project. If you use a type from another project, Rider
will add the reference to the .asmdef
file and import the type.
Rider now supports .asmref
Assembly Definition Reference files, as well as
.asmdef
files. You get syntax highlighting, schema validation and completion.
Ctrl+Click on the reference name will navigate to the referenced
.asmdef
file, and .asmdef
files will show up in Find Usages.
Each project gets a new default run configuration for running the Unity editor in bulk mode, which is perfect for running unit tests and saving the results in the Logs folder.
Now that Unity supports newer versions of C#, Rider has expanded its highlighting of Unity’s
Color
types to include target-typed new
expressions. Quickly get a preview of
the color you’ve declared, and use Alt+Enter to choose a new value.
Rider 2022.1 improves load times for very large Unity projects, especially with slower disks or file systems. While these improvements can be significant for massive projects, they’re less noticeable for smaller ones, but everyone will benefit from reduced memory usage during loading.
This release includes other targeted performance fixes. We’ve fixed issues such as sluggish behavior when typing with the Unity Explorer tool window open, and the slow down when displaying long log entries in the Unity tool window.
There are of course, lots of other small fixes and improvements, such as inspections
to help you get the right method signature for [MenuItem]
methods, a fix for
finding the location of installed documentation on Linux, and a new notification to
make sure the Rider package is up to date in your project. As always, the full
details are listed in
the changelog.
Rider determines the version of the Azure Functions Core Tools to use based on your
project’s AzureFunctionsVersion
property.
If you need to install a specific version of the Azure Functions Core
Tools, you can
use Chocolatey
, Brew
, or npm
and point Rider to the correct path
in Preferences / Settings | Tools | Azure | Functions.
By default, Rider manages the Azure Functions Core Tools for you. It downloads the required tools based on your project, and keeps them up to date automatically.
If a Markdown file contains instructions with commands that you need to execute in your terminal, you can run those commands directly from the Markdown file using the run icons in the gutter.
We’ve added new options to the floating toolbar that will appear on text selection when you edit Markdown files. Using this toolbar, you can now quickly select header styles and create lists. You can customize this toolbar with the options you need. To do so, go to Preferences / Settings | Appearance & Behavior | Menus and Toolbars | Markdown Editor Floating Toolbar.
We’ve also added a new Copy code snippet action to Markdown blocks so you can easily copy contents to the clipboard.
We’ve implemented an option to mark code as “not coverable”. You can use it
to exclude code that doesn’t need to be tested from the coverage process and
get clearer snapshots. To use this feature, install the
JetBrains.dotCover.MSBuild NuGet package
and add the comments // dotcover disable/enable
around the code.
For more details, please check out
this ticket.
We’ve moved the Preview Diff icon from the Commit toolbar to the menu, which is accessible by clicking on the Cog icon, and renamed it to Show Diff Preview on Single Click. Here you can specify the behavior you want to see when you click on a file in the Changes tree: the file can either be selected, or opened for diff preview.
We’ve improved the functionality of Annotate with Git Blame to make it easier to investigate introduced changes. Rider highlights the difference in lines right in the editor when you hover over an annotation, and when you click on it, the IDE opens the Git Log tool window.
The Commit Details pane now includes information about GPG signatures and build status. Previously, this data was shown only as a column in the Git log.
The new UI for the Git File History tool window is now independent from the indexing process. The data is represented with a new interface, even if the Log index is off.
Previously, for a file with an unindexed history, Rider would display a history view that was relatively slow and missing features.
Everyone knows that naming is hard. From time to time, you may even want to change the name of an entire solution. Rider can help you here. Call the context menu for the solution node in the Solution Explorer tool window, select Edit | Rename, and enter the new name for your solution.
We’ve added the SDK option as a dropdown list on the New Solution/Project dialog. It can help you create a project for older .NET SDK versions after installing the new one.
The Run Static Method action works for projects that target .NET and .NET Core. You can execute any static method right from the code editor by clicking the green “run” triangle on the gutter margin.
We’ve introduced several improvements for our support for Roslyn analyzers and source generators:
We’ve reorganized all the items in the Alt+Enter menu related to Code Cleanup and Formatting. The Format selection, Cleanup selection, and Apply syntax style were combined into one Reformat and Cleanup item to provide a single entry point.
In addition to these changes, the syntax style settings are now available in the Configure code style and Autodetect code style settings actions. The Preview code style panel shows changes in syntax style as well.
We’ve updated the package icon selector in the NuGet project properties page. It now uses new elements instead of obsolete ones.