Early Access Program News Tips & Tricks

Blueprint Support Comes to ReSharper C++

Blueprint files are written in binary form and are usually edited visually. However, they contain a lot of useful information for the developers of the C++ parts of games, since the Blueprint designers extend the baseline system implemented in C++ with Blueprint-specific markup. With all the Blueprint details, developers can avoid code changes that unexpectedly affect a game’s behavior.

ReSharper C++ now reads Blueprints and offers new types of hints. The Blueprint hints allow you to see the bigger picture behind your code and be aware of derived Blueprint classes, UFunction implementations, and the write access and default values of UProperties.


If there are derived Blueprint classes in your game, you can now see the corresponding hint right in the code editor. What’s more, you can easily get the list of all inheritors. Just right-click the hint and select the derived classes option from the context menu or invoke Find Usages on a C++ class.
Derived Blueprint classes

This also works for Unreal Engine functions. You can now get the details about UFunctions implemented in Blueprints from the new hint’s context menu.
UFunctions implemented in Blueprints

Another new type of Blueprint hint allows you to quickly check the state of a UProperty, including whether it has been overridden, and what value is set in the Blueprint file.
UProperty values set in Blueprints

You can configure the default visibility of Blueprint inlay hints on the dedicated Environment | Inlay Hints | C++ | Unreal blueprint inlay hints page of the ReSharper options.

We’ve also introduced two inspections to let you know if there are inconsistencies between the Blueprint-specific function specifiers used in the code and the Blueprints themselves:

  • A UFunction with the BlueprintCallable function specifier is supposed to be used in a Blueprint, but no usages are found.
    BlueprintCallable function is never used
  • A UFunction with the BlueprintImplementableEvent function specifier is supposed to be implemented in a Blueprint, but no implementations are found.
    BlueprintImplementableEvent function is not implemented in any blueprint

Due to their possible performance impact, the Blueprint features are currently available only for ReSharper C++ in the 64-bit version of Visual Studio (VS 2022). You can turn them on or off at any time via the Enable Blueprint Support checkbox on the Code Editing | C++ | Unreal Engine page of the ReSharper options.

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


Your ReSharper C++ team
The Drive to Develop

image description