本来是蓝图开发的项目,需要用C++整合插件,看到B站一位up主的转换教程后,添加C++ Class类时提示编译失败,关掉项目重开就发生了modules are missing/version has changed的报错并且再也打不开了。

蓝图转C++教程: 【虚幻】将你的蓝图项目升级为C++项目-弗夏Jay

有看到一位uu同样问题的分享: UE4纯蓝图添加C++遇到的一个坑 ,但我的项目还没有生成.nls所以根本打不开代码工程去删除module字段。

解决方法:貌似是缺少依赖造成的,直接更新了VS2022的.net支持,勾上了游戏开发等等,然后重新编译就成功了(具体到底是缺了哪个没细看日志,总之干脆全装了.jpg)

ue4和 ue5 如果一开始选择了 蓝图 工程,在后期如何转换为 c++ 工程。这样子,ue引擎就会将 c++ 项目 需要的东西加载到你的 项目 中去。然后,你就能看见你新建的 c++ 类,你可以选择删除,或者继续。然后,我们要如何将 蓝图 工程,转换为 c++ 工程。里面有简单的在ue创建 c++ 的运用。详情创建可以看作者之前写的。 以上就是使用 C++ 实现 蓝图 节点的详细流程, 蓝图 C++ 需要掌握的很重要的一点就是读懂 C++ 函数的注释和参数列表说明,这点掌握了,就能大体知道如何调用 C++ 函数来实现功能 作者:埃罗芒阿Sensal https://www.bilibili.com/read/cv9245730/ 出处:bilibili。(2)ActorsClass:想要获得的Actor的类型,该参数需要输入一个类型,我们在这假设想要获取关卡中所有的Pawn,那我们在这传入APawn::StaticClass(). 不同名的CPP变量,不用加 "_C",因为只有 variables for config 才需要暴露到 蓝图 , 内部变量和计算变量不需要暴露。3.4 Collapse Nodes 一旦创建, 无法 在 "My Blueprint Window"中调整顺序,提前创建一大堆,按需改名。5.3 更复杂,有些炫技成分,并且新的override链也会形成一套额外的记忆负担。修改 蓝图 函数名,保留CPP函数名,会有编译错误来发现所有需要修改的地方。原则:保持 蓝图 中的 蓝图 接口,转发给C实现的接口。 新手看着别人的 蓝图 教程,自己转 C++ 时候,会发现这里VARIABLES 无法 转换为在 C++ 代码,是因为这里是全局变量,而 C++ 类内定义的不是全局变量,这里可以直接在代码里获取全局变量,比如说这句。关于函数内的参数,可以通过Rider编译器查看:右键函数名,点击[查找用法]或者[前往声明或用法]这个UWidgetBlueprientLibrary可以通过鼠标悬停在 蓝图 上查看。可以看到 Target is Widget Blueprint Library这句话。