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

相关推荐
众少成多积小致巨10 小时前
JNI (Java Native Interface) 技术手册中文参考指南
android·java·c++
clint4564 天前
C++进阶(1)——前景提要
c++
夜悊5 天前
C++代码示例:进制数简单生成工具
c++
郝学胜_神的一滴5 天前
CMake 021: IF 条件判据详诠
c++·cmake
_wyt0015 天前
洛谷 B3930 [GESP202312 五级] 烹饪问题 题解
c++·gesp
玖玥拾5 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
один but you5 天前
constexpr函数
c++
凡人叶枫6 天前
Effective C++ 条款41:了解隐式接口和编译期多态
java·开发语言·c++·effective c++
凡人叶枫6 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
小胖xiaopangss6 天前
BRpc使用
c++·rpc