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

相关推荐
郝学胜_神的一滴40 分钟前
Qt 高级开发 021:零基础吃透 QVBoxLayout 垂直布局
c++·qt
Boom_Shu1 小时前
长方形的关系
数据结构·c++·算法
思麟呀2 小时前
C++11并发编程:call_once一次性执行+atomic原子类型+CAS无锁编程+自旋锁
linux·开发语言·jvm·c++·windows
Lumbrologist2 小时前
【C++】零基础入门 · 第 13 节:类与对象基础
java·c++·算法
吴可可1234 小时前
CAD2004自定义实体开发环境配置
c++·算法
L_09074 小时前
【C++】C++11 新特性
开发语言·c++
Fanfanaas4 小时前
C++ 继承
java·开发语言·jvm·c++·学习·算法
十五年专注C++开发4 小时前
cereal 库:C++ 序列化的轻量之选
开发语言·c++·序列化·反序列化·cereal
lqqjuly4 小时前
设计模式:理论、架构与 C++ 实现—SOLID原则到23 种经典模式
c++·设计模式·架构