Version: 2020.3
网络问题
为包命名

创建自定义包

Unity Package Manager 是 Unity 官方的包管理系统。具备以下功能:

  • 允许 Unity 快速轻松地分发新功能以及更新现有功能。
  • 为用户提供一个发现和共享可重用组件的平台。
  • 将 Unity 提升为可扩展的开放平台。

使用 Package Manager 可以定义项目依赖项,解析包依赖关系,根据需要下载和添加包,以及将内容集成到项目中。

有关包的简介以及 Unity Package Manager 工作方式的一般信息,请参阅文档。

概述

包可以包含以下内容:

  • C# 脚本
  • 程序集
  • 原生插件
  • 模型、纹理、动画和音频剪辑以及其他资源。

注意: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.mdTHIRD PARTY NOTICES.md 文件中包含许可证和第三方声明

对于未共享的包,这是可选的操作,但对于共享的包,强烈建议这样做,以免用户滥用您的包或违反任何第三方许可证的要求。

**提示**:您可以在包的 package.json 清单文件中使用 [licensesUrl](upm-manifestPkg.html#licensesUrl) 属性提供一个指向外部网页(承载该包的许可和第三方声明)的链接。

8.为包撰写文档

**提示**:您可以在包的 package.json 清单文件中使用 [documentationUrl](upm-manifestPkg.html#documentationUrl) 属性提供一个指向外部网页(承载该包的文档)的链接。

9.共享包。

创建新的嵌入式包

如果要在项目文件夹内创建自定义包,请遵循以下说明。

  1. Open the Unity Hub, and create an empty project on your computer.

    也可以使用计算机上的现有项目,然后将包嵌入在项目下从本地文件夹安装包。但是,创建新项目的做法会降低包内容出错的几率。

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.将这个文件保存在您创建的新包根文件夹下面。

  1. Fill out all required and recommended fields in the package manifest (package.json) file.

重新打开 Unity 时,新包会显示在 Package Manager 窗口中和 Project 窗口中,可以在其中查看和修改包内容。如果在 Project 窗口中选择 package.json 文件,则也可以直接在 Inspector 窗口中修改其内容。

创建新的本地包

如果要在项目文件夹外创建自定义包,请遵循以下说明:

1.使用计算机的文件管理器(例如 Windows 文件资源管理器或 macOS Finder),为包创建一个文件夹。

如果已经为包创建了一些内容,则也可以使用现有位置。

2.确保您的文件夹结构的布局遵循 Unity 包的包布局约定。例如,如果具有 Editor 库和 Runtime 库,请确保将它们存储在 EditorRuntime 文件夹下。

3.打开所选的文本编辑器,然后创建一个名为 package.json 的 JSON 文件。

4.将这个文件保存在包根文件夹下。

  1. Fill out all required and recommended fields in the package manifest (package.json) file.

6.在 Unity 中,创建一个新项目或打开一个现有项目。

7.打开 Packages 窗口,然后使用刚刚创建的 package.json 文件,按照安装本地包的说明操作。

新包会显示在 Package Manager 窗口中和 Project 窗口中,可以在其中查看和修改包内容。如果在 Project 窗口中选择 package.json 文件,则也可以直接在 Inspector 窗口中修改其内容。


  • 在 Unity 2019.1 中添加了自定义包 NewIn20191
网络问题
为包命名