Dotnet logo

.NET Tools

Essential productivity kit for .NET and game developers

News Releases

Cross-platform Development for Unreal Engine With Rider, Now Also on Linux

Rider for Unreal Engine Preview is widely used by game developers around the world. More than 38,000 people are registered in the program, and we’ve received extremely positive feedback from them. Now we are finally planning to release Rider for Unreal Engine as part of our Rider IDE in 2022! This also means that, quite likely, Unreal Engine/Blueprints/C++ support will be enabled during the Rider 2022.1 EAP.

Rider for Unreal Engine is feature rich, fast, and used by many game developers for their work and personal projects on Windows and macOS, and today we have made it available on Linux!

Rider for Unreal Engine 2021.3 update

Rider for Unreal Engine on Linux

With Rider, we’ve always targeted cross-platform development, doing our best to deliver the same user experience and product benefits on all three major platforms. Unreal Engine is no exception here. We started with Rider for Unreal Engine being Windows-only and later added macOS support. Today we are happy to share the first ever Linux build of Rider for Unreal Engine. It generally works for any Linux version that meets both the Rider and Unreal Engine system requirements. For compilation, clang will be used from your Unreal Engine installation; for debugging, Rider brings the patched LLDB 13. This means, you only need to get the engine itself and install Rider to start working on Linux.

There are a few known limitations and issues, but before we move on to them, let me briefly share what Rider for Unreal Engine on Linux is capable of.

You can open a project in Rider for Unreal Engine directly via .uproject file – you don’t need to generate any extra project models like Makefiles. The project will be loaded and indexed, and then it will be ready for you to commence work. You can launch your project targets from Rider, like in the game we have here – we used a demo project from Tom Looman’s course as an example:
Rider for UE on Linux launch

You can debug your project from Rider using the bundled LLDB:
Debug on Linux
Set breakpoints, step through the code, evaluate arbitrary expressions, and inspect the values of variables, which are shown right in the code editor or in the debugger tool window.

Code assistance actions, navigation, code analysis, support for the Unreal Engine reflection mechanism and Blueprints – everything you benefit from in your Unreal Engine development on Windows and macOS is now also available on Linux. For example, you can complete UE reflection specifiers and read the built-in documentation for them in the completion pop-up:
Reflection in UE

Or search for implementations in Blueprints:
Blueprints integration

Ready to give it a try? Before you join our Rider for Unreal Engine Preview, you should consider the following known issues and limitations.

Known issues and limitations of Rider for Unreal Engine on Linux

As we mentioned above, any version of Linux that meets both the Rider and Unreal Engine system requirements is fine for running Rider for Unreal Engine. However, to make it work as smoothly as possible, we contributed a few patches to the engine itself, and some of them are still under review. We’ll share the links so that you can apply them on your own instead of having to wait for the official Unreal Engine release with them.

Unreal Engine versions:
On Linux, Rider works with Unreal Engine versions 4.26.2 and higher. For Unreal Engine 5, check out our pull request that fixes the standard header resolve in Rider by fixing the include path to Libcxx. It’s better to avoid spaces in paths to Unreal Engine.

For the debugger:

  • Apply the patch to UBT to get proper LLDB support (check out our pull request) and add this additional setting in UBT’s BuildConfiguration.xml file:
    <buildconfiguration>
      <btunedebuginfoforlldb>true</btunedebuginfoforlldb>
    </buildconfiguration>

    Or, alternatively, pass an extra flag to Clang/LLDB through the *.Target.cs file:

    bOverrideBuildEnvironment = true;
    AdditionalCompilerArguments = " -glldb ";
  • Avoid binding localhost (make sure your /etc/hosts file doesn’t contain lines like 192.168.123.45 localhost), as the debugger fails in such cases (CPP-19924).
  • Add the following lines to ~/.lldbinit to improve data visualization in the debugger:
    settings set target.inline-breakpoint-strategy always
    command script import "/Path/To/UnrealEngine/Engine/Extras/LLDBDataFormatters/UE4DataFormatters_2ByteChars.py"
  • To enable Open C++ with Rider in Unreal Editor, use the absolute path to Rider’s binary file in RiderSourceCodeAccess (our pull request).

Unit testing:

Other fixes in Rider for Unreal Engine 2021.3

Among other important enhancements:

  • Toolset:
    • Added support for the v143 toolset from Visual Studio 2022.
  • Debugger:
    • Added the Parallel Stacks view for C++ code.
    • Fixed some call stack unwinding issues and issues with breakpoints.
    • Fixed a high memory consumption issue (RIDER-69374).
    • Fixed the issue causing the debugger to get stuck on the Collecting data… step (RIDER-67715).
    • Fixed the problem causing the editor to launch slowly when Live Coding is enabled (RIDER-67539)
    • Improved the presentation of frames and threads, as well as the experience of working with minidumps.
  • Unreal Engine
    • Added support for the SparseClassDataTypes reflection specifier (RSCPP-32274).
    • Fixed issues involving red code, C++ caches randomly not being saved, and other problems.
  • Uproject model support:
    • Added Unreal project files (.Build.cs and others) to the uproject solution explorer by default. You can hide them using the Show Project Files setting in the context menu (RIDER-68219).
    • When using Perforce, it is no longer necessary to make .Build.cs files writable when adding new files or directories to a module (RIDER-62639).

Merging Unreal Engine support into Rider

The Rider 2022.1 EAP will likely include Unreal Engine support merged from Rider for Unreal Engine. This will allow us to test this major functionality in our main Rider IDE before the official release. Thus, you might consider Rider for Unreal Engine 2021.3 to be the last update separate from regular Rider. There will no longer be any patch updates or update notifications in Rider for Unreal Engine once it has been merged with Rider. You’ll have to download a Rider 2022.1 EAP build from our site or install one via the Toolbox App. The preview license won’t be valid for the regular Rider build, but the Rider 2022.1 EAP builds will be free as usual.

JOIN THE EARLY PREVIEW

Your Rider team
JetBrains
The Drive to Develop

image description