Unreal Engine 5调试时ShaderCodeLibrary初始化失败问题求助
解决Unreal Engine 5调试时“Global着色器库缺失”的问题
该问题属于Unreal Engine 5与Visual Studio Code的通用问题,Windows和Linux系统均可能出现。以下是针对报错“Failed to initialize ShaderCodeLibrary required by the project because part of the Global shader library is missing”的具体解决步骤:
报错日志(中文翻译)
[2022.08.24-09.17.36:210][ 0]LogVulkanRHI: 显示: 使用设备0: Geometry 1 BufferAtomic64 1 ImageAtomic64 1 [2022.08.24-09.17.36:211][ 0]LogVulkanRHI: 显示: 发现3个队列族 [2022.08.24-09.17.36:211][ 0]LogVulkanRHI: 显示: 初始化队列族0: 16个队列 Gfx Compute Xfer Sparse [2022.08.24-09.17.36:211][ 0]LogVulkanRHI: 显示: 初始化队列族1: 2个队列 Xfer Sparse [2022.08.24-09.17.36:211][ 0]LogVulkanRHI: 显示: 跳过非必要队列族2: 8个队列 Compute Xfer Sparse [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: 使用设备层 [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: 使用设备扩展 [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: * VK_KHR_driver_properties [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: * VK_KHR_get_memory_requirements2 [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: * VK_KHR_dedicated_allocation [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: * VK_KHR_create_renderpass2 [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: * VK_KHR_fragment_shading_rate [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: * VK_KHR_swapchain [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: * VK_KHR_maintenance1 [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: * VK_KHR_maintenance2 [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: * VK_EXT_memory_budget [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: * VK_KHR_shader_atomic_int64 [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: * VK_EXT_shader_image_atomic_int64 [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: * VK_KHR_image_format_list [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: * VK_EXT_shader_viewport_index_layer [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: 最大内存分配数 -1. [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: 3个设备内存堆: [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: 0: 标志 0x1 - 大小 6442450944 (6144.00 MB) - 已使用 0 (0.00%) - DeviceLocal - PrimaryHeap [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: 1: 标志 0x0 - 大小 12117417984 (11556.07 MB) - 已使用 0 (0.00%) [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: 2: 标志 0x1 - 大小 257949696 (246.00 MB) - 已使用 0 (0.00%) - DeviceLocal [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: 5种设备内存类型(非统一): [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: 1: 标志 0x00001 - 堆 0 - DeviceLocal [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: 0: 标志 0x00000 - 堆 1 - [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: 2: 标志 0x00006 - 堆 1 - HostVisible HostCoherent [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: 3: 标志 0x0000e - 堆 1 - HostVisible HostCoherent HostCached [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: 4: 标志 0x00007 - 堆 2 - DeviceLocal HostVisible HostCoherent [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: 内存预算扩展: [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: | 使用情况 | 预算 | 总大小 | [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: ---------|------------------------------------------------------------------| [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: HEAP 00 | 0.00% / 0.19 MB | 3432.00 MB | 6144.00 MB | [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: HEAP 01 | 0.17% / 19.27 MB | 11556.07 MB | 11556.07 MB | [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: HEAP 02 | 18.60% / 45.75 MB | 200.25 MB | 246.00 MB | [2022.08.24-09.17.36:586][ 0]LogVulkanRHI: 显示: ---------|------------------------------------------------------------------| [2022.08.24-09.17.36:622][ 0]LogVulkanRHI: 显示: FVulkanPipelineStateCacheManager: 二进制管线缓存 '../../../../../../../opt/unreal-engine/../../home/walde/Documents/Unreal Projects/MyProject9/Saved/VulkanPSO.cache.10de.1f15' 未找到。 [2022.08.24-09.17.36:623][ 0]LogVulkanRHI: 适配器名称: NVIDIA GeForce RTX 2060 [2022.08.24-09.17.36:623][ 0]LogVulkanRHI: API版本: 1.3.205 [2022.08.24-09.17.36:623][ 0]LogVulkanRHI: 驱动版本: 515.65 [2022.08.24-09.17.36:635][ 0]LogRHI: 纹理池大小为4473 MB(6390 MB的70%) [2022.08.24-09.17.36:641][ 0]LogRendererCore: 光线追踪已禁用。原因: r.RayTracing=0. [2022.08.24-09.17.36:641][ 0]LogShaderLibrary: 显示: 未使用pak文件运行,未找到单体库'Global' - 尝试在磁盘上搜索其分块文件 [2022.08.24-09.17.36:642][ 0]LogShaderLibrary: 显示: .... 未找到 [2022.08.24-09.17.36:643][ 0]LogShaderLibrary: 错误: 无法初始化项目所需的ShaderCodeLibrary,因为部分Global着色器库在../../../../../../../opt/unreal-engine/../../home/walde/Documents/Unreal Projects/MyProject9/Content/中缺失。
解决步骤
1. 清理项目缓存并重新生成项目文件
- 关闭UE5编辑器和VSCode
- 删除项目目录下的
Saved和Intermediate文件夹,清除临时编译文件与缓存 - 重新生成项目文件:
- Windows:右键项目的
.uproject文件,选择Generate Visual Studio Project Files - Linux:在终端运行以下命令(替换为你的引擎和项目路径)
./UnrealEngine/Engine/Build/BatchFiles/Linux/GenerateProjectFiles.sh -project="/home/walde/Documents/Unreal Projects/MyProject9/MyProject9.uproject" -game -engine
- Windows:右键项目的
- 打开VSCode,重新构建DebugGame目标后启动调试
2. 检查VSCode调试配置
- 打开项目的
.vscode/launch.json文件 - 确认配置中的
program路径指向项目的DebugGame可执行文件,args参数包含-game和-debug,并正确指定项目路径:{ "version": "0.2.0", "configurations": [ { "name": "DebugGame", "type": "cppdbg", // Linux用cppdbg,Windows用cppvsdbg "request": "launch", "program": "/home/walde/Documents/Unreal Projects/MyProject9/Binaries/Linux/MyProject9", "args": [ "-game", "-debug", "/home/walde/Documents/Unreal Projects/MyProject9/MyProject9.uproject" ], "stopAtEntry": false, "cwd": "/home/walde/Documents/Unreal Projects/MyProject9", "environment": [], "externalConsole": false } ] }
3. 启用UE5调试着色器编译
- 打开UE5编辑器,进入编辑 > 项目设置 > 平台,选择对应的平台(Windows/Linux)
- 找到着色器编译选项,勾选启动时允许着色器编译和为调试编译着色器
- 重启编辑器,重新打包DebugGame版本后再用VSCode调试
4. 验证UE5引擎完整性
- 如果是自行编译的引擎:重新编译引擎的DebugGame目标,确保所有核心模块编译完成
- 如果是Epic启动器安装的引擎:在启动器中右键UE5,选择验证,修复缺失或损坏的文件
内容的提问来源于stack exchange,提问作者Koronis Neilos
相关产品推荐
相关产品推荐

