码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • UE 4.27.2 和 UE 5.3.1 自定义模块出现的问题


    目录

      • UE4.27.2 和 UE5.3.1 自定义模块的区别
      • 无法打开 uproject,无法使用 uproject 右键菜单重建 vs 项目时,怎么重建 vs 项目
      • 创建 Module 需要注意的地方
      • 为什么是 Modules/ModuleManager.h
      • 为什么 UE 5.3.1 报错找不到 Modules/ModuleManager.h
      • 怎么验证自己的模块是对的

    一开始我是看的大象无形这本书,但是做到自定义模块这里一堆错误

    自定义模块的过程大概是,按照一定格式创建文件夹和文件,然后将这些文件添加到 VS 工程中

    但是期间怎么做是有讲究的

    UE4.27.2 和 UE5.3.1 自定义模块的区别

    一开始我是想先删掉 immediate 那些文件夹,然后右键 uproject 重建 vs 工程

    结果发现,我当前的是 4.27.2 的工程,但是我默认的启动器是 5.3.1 所以没有那个选项

    然后我就去 5.3.1 试了一下

    其实也没有区别,但是就是 VS 里面的提示可能会不一样

    在 5.3.1 里面,我的 #include "Modules/ModuleManager.h" 会报错,IMPLEMENT_MODULE 也会报错

    但是实际上这些都是智能提示的报错,只要自己编译成功,我觉得应该是可以忽视的……毕竟我在 4.27.2 中,这些地方也没有报错

    无法打开 uproject,无法使用 uproject 右键菜单重建 vs 项目时,怎么重建 vs 项目

    我在尝试的时候把 immediate 那些文件夹删了,然后之后就没办法打开 uproject 了,怪

    然后从虚幻编辑器的选择界面也没办法打开

    然后从 uproject 右键菜单重建 vs 项目时又提示我找不到 UBT

    看上去是绝境了……

    但是我搜到了别人直接调用 UBT 来生成 vs 项目的例子:

    https://forums.unrealengine.com/t/generate-cpp-project-couldnt-find-unrealbuildtool/231288/15?page=3

    基本上就是,找到对应版本的虚幻引擎的 UBT,运行 UnrealBuildTool.exe -projectfiles -project="path to your project\project name.uproject" -game -engine -rocket -progress

    创建 Module 需要注意的地方

    第一个是较新版本的 UE 中

    #include "ModuleManager.h"
    
    • 1

    要改为

    #include "Modules/ModuleManager.h"
    
    • 1

    第二个是要修改 .Target.cs 和 Editor.Target.cs

    ExtraModuleNames.AddRange(new string[] { ""});
    
    • 1

    改为

    ExtraModuleNames.AddRange(new string[] { "", ""});
    
    • 1

    第三个是 .uproject 中

    	"Modules": [
    		{
    			"Name": "",
    			"Type": "Runtime",
    			"LoadingPhase": "Default",
    			"AdditionalDependencies": [
    				"Engine"
    			]
    		}
    	],
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    	"Modules": [
    		{
    			"Name": "",
    			"Type": "Runtime",
    			"LoadingPhase": "Default",
    			"AdditionalDependencies": [
    				"Engine"
    			]
    		},
    		{
    			"Name": "",
    			"Type": "Runtime",
    			"LoadingPhase": "Default",
    			"AdditionalDependencies": [
    				"Engine"
    			]
    		}
    	],
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    以上讲到的 要替换为自己的工程名, 要替换为自己的模块名

    为什么是 Modules/ModuleManager.h

    其实你点开引擎这个 VS 项目,比如 UE5/Source/Runtime/Core/Public/Modules 是可以看到 ModuleManager.h 的

    这就说明其实只是位置改了

    那么这又是 Core 里面的,那么这就很清楚了,在自定义模块的 Build.cs 中设置了 PublicDependencyModuleNames 中添加了 Core,编译之后,VS 应该是会识别到你包含了 Core 这个模块,所以应该是会把 Core 的 Public 文件夹添加到你的包含目录里面的

    为什么 UE 5.3.1 报错找不到 Modules/ModuleManager.h

    具体来说,在 UE 4.27.2 的包含路径中,我可以找到 Source/Runtime/Core/Public/Modules

    在这里插入图片描述

    在 5.3.1 中我却找不到,他有一个 Source Directories 是有值的,这里也没有

    在这里插入图片描述

    所以这就是问题所在……我不知道是什么导致的,可能是 UBT 导致的吧

    怎么验证自己的模块是对的

    在 UE 工程里面新建 C++ 类的时候,如果看到自己新建的模块是可选的,那么就说明这个模块被加载了

    请添加图片描述

  • 相关阅读:
    [每日算法] 并查集数据结构及其实例-- day15
    神经内分泌肿瘤如何分级,神经系统分级调节概念
    城市项目招商创业园区供需特产公益小程序开源版开发
    DataStream(二)
    STL标准模板库(Standard Template Library)一周学习总结
    Node.js
    碉堡!“万物皆可分”标记模型上线「GitHub 热点速览」
    【接口自动化测试入门】接口测试基础(超详细~)
    算法工程题(二叉树递归)
    【Python学习】-- excel的几种读取方式
  • 原文地址:https://blog.csdn.net/hijackedbycsdn/article/details/133521242
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号