Version: 2022.1
网络问题
为包命名

创建自定义包

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

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

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

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

概述

包可以包含以下内容:

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

注意:Package Manager 不支持包中的流媒体资源。而应使用 Addressables 包。

每个包还包含一个包清单文件,其中包含诸如包名称、其版本、其依赖项列表以及其存储库 URL 之类的信息。

Procedure

要创建新包,请执行以下操作:

1.使用下列其中一种方法来为包创建一个空 shell:

* [设置嵌入式包](#EmbedMe)。
* [设置本地包](#LocalMe)。
  1. Make sure the layout of your package follows the package layout convention for Unity packages.

  2. Rename and configure the assembly definition files.

  3. Implement your tools, libraries, and any assets your package requires.

  4. Add tests to your package. Tests are essential for ensuring that the package works as expected in different scenarios:

    • 将所有 Editor 测试写入 Tests/Editor 中。
    • 将所有 Playmode 测试写入 Tests/Runtime 中。

6.如果有示例,将示例添加到包。

**注意**:包只能包含示例,不过,如果使用相同的布局和 JSON 结构,也可以将示例作为工具或模板包的一部分包含在内。
  1. You can update the CHANGELOG.md file every time you publish a new version. Every new feature or bug fix should have a trace in this file. For more details on the chosen changelog format, see the Keep a Changelog documentation.

    对于未共享的包,这是可选的操作,但对于共享的包,强烈建议这样做,以便用户知道哪个版本最符合他们的需求。

    提示:您可以在包的 package.json 清单文件中使用 changelogUrl 属性提供一个指向外部网页(承载该包的更改日志)的链接。

  2. You can include licenses and third-party notices in the LICENSE.md and THIRD PARTY NOTICES.md files.

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

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

  3. Document your package.

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

  4. Share your package.

创建新的嵌入式包

Follow these instructions if you want to create a custom package inside your project folder. Note: These instructions are part of the larger procedure for Creating custom packages.

  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.json file. You can use the package manifest example as a reference.

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

创建新的本地包

Follow these instructions if you want to create a custom package outside your project folder. Note: These instructions are part of the larger procedure for Creating custom packages.

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.json file. You can use the package manifest example as a reference.

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

  1. Open the Package Manager window and follow the instructions for installing a local package, using the package.json file you just created.

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


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