UE4编辑器插件(UE4引擎插件)、项目插件、模块的区别
1)项目插件放到UE4引擎下面就是引擎插件,插件是独立的,可以移植到多版本的引擎里;模块一般有对其它模块的依赖,因此移植性不如插件;
2)模块一般用来做一些上层的逻辑,插件则用来做一些通用的底层逻辑;
3)UE4插件可以包含多个模块,模块则依赖于插件;
4)一个插件最少包含一个模块;
UE4预设的插件说明
纯内容的插件下面放一些美术资源;
蓝图库相当于一个函数库;
编辑器工具栏按钮插件创建后,会在编辑器上增加一个按钮;
编辑器Standalone窗口和上面的编辑器工具栏按钮插件类似,会在编辑器上增加一个按钮,点击后会独立新增一个独立小窗口;
编辑器模式的插件创建后,会在上图的工具栏上新增一个按钮;
第三方库插件可以用来包含第三方的库,如MySql;
插件描述信息;
UE4插件的启动文件
在项目下创建一个空白插件后,打开插件的启动文件,该文件是一个json文件;
插件启动后,会解析该json对象,读取插件及模块的信息;其中,模块下的Type为开发时,表示该插件只会在开发模式时加载,打包后则不会加载;
插件模块下Type的说明符;
1)Runtime:在任何模式下都会加载;
2)RuntimeNoCommandlet:不包含命令行的Runtime模式;
3)RuntimeAndProgram:包含UE4程序的模式;
4)Developer:开发模式下使用,打包模式下不会调用;
5)Editor:编辑器启动时会自动加载;
6)Program:独立的小程序;
7)ServerOnly:服务端类型插件;
8)ClientOnly:客户端类型插件;
UE4加载模块的顺序:
插件下模块里,读取说明符:
1)PostConfigInit:引擎初始化之前进行加载;配置系统初始后进行加载;
2)PreEarlyLoadingScreen:在加载UObject之前进行加载;
3)PreDefault:默认模块加载之前加载;
4)PostDefault:默认模块加载之后加载;
插件的Bulid.cs文件
公共路径的名称,在默认的文件目录下,如果还要新建其它目录,需要在这里进行配置,否则会找不到对应文件;
公共依赖和私有依赖的模块名称;当有其它模块引用了该插件时,公共的依赖可以被其它模块访问,但私有依赖则不能被访问;
动态读取模块的名称;
在项目中使用插件时,需要在项目的Bulid.cs文件里包含插件的模块;
UE4项目里新增模块后需要在Target.cs文件加上模块名,否则编译器不会编译该模块
Target.cs和Bulid.cs文件
Target.cs文件管编译,Bulid.cs管连接;