为什么在构建 RPC 时 UnrealHeaderTool 失败

问题描述

在我的 pawn 头文件中,我试图声明一个 RPC。以下编译正确:

UFUNCTION( ) void ClientSetPosition(FTransform position);

然而这不能编译:

UFUNCTION( Client ) void ClientSetPosition(FTransform position);

我收到以下错误

UnrealHeaderTool Failed for target 'MultiEditor' (platform: Win64,module info: C:\Users\myself\Documents\Unreal Projects\Multi\Intermediate\Build\Win64\MultiEditor\Development\MultiEditor.uhtmanifest,exit code: OtherCompilationError (5)).

The command ""C:\Program Files\Epic Games\UE_4.21\Engine\Build\BatchFiles\Build.bat" MultiEditor Win64 Development "C:\Users\myself\Documents\Unreal Projects\Multi\Multi.uproject" -WaitMutex -FromMsBuild" exited with code 5. Please verify that you have sufficient rights to run this command.

有没有想过为什么会这样?

解决方法

以下解决了该问题: UFUNCTION(客户端,可靠)

他们必须更新了 unreal 才能需要这个变量。