unreal engine5.7.4,创建ThirdPerson第三人称模版,类型是c++崩溃

系列文章目录

文章目录

前言

我使用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 路径配置。

相关推荐
如意猴26 分钟前
【C++】007 C/C++ 内存管理机制、malloc与new的区别及模板初阶
java·c++·算法
朝朝辞暮i30 分钟前
C++ 第 32 课:main()、rclcpp::init()、spin()、shutdown()
开发语言·c++·算法
汉克老师35 分钟前
GESP2026年9月认证C++一级( 第三部分编程题(1、新龟兔赛跑))精讲
c++·gesp·小学生·学c++编程
沫璃染墨1 小时前
《从零入门Linux系统篇(五十七):线程篇·十——生产者消费者模型进阶:从环形缓冲区到POSIX信号量》
linux·运维·服务器·开发语言·c++·系统架构·信号处理
wuminyu1 小时前
LockStack在虚拟线程Mount和Unmount拷贝过程剖析
java·linux·c语言·jvm·c++
知识分享小能手2 小时前
C++ 学习教程,从入门到精通,string类和标准模板库 — 完整知识点详解(16)
开发语言·c++·学习
无忧.芙桃2 小时前
位图妙用:512MB 实现 40 亿整数的存在性查询
c语言·c++·面试·哈希算法
ShineWinsu2 小时前
对于Redis:Steam、Geospatial、Hyperloglog、Bitmap、Bitfield类型的解析
数据库·c++·redis·分布式·缓存·面试·zset
朝朝辞暮i2 小时前
C++ 第 31C 课:Subscriber 到底是什么
开发语言·c++·算法
殷色玫瑰3 小时前
C++ string类详解:常用接口、字符串操作与模拟实现
java·linux·c语言·开发语言·数据结构·c++