和其他大型IDE(集成开发环境)和编辑器一样,UE4的编辑器也支持插件开发,从而扩展编辑器的功能,提升开发的效率。
·插件开发的官方文档:https://docs.unrealengine.com/zh-CN/Programming/Plugins/index.html
·插件商店:https://www.unrealengine.com/marketplace/zh-CN/content-cat/assets/codeplugins
·插件相关的问题及解答:https://answers.unrealengine.com/questions/topics/plugin.html
按照作用域和存放的位置,插件可分为2种:
·属于引擎的插件:引擎下所有项目可共享的公共插件,在引擎根目录的Plugins文件夹
·属于项目的插件:只有本项目可使用的插件,在项目根目录的Plugins文件夹
按照使用的开发语言可分为:
·蓝图插件:以uasset格式存放的插件,需要在UE中编辑
·C++插件:用C++开发的插件,通常在Source目录下
·混合插件:用蓝图和C++共同开发的插件
插件可以包括多个模块(module),按照模块运行的时刻,可分为以下几种(描述文件的type字段):
·Runtime
·RuntimeNoCommandlet
·Developer
·Editor
·EditorNoCommandlet
·Program
插件描述文件是插件根目录下的一个JSON格式的文件,文件名即插件名,后缀是.uplugin。由于插件存放在Plugins目录下,文件夹的名称即插件的名称,引擎会递归扫描整个Plugins目录,通过uplugin文件来寻找所有可用的插件,但是已经找到的插件就不会再向节点下递归了。
字段名 | 作用 | 类型 |
---|---|---|
FileVersion | 文件版本,当前最新版是3 | Number |
Version | 版本 | Number |
VersionName | 版本名 | String |
FriendlyName | 插件名 | String |
Description | 描述信息 | String |
Category | 类别 | String |
CreatedBy | 作者 | String |
CreatedByURL | 作者链接 | String |
DocsURL | 文档网址 | String |
MarketplaceURL | 商城地址 | String |
SupportURL | 售后服务网址 | String |
CanContainContent | 是否包含内容(Content目录) | Boolean |
IsBetaVersion | 是否是测试版本 | Boolean |
Installed | 是否已安装 | Boolean |
Modules | 需要加载的模块 | Array |
Modules.Name | 加载的模块名字 | String |
Modules.Type | 加载模块的环境类型 | 枚举 |
Modules.LoadingPhase | 加载模块的阶段类型 | 枚举 |
Edit >> Plugins
Settings >> Plugins
选择插件的类型(模板),输入名称等信息。注意只有C++类型的项目才能选择模板,蓝图类型项目只能选择“只包含内容”模板。
Edit >> Plugins >> [your plugin] >> Package...
将导出的插件(文件夹的形式)移动到Plugins目录(项目下或引擎下),重启引擎后进入插件面板寻找(此时通常会提示有新插件可用)。
对于引擎的插件,推荐通过Epic Launcher来安装和卸载,尽量不要直接操作文件以防潜在的报错。想要从Epic商店里寻找插件,前往Epic Launcher的Marketplace面板下点击Browse选择Code Plugins,在下面选择付费或者免费的插件来安装,Epic会自动安装到“引擎/Plugins/Marketplace/”目录下。
Epic Launcher >> Marketplace >> Browse >> Code Plugins
卸载插件可以直接在Plugins目录下删除插件所在的文件夹,删除前最好先在插件面板中反选(禁用)该插件。
对于引擎的插件,推荐通过Epic Launcher来卸载,避免直接操作文件。在Library面板中在已安装的引擎版本下点击Installed Plugins按钮即可在弹窗中看到所有从商店中下载的插件,在其中点击移除按钮即可。注意如果按钮旁有一个感叹号,这代表有插件可更新。
Epic Launcher >> Library >> Installed Plugins