Blueprint files are written in binary form and are usually edited visually. Still, they contain a whole set of useful information for the developers of the C++ part of the game, 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.
JetBrains Rider reads Blueprints and offers hints and inspections to allow you to see the bigger picture your code:
- Derived Blueprint classes
If there are derived Blueprint classes in your game, you can see the corresponding hint right in the code editor. To get the list of all inheritors, right-click the hint and select the derived classes option from the context menu or invoke Find Usages on a C++ class.
- UFunction implementations
You can get the details about
UFunctionsimplemented in Blueprints from the hint’s context menu.
- UProperty states
You can quickly check the state of a
UProperty, including whether it has been overridden, and what value is set in the Blueprint file.
You can also navigate to the blueprint objects from your C++ code.
JetBrains Rider also offers two inspections to let you know if there are inconsistencies between the Blueprint-specific function specifiers used in the code and the Blueprints themselves:
BlueprintCallablefunction specifier is supposed to be used in a Blueprint, but no usages are found.
BlueprintImplementableEventfunction specifier is supposed to be implemented in a Blueprint, but no implementations are found.