ReSharper 2020.3 Help

Remote Procedure Calls

Watch this video for an overview of how ReSharper handles Unreal Engine Remote Procedure Calls:

When analyzing your code, ReSharper identifies Unreal Engine remote procedure calls (RPCs) by Client, Server, and NetMulticast specifiers in the UFUNCTION declaration statements.

ReSharper checks whether Unreal Engine RPCs have the corresponding required _Validate and _Implementation functions and will highlight the RPC if at least one of them is not found. You can press Alt+Enter on the highlighting to generate the missing implementation stubs.

ReSharper: Unreal Engine remote procedure calls support

In the example above, the _Validate function is missing and ReSharper will generate the following stub for you:

bool AShooterCharacter::ServerEquipWeapon_Validate(AShooterWeapon* NewWeapon) { }

From RPCs, you can jump to their _Validate and _Implementation functions from the Navigate To Control+Shift+G popup, or from the Alt+Enter menu as shown on the screenshot above.

It also works for BlueprintNativeEvent: when the corresponding specifier is passed in UFUNCTION, ReSharper can generate an _Implementation function for you, as well as navigate to it from the declaration.

You can use Rename and Change Signature refactorings on Unreal Engine RPC functions calls — the related _Validate and _Implementation functions will be updated accordingly.

ReSharper C++: refactoring RPC function calls
Last modified: 15 January 2021