增加模块
一个插件至少有一个模块
复制一份已有的模块,并在项目的uproject中增加模块信息
也可以按照下里面的文件结构来创建,我为了简单,是直接复制"Extend"模块来的
修改复制模块的文件名,并替换掉文件中的原模块信息
在.cpp中实现模块的一些逻辑,这里演示只保留了一个控的模块
最后在主模块的Target.cs中注册
当然,还有修改 ExtendEditor.Target.cs(如需编辑器支持)
如果是按照Private、Public文件结构来创建的话,[新创建的模块名].Build.cs文件中还需要加上
最后的最后右键单击项目的.uproject文件 Generate Visual Studio Project Files 一下
补档:优化一下TestCreateM.h 与 TestCreateM.cpp内容可以写成下面的方式,目的是为了可在插件的生命周期进行管理
给插件封装模块
在这里我们给“TestPlugin”插件封装了一个“OtherPluginM”的模块
新模块的文件结构与插件原模块的文件结构一样
如果是复制的原模块文件,修改方法同单独的给项目增加模块一样
先在TestPlugin的.uproject中添加模块
替换OtherPluginM.Build.cs内容
替换.h和.cpp内容
最后的最后右键单击项目的.uproject文件 Generate Visual Studio Project Files 一下
插件的封装
在确定写好UE插件后需要再项目的target.cs中添加插件
在编译好后的插件,已经可以copy,paste到其它项目中使用了,当然前提是需要再项目主模块的.build.cs文件中包含进去
如果想要做无源码插件
需要在插件的[plugin].Build.cs中加上两行代码
bUsePrecompiled = true;
PrecompileForTargets = PrecompileTargetsType.None;
然后删除插件source文件中的.cpp源码文件(前提是你已经编译好的插件),然后打包