【问题标题】:Why is UnrealHeaderTool failing when building RPCs为什么 UnrealHeaderTool 在构建 RPC 时会失败
【发布时间】:2021-02-21 20:26:04
【问题描述】:

在我的 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.

对为什么会出现这种情况有什么想法吗?

【问题讨论】:

    标签: c++ rpc unreal-engine4


    【解决方案1】:

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

    他们必须更新虚幻来需要这个变量。

    【讨论】:

    • 始终需要指定可靠/不可靠。
    • @DevilsD 这不是真的,默认情况下 RPC 过去是不可靠的。事实上,最近确实如此,以至于文档尚未更新。 docs.unrealengine.com/en-US/InteractiveExperiences/Networking/…
    • 如果您的游戏/模拟允许任何类型的插入功能。我会考虑使用代表通知,因为在此 rpc 触发后连接的客户端将永远不会收到它发送的信息(当然这在 100% 的情况下并不重要 - 但只是认为值得指出)。
    • 感谢乔治的提示。如果添加动态复制对象,我会记住这一点。这个特定示例是将客户端控制对象的位置复制到其他客户端。因此它不断发生。
    猜你喜欢
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 2022-09-24
    • 2023-04-08
    • 2021-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多