Early Access Program

ReSharper C++ 2020.3 EAP: UnrealHeaderTool Integration

This EAP build includes a killer new feature for Unreal Engine developers: an integration with UnrealHeaderTool to help you catch more Unreal Engine specific code issues right in the editor!

UnrealHeaderTool is a parsing and code-generation tool for Unreal Engine. In the Unreal Engine code compilation workflow, the tool parses the C++ header files and generates UObject-specific code. UnrealHeaderTool has been integrated into the ReSharper C++ analysis and can run on an open file, helping you catch issues earlier and avoid problems down the road.

Download the new build from our website or via the Toolbox App, and give it a try.


ReSharper C++ provides seamless integration with UnrealHeaderTool: the first time you build the Unreal Engine project, ReSharper C++ finds the UnrealHeaderTool used for the code compilation and can then run the tool in the background as a separate process to check the file you are editing. The code analysis results are displayed right in the editor, just like other inspections. Here are some examples:

  • Missing reflection specifier.
    UnrealHeaderTool: Missing reflection specifier
  • UFUNCTION is unsupported for USTRUCT.
    UnrealHeaderTool: UFUNCTION is unsupported for USTRUCT
  • Invalid BlueprintType enum base.
    UnrealHeaderTool: Invalid BlueprintType enum base

UnrealHeaderTool also detects when you use a specific meta tag without the required reflection specifier, GENERATED_BODY is used in the wrong scope, an invalid entity is exposed to a blueprint, and a lot of other code issues. The checks are classified into three groups: warnings, errors, and C++ parser errors. Each group can be disabled or configured on the Inspection Severity options page.

UnrealHeaderTool: Inspection Severity

Moreover, as with the built-in inspections, you can use the inspection context menu to change the severity of UnrealHeaderTool warnings or to disable them via a comment:

UnrealHeaderTool: Disable warnings

ReSharper C++ runs UnrealHeaderTool only on the file that is currently open, and we’ve optimized the process to have a minimal impact on overall performance. You can still disable the UnrealHeaderTool integration via the Enable UnrealHeaderTool inspections option on the Code Editing | C++ | Unreal Engine page of ReSharper settings.

Check out the new EAP build and share your feedback with us using our issue tracker or in the comments below. Thank you!


Your ReSharper C++ team
The Drive to Develop

image description