Unity Package Manager 是 Unity 官方的包管理系统。具备以下功能:
使用 Package Manager 可以定义项目依赖项,解析包依赖关系,根据需要下载和添加包,以及将内容集成到项目中。
有关包的简介以及 Unity Package Manager 工作方式的一般信息,请参阅包文档。
包可以包含以下内容:
注意:Package Manager 不支持包中的流媒体资源。而应使用 Addressables 包。
每个包还包含一个包清单文件,其中包含诸如包名称、其版本、其依赖项列表以及其存储库 URL 之类的信息。
要创建新包,请执行以下操作:
1.使用下列其中一种方法来为包创建一个空 shell:
* [设置嵌入式包](#EmbedMe)。
* [设置本地包](#LocalMe)。
2.实现您的工具、库以及您的包所需的任何资源。
3.确保包的布局遵循 Unity 包的包布局约定。
4.向包添加测试。测试对于确保包在不同情况下能够按预期工作至关重要:
* 将所有 Editor 测试写入 `Tests/Editor` 中。
* 将所有 Playmode 测试写入 `Tests/Runtime` 中。
5.重命名并更新程序集定义文件。
6.如果有示例,将示例添加到包。
**注意**:包只能包含示例,不过,如果使用相同的布局和 JSON 结构,也可以将示例作为工具或模板包的一部分包含在内。
6.每次发布新版本时,您都可以更新 CHANGELOG.md
文件。每个新功能或错误修复都应在此文件中包含跟踪。有关所选变更日志格式的更多详细信息,请参阅保留变更日志 (Keep a Changelog) 文档。
对于未共享的包,这是可选的操作,但对于共享的包,强烈建议这样做,以便用户知道哪个版本最符合他们的需求。
**提示**:您可以在包的 package.json 清单文件中使用 [changelogUrl](upm-manifestPkg.html#changelogUrl) 属性提供一个指向外部网页(承载该包的更改日志)的链接。
7.可以在 LICENSE.md
和 THIRD PARTY NOTICES.md
文件中包含许可证和第三方声明。
对于未共享的包,这是可选的操作,但对于共享的包,强烈建议这样做,以免用户滥用您的包或违反任何第三方许可证的要求。
**提示**:您可以在包的 package.json 清单文件中使用 [licensesUrl](upm-manifestPkg.html#licensesUrl) 属性提供一个指向外部网页(承载该包的许可和第三方声明)的链接。
8.为包撰写文档。
**提示**:您可以在包的 package.json 清单文件中使用 [documentationUrl](upm-manifestPkg.html#documentationUrl) 属性提供一个指向外部网页(承载该包的文档)的链接。
9.共享包。
如果要在项目文件夹内创建自定义包,请遵循以下说明。
1.打开 Unity Hub,然后在计算机上创建一个空项目。
也可以使用计算机上的现有项目,然后[将包嵌入在项目下](upm-embed.html)或[从本地文件夹安装包](upm-ui-local.html)。但是,创建新项目的做法会降低包内容出错的几率。
2.使用计算机的文件管理器(例如 Windows 文件资源管理器或 macOS Finder),导航到项目文件夹,然后找到 Packages
子文件夹。
3.使用与包名称匹配的名称在 Packages
文件夹内为包创建一个新的子文件夹。例如,如果包名为 com.example.mypackage
,则子文件夹也应名为 com.example.mypackage
。
**注意**:如果包中包含资源,这尤为重要,因为 [AssetDatabase 查找资源路径](../ScriptReference/AssetDatabase.LoadAssetAtPath.html)需要与 `Packages/<your-package-name>/Assets` 匹配,无论实际文件夹的名称是什么。
4.打开所选的文本编辑器,然后创建一个名为 package.json
的 JSON 文件。
5.将这个文件保存在您创建的新包根文件夹下面。
6.填写包清单 (package.json
) 文件中的所有必填字段。
重新打开 Unity 时,新包会显示在 Package Manager 窗口中和 Project 窗口中,可以在其中查看和修改包内容。如果在 Project 窗口中选择 package.json
文件,则也可以直接在 Inspector 窗口中修改其内容。
如果要在项目文件夹外创建自定义包,请遵循以下说明:
1.使用计算机的文件管理器(例如 Windows 文件资源管理器或 macOS Finder),为包创建一个文件夹。
如果已经为包创建了一些内容,则也可以使用现有位置。
2.确保您的文件夹结构的布局遵循 Unity 包的包布局约定。例如,如果具有 Editor 库和 Runtime 库,请确保将它们存储在 Editor
和 Runtime
文件夹下。
3.打开所选的文本编辑器,然后创建一个名为 package.json
的 JSON 文件。
4.将这个文件保存在包根文件夹下。
5.填写包清单 (package.json
) 文件中的所有必填字段。
6.在 Unity 中,创建一个新项目或打开一个现有项目。
7.打开 Packages 窗口,然后使用刚刚创建的 package.json
文件,按照安装本地包的说明操作。
新包会显示在 Package Manager 窗口中和 Project 窗口中,可以在其中查看和修改包内容。如果在 Project 窗口中选择 package.json 文件,则也可以直接在 Inspector 窗口中修改其内容。