系列文章目录
文章目录
前言



我使用unreal engine5.7.4,创建ThirdPerson第三人称模版,类型是c++,工程路径:E:\workSpace\project\Ue5Exercise
工程名称:MyProjects_VS01
创建过程中弹窗崩溃,MyProjects_VS01工程的uec++代码已经生成,当我在visual studio2022中运行MyProjects_VS01工程时,同样也弹出崩溃窗口,
LoginId:069f22d64f4b4280702c28b51ed4b644
EpicAccountId:1f8d8cd22f8b47e09c63429b138131b9
Fatal error: File:D:\\build++UE5\\Sync\\Engine\\Source\\Developer\\DerivedDataCache\\Private\\DerivedDataBackends.cpp Line: 208
Unable to use default cache graph 'InstalledDerivedDataBackendGraph' because there are no writable nodes available.Add -DDC-ForceMemoryCache to the command line to bypass this if you need access to the editor settings to fix the cache configuration.
UnrealEditor_DerivedDataCache
UnrealEditor_DerivedDataCache
UnrealEditor_DerivedDataCache
UnrealEditor_DerivedDataCache
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
kernel32
ntdll
如何解决呢?
一、崩溃原因
问题不在 ThirdPerson 模板的 C++ 代码,崩溃原因是 UE 的 DDC 缓存配置坏了。
日志里关键错误是:
Unable to use default cache graph 'InstalledDerivedDataBackendGraph'
because there are no writable nodes available
主要是这个日志文件路径:
E:\workSpace\project\Ue5Exercise\MyProjects_VS01\Saved\Logs\MyProjects_VS01.log
第984、990、991、997行:

另外,崩溃报告目录里也有同类日志:

工程日志里看到 UE 使用了:
UE-LocalDataCachePath = E:/UnrealCache
UE-SharedDataCachePath = E:/UnrealCache
两个缓存都指向同一个目录,Local 节点又被 UE 5.7 installed build 标成了 DeleteOnly,Shared 节点因为路径重复被忽略,所以 UE 启动时找不到任何可写缓存节点,直接崩溃。
二、解决方法
1.最快临时解决
在 Visual Studio 里给 UE 启动参数加:
-ddc=InstalledNoZenLocalFallback
位置一般是:
项目 MyProjects_VS01 右键 -> 属性 -> 调试 -> 命令参数
在这里插入图片描述



修改成:
-ddc=InstalledNoZenLocalFallback

2.第二种临时解决方案
也可以直接用 PowerShell 启动:
bash
& "D:\Program Files\Epic Games\UE_5.7\Engine\Binaries\Win64\UnrealEditor.exe" "E:\workSpace\project\Ue5Exercise\MyProjects_VS01\MyProjects_VS01.uproject" -ddc=InstalledNoZenLocalFallback
上面的方案本工程可以正常启动不崩溃,但是新建的工程还是会崩溃,下面是永久修复方案
2.推荐永久修复
wiin + r 键盘

打开注册表编辑器,进入:
HKEY_CURRENT_USER\Software\Epic Games\GlobalDataCachePath


双击:UE-LocalDataCachePath

然后双击:UE-SharedDataCachePath
把"数值数据"修改成"None",然后点击确定

或者直接删除 UE-SharedDataCachePath。重点是不要让 Local 和 Shared 都指向 E:\UnrealCache。
修改了注册表,一定要重启机器。
然后重启 UE / Visual Studio,再运行工程。
如果重启机器后,在/ Visual Studio2022 中源码启动程序还是崩溃的话,
把$(SolutionDir)MyProject_VS01.uproject" -skipcompile

修改成:
"$(SolutionDir)MyProject_VS01.uproject" -ddc=InstalledNoZenLocalFallback
或者
"$(SolutionDir)MyProject_VS01.uproject" -skipcompile -ddc=InstalledNoZenLocalFallback
总结
如果还想保险一点,可以先用崩溃窗口提示的临时参数进编辑器:
-DDC-ForceMemoryCache
但这个只适合临时启动,不建议长期用,因为缓存只在内存里。真正要修的是上面的 DDC 路径配置。