项目打包时会根据项目启用的插件生成一个 PROJECT_NAME.upluginmanifest
文件,其中记录了每个启用的插件的 uplugin
的路径和内容信息,该文件也会打包到 pak 中。
Mount Point 为:../../../PROJECT_NAME/Plugins/PROJECT_NAME.upluginmanifest
在 Editor 下运行时不会读取这个文件,通过扫描引擎和项目以及 Mods
目录下的 Plugin 目录来查找插件的,相关的逻辑在 Runtime/Projects/Private/PluginManager.cpp
的ReadAllPlugins
函数中。
1 |
|
在非 Editor 下通过加载 upluginmanifest 文件来确定当前工程中有哪些插件的(upluginmanifest 文件可以有多个,只要放在 ../../../PROJECT_NAME/Plugins
目录下即可),如果一个插件在基础包中不存在,但是热更时新建了一个 Content Only 插件打包资源,需要把该插件添加至 upluginmanifest 中并且也需要把该插件的 uplugin 打包至 pak 中。
upluginmanifest 文件在 AutomationTool 中被创建,在 CopyBuildToStagingDirectory.Automation.cs
中有 CreatePluginManifest
函数。