UE4.26打包Android APK遇Unknown Cook Failure错误求助
解决Unreal Engine 4.26打包Android APK时ShaderCompileWorker崩溃的方案
一、排查运行环境与权限问题
- 关闭所有杀毒软件、防火墙(包括Windows Defender实时保护),这类工具可能拦截ShaderCompileWorker的进程或文件读写操作
- 右键点击UE4编辑器快捷方式,选择
以管理员身份运行,确保进程拥有足够系统权限 - 检查系统临时文件夹(
%TEMP%)的读写权限,ShaderCompileWorker会在此生成临时编译文件,权限不足会直接导致崩溃
二、调整项目着色器编译设置
- 打开项目设置,进入
平台>Android>着色器编译,勾选禁用并行着色器编译,强制单线程编译(虽会降低速度,但可排查多线程资源冲突问题) - 切换Android目标架构,比如从
ARMv7改为ARM64,部分架构下的编译组件可能存在兼容性bug - 关闭
使用前台着色器编译选项,改为后台编译模式,避免编辑器主线程与编译线程的资源竞争
三、修复ShaderCompileWorker组件
- 找到UE4安装目录下的
Engine\Binaries\Win64\ShaderCompileWorker.exe,右键选择属性>兼容性,勾选以兼容模式运行这个程序,选择对应系统版本(如Windows 10) - 通过Epic Games Launcher验证UE4.26完整性:找到引擎条目右键选择
验证,自动修复损坏的引擎文件 - 若验证后仍有问题,从同版本UE4的可靠安装源替换
ShaderCompileWorker.exe及相关依赖库(如ShaderCompileWorker.pdb)
四、系统层面修复
- 更新显卡驱动至最新版本,UE4着色器编译依赖显卡驱动的底层支持,旧驱动易引发兼容性崩溃
- 安装最新版Visual C++ Redistributable 2019运行库,UE4.26依赖该版本运行库,缺失会导致编译进程崩溃
- 关闭其他高内存占用程序,着色器编译需要大量内存,内存不足会触发进程崩溃
五、深度日志排查
- 前往项目目录下的
Saved/Logs路径,找到完整打包日志,搜索ShaderCompileWorker crash相关堆栈信息,定位具体出错的着色器或编译环节 - 若为特定自定义着色器导致崩溃,可先删除自定义着色器、使用默认材质测试打包,逐步排查问题材质
内容的提问来源于stack exchange,提问作者Tamás Sperg
相关产品推荐
相关产品推荐

