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

相关推荐
旖-旎8 小时前
《LeetCode647 回文子串 || LeetCode 5 最长回文子串》
c++·算法·leetcode·动态规划·哈希算法
Darkwanderor9 小时前
对Linux的进程控制的研究
linux·运维·c++
云泽8089 小时前
从零吃透 C++ 异常:抛出捕获、栈展开、异常重抛与编码规范详解
开发语言·c++·代码规范
REDcker9 小时前
libdatachannel 快速入门
c++·webrtc·datachannel
second6011 小时前
第一部分:快速上手 —— 建立 C++ 基本语法与编程范式
开发语言·c++
郝学胜-神的一滴11 小时前
算法实战:最小k个数——大顶堆的优雅解法
开发语言·数据结构·c++·python·程序人生·算法·排序算法
bksczm11 小时前
linux之线程概念和控制
linux·开发语言·c++
hehelm12 小时前
Linux网络编程—TCP字典翻译系统
linux·开发语言·网络·c++·tcp/ip
hansang_IR12 小时前
【记录】「SCOI2016」三道模拟赛/26.7.12
c++·算法
会周易的程序员13 小时前
从零构建多核CPU负载自适应控制系统
linux·c++·笔记·物联网·测试工具