添加UFUNCTION/UPROPERTY导致Unreal 5.3构建失败求助
Unreal Engine 5.3 新增UFUNCTION/UPROPERTY时构建随机报错问题
我们基于Unreal Engine 5.3开发C++/蓝图项目已近一年,近期突然出现异常:只要添加新的UFUNCTION或UPROPERTY声明,构建就会出现数百个随机错误;但只要注释掉这些声明,构建和编辑器就能正常运行。
示例代码
#pragma once #include "CoreMinimal.h" #include "DevHelp.generated.h" UCLASS(BlueprintType) class VR_BASE_API UDevHelp : public UObject { GENERATED_BODY() public: //Build works if UFUNCTION is commented out UFUNCTION(BlueprintCallable, Category = "00 Test") float DoMath(float first, float second) { return first * second; } };
UBT日志信息
UBT日志在输出超100个随机错误后,仅提示OtherCompilationError(注释UFUNCTION后所有错误都会消失),日志内容如下:
CompilationResultException: Error: OtherCompilationError at UnrealBuildTool.ActionGraph.ExecuteActionsAsync(BuildConfiguration BuildConfiguration, List`1 ActionsToExecute, List`1 TargetDescriptors, ILogger Logger, IActionArtifactCache actionArtifactCache) in C:\Program Files\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\System\ActionGraph.cs:line 417 at UnrealBuildTool.BuildMode.BuildAsync(TargetMakefile[] Makefiles, List`1 TargetDescriptors, BuildConfiguration BuildConfiguration, BuildOptions Options, FileReference WriteOutdatedActionsFile, ILogger Logger) in C:\Program Files\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\Modes\BuildMode.cs:line 801 at UnrealBuildTool.BuildMode.BuildAsync(List`1 TargetDescriptors, BuildConfiguration BuildConfiguration, ISourceFileWorkingSet WorkingSet, BuildOptions Options, FileReference WriteOutdatedActionsFile, ILogger Logger, Boolean bSkipPreBuildTargets) in C:\Program Files\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\Modes\BuildMode.cs:line 411 at UnrealBuildTool.BuildMode.ExecuteAsync(CommandLineArguments Arguments, ILogger Logger) in C:\Program Files\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\Modes\BuildMode.cs:line 252 at UnrealBuildTool.UnrealBuildTool.Main(String[] ArgumentsArray) in C:\Program Files\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.cs:line 659
问题无关因素
该问题不受以下因素影响:
- 类继承自UObject或UBlueprintFunctionLibrary
- 函数为实例或静态类型
- 使用新文件或旧文件
- 在USTRUCT或UCLASS中使用UPROPERTY或UFUNCTION
已尝试的无效排查手段
目前已尝试以下排查手段但均无效:
- 重写/恢复MyGame.target.cs和MyGame.Editor.Target.cs
- 回滚整个项目仓库
- 删除Saved、Intermediate、DerivedDataCache、Binaries及.vs文件夹
- 重新生成Visual Studio项目文件(约20-30次)
- 重新安装Unreal Engine
- 更新Visual Studio至2022 14.13.2版本
- 在另一台电脑上测试
内容的提问来源于stack exchange,提问作者Reahreic
相关产品推荐
相关产品推荐

