RunUAT.bat编译虚幻游戏Azure Pipeline报错修复方案问询
UE RunUAT打包缺失.uproject文件报错修复方案
报错的核心原因是Unreal Engine的UAT打包流程在BuildCookRun的cook、stage阶段需要读取.uproject文件获取项目模块配置、插件启用规则、资源映射关系等核心信息,你对外售卖时不提供该文件不影响运行,但打包环节的文件依赖无法直接跳过,可通过以下两种方案解决:
- 方案1:构建后自动删除输出目录的.uproject文件
打包过程保留项目目录下的.uproject文件保证流程正常,在Azure Pipeline的RunUAT.bat执行步骤后新增PowerShell任务,执行删除命令:Remove-Item -Path "E:\agent\_work\1\s\P1.uproject" -Force
该方案适配所有UE版本,不会影响打包逻辑,也能满足售卖时不向用户提供.uproject文件的要求。 - 方案2:追加UAT参数跳过stage阶段的uproject生成校验(适配UE4.26及以上版本)
在你原有打包命令的末尾添加-noprojectfile参数即可,修改后的完整命令如下:RunUAT.bat BuildCookRun -project="E:\agent\_work\1\s\P1.uproject" -clientconfig=Development -platform=Win64 -cook -stage -pak -stagingdirectory="E:\agent\_work\1\s\" -package -build -noprojectfile
该参数会告知UAT流程无需在staging输出目录生成.uproject文件,也不会校验该文件的存在性,无需额外新增步骤即可满足需求。
注意:如果你使用的UE版本低于4.26,不存在
-noprojectfile参数,请优先使用方案1,不要在打包流程未结束时删除项目目录下的.uproject文件,否则会直接导致cook阶段中断报错。
内容的提问来源于stack exchange,提问作者Krystian
相关产品推荐
相关产品推荐

