Rider for Unreal Engine 2021.1.1 Update: Mac Build, Support for uproject, EzArgs Plugin, and C++ Enhancements
Read this post in other languages:
A year ago, on April 22, 2020, we announced the launch of the Rider for Unreal Engine Public Preview! We took some great strides this past year, welcoming more than 20 thousand subscribers to the Public Preview program. Rider for Unreal Engine is now used by more than 4300 users every week, including both individual game developers and big game studios. We greatly appreciate all the feedback we’ve received so far!
Rider for Unreal Engine is celebrating 1 year in Public Preview!
Over this year we’ve:
- Added the RiderSourceCodeAccess plugin to the Unreal Engine Marketplace for engine versions 4.22–4.24 and bundled it into the engine of newer versions.
- Significantly improved the RiderLink/UnrealLink plugin, fixing dozens of crashes and problems, in addition to adding it to the JetBrains Marketplace, so we can now update it independently from the Rider for Unreal Engine release cycle.
- Worked on hundreds of fixes in the LLDB-based debugger, which we’ve implemented on our own to improve support for debugging in Rider for Unreal Engine. The fixes cover rendering, performance, and the overall debugging experience.
- Started work on support for the Unreal Engine project model (uproject).
- Added UnrealHeaderTool to run on the file you’re currently editing, providing an in-editor linting experience for Unreal macros.
- Added the Create New Unreal Engine class action in Rider, so you can avoid switching to the Unreal Editor to add a new class to your game.
- Introduced support for Unreal Engine .ini files, including Find Usage and the Rename refactoring for classes and properties in config files.
- Thanks to the detailed feedback from the Epic Games team, added initial support for Unreal Engine 5.
- Introduced support for C++ unit testing as well as Include and Type hierarchies, and implemented many other general C++ support improvements.
- Created a documentation section dedicated to Unreal Engine development with Rider in our webhelp and released several videos demonstrating the support.
We’ve accomplished our objectives for this first year, and now it’s time to look to the future! The second year of the Preview starts with:
- Making Rider for Unreal Engine generally available on Mac.
- Support for opening a .uproject directly.
- EzArgs plugin.
- C++ syntax style checks.
- Debugger fixes.
Rider for Unreal Engine on Mac
Are you developing Unreal Engine games on macOS? The Mac build of Rider for Unreal Engine is finally here! Register now to get a free Preview license and links to the builds both for Windows and Mac. Download the .dmg package, install it, and then simply open the <ProjectName>.uproject file as a project in Rider for Unreal Engine.
Users will find that the Mac version of Rider has nearly all the same features and benefits as the Windows version:
Enriched C++ support, along with support for features specific to Unreal Engine like the reflection mechanism, for example:
Unique Blueprints support, which includes Find Usages, Code Vision, and in navigation actions:
- Initial support for HLSL for shaders.
- Advanced integration between JetBrains Rider and Epic Games’ Unreal Editor.
- Built-in debugger.
- Project-wide code analysis and naming convention checkers.
There are still a few known limitations to keep in mind:
- The Mac version works with Unreal Engine 4.26+ only. Version 4.26.2, which is now officially available, includes the RiderSourceCodeAccess plugin.
- It’s based on the experimental .uproject support (you can simply open a <ProjectName>.uproject file). This means you don’t need to generate the Xcode project(!), but issues are possible, as support for this project model is still in its early stages. You will still need Xcode for the development toolchain that Rider relies on.
- We are only shipping a build for Intel Macs. The Apple Silicon (M1 chip) is not yet supported in Rider or Rider for Unreal Engine.
- While debugging on Mac is possible in Rider for Unreal Engine, there is no debug support for iOS, nor is there any other specific support for mobile UE development.
A note on Rider plugins:
- RiderSourceCodeAccess is bundled into UE 4.26.2+. If you use a lower version, add the plugin to your Game project as described here.
- RiderLink will be suggested for installation once you launch Rider. You can install it in the Engine or in the Game. If you later decide to change the installation location, use Force Install RiderLink in Engine/Force Install RiderLink in Game actions via Find Action (⇧⌘A).
If you are developing Unreal Engine games on macOS, this is a great time to join the Preview! Register now, get a build, try it out, and let us know what you think! You can learn about submitting feedback for the Preview Program here.
Working directly with the uproject model on any platform
Just as on Mac, on Windows you can now also simply open a <ProjectName>.uproject file as a project in Rider. You no longer need to generate a Visual Studio .sln file from the Unreal Editor! On Windows, this requires Unreal Engine 4.25.4+.
Support for the uproject model is still in its early stages, so if you encounter any issues with projects opened in this way, please report them to us.
The UnrealVS plugin provides useful functionality for working with command-line arguments, and it came as no surprise that Rider for Unreal Engine users requested similar support. We now present the EzArgs plugin. It provides a convenient option for passing arguments to C++ run/debug configurations by simply writing them in a dropdown box on the toolbar.
C++ Syntax Style checks
There are many coding guidelines in the world of C++ and many opinions about whether to use regular or trailing return types, typedefs or type aliases, and East Const or West Const, or about whether to omit redundant braces or to keep them to improve code readability, and so on. Sometimes guidelines recommend contradictory approaches. For example, C++ Core Guidelines advise that overriding functions should have exactly one of the override and final specifiers, and no virtual ones. Conversely, the Unreal Engine coding standard requires explicit virtual. To cover all the cases and help you enforce a common style throughout your codebase, we’ve collected the Syntax Style settings and implemented the corresponding checks and quick-fixes. Learn about them in detail in this blog post. It’s also important to mention that for Unreal Engine projects, the default settings are adjusted to comply with the Unreal Engine coding standard.
We continue to improve the debugger, and while a huge overhaul is still in progress and will likely be delivered in the next builds, there are still a few valuable fixes inside this build:
- Fixed the problem involving displaying UE4 sources when built with the v141 toolchain.
- The error window is no longer suppressed when a DLL required by the debugger is invalid or not found.
- Fixed a potential crash issue.
The Rider team
The Drive to Develop