Ue4_手动添加模块/插件/封装DLL
一.Ue4手动创建模块
1.创建如图项目为Module_Test
2.创建一个名为Blank的插件空白模板,接下来准备手动添加插件和模板
3.当创建Blank 插件模板后,编辑器会产生如下结构
Plugins
Blank
public
Blank.h
private
Blank.cpp
Blank.Build.cs
Blank.uplugin
4.找到对应的plugins的source文件下,复制Blank文件夹
修改名为Cus_Mod
5.点击Cus_Mod.Build.cs修改内容为 Blank 改为Cus_Mod 当前模块名
6.回到项目的uproject文件,点击Generate
回到vs,我们重载当前的项目文件
7.进行下列修改 Cus.Mod.h /Cus.Mod.cpp/Blank.uproject
8.手动添加模块完成,点击编译,会产生如下dll文件
9.为加快启动速度,防止重复编译模块,可以使用如下build.cs 模块使用 bUsePrecompiled = true,直接加载编译后的Dll文件
二.关于隐藏插件.cpp文件
当前插件如不像暴露.cpp文件的具体实现内容,只想暴露.h文件,如何实现?
1.在Plugins下source文件添加DLL.h / DLL.cpp
回到uproject 后Generate后进行如下改写
创建一个Pawn
//DLL.h #include "CoreMinimal.h" #include "GameFramework//Pawn.h" #include "DLL.generated.h" /** * */ UCLASS(Blueprintable, BlueprintType) class CUS_MOD_API ADLL : public APawn { GENERATED_BODY() public: UFUNCTION(BlueprintCallable, Category = "DLL") void Logs(); }; //DLL.cpp #include "DLL.h" void ADLL::Logs() { GEngine->AddOnScreenDebugMessage(-1, 200.0f, FColor::Blue, TEXT("Hello DLL")); }
重新编译后,content下会出现
打开关卡蓝图,测试调用Logs
2.当删除private 文件后,
3.在build.cs添加如下ePrecompiled = true ,不编译当前模块,直接加载编译过的dll文件
如图,仍可以进行调用
5.当项目需求需要隐藏具体函数内部的cpp文件时,编译后可将其cpp文件删除,并将build.cs的文件设置为 bUsePrecompiled = true,即可跳过编译,直接加载dll,从而缺少cpp文件仍可进行加载
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具