版本:Unity 6 (6000.0)
语言:English
已弃用的包
命名您的包

创建自定义包

Unity 包管理器是 Unity 的官方包管理系统。它执行以下操作

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

您可以使用包管理器来定义项目依赖项、解析包依赖项、下载包、添加包以及在项目中集成内容。

有关包是什么以及 Unity 包管理器如何工作的常规信息,请参阅包是在 Unity 中共享和重复使用的资产集合。 Unity 包管理器 (UPM) 可以显示、添加和删除项目中的包。 这些包是 Unity 包管理器原生的,并提供了一种提供 Unity 功能的基本方法。 但是,Unity 包管理器还可以显示您从 Asset Store 下载的Asset Store 包更多信息
请参阅词汇表
文档。

概述

包可以包含以下内容

  • C# 脚本
  • 程序集
  • 原生插件
  • 模型、纹理、动画和音频剪辑Unity 中音频数据的容器。Unity 支持单声道、立体声和多声道音频资产(最多八个通道)。Unity 可以导入 .aif、.wav、.mp3 和 .ogg 音频文件格式,以及 .xm、.mod、.it 和 .s3m 跟踪模块格式。 更多信息
    请参阅词汇表
    ,以及其他资产。

注意:包管理器不支持包中的流式资产。请改用Addressables包。

每个包还包含一个包清单每个包都有一个清单,它向包管理器提供有关包的信息。 清单包含诸如包名称、版本、用户描述、对其他包的依赖项(如果有)和其他详细信息等信息。 更多信息
请参阅词汇表
文件,其中包含包名称、版本、其依赖项列表及其存储库的 URL 等信息。

步骤

创建新包

  1. 使用以下方法之一为包创建一个空外壳

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

  3. 如果您的包包含代码,请确保您创建的包布局具有必要的程序集定义文件。有关创建和定义程序集定义文件的信息,请参阅程序集定义和包。有关其他信息,请参阅程序集定义

    注意:如果添加程序集定义文件后控制台窗口一个 Unity 编辑器窗口,显示 Unity 或您自己的脚本生成的错误、警告和其他消息。 更多信息
    请参阅词汇表
    报告警告,请保存您的项目,关闭它,然后重新打开它。

  4. 添加您的工具、库和包所需的任何资产。

  5. 向您的包添加测试。测试对于确保包在不同场景中按预期工作至关重要

    • 将所有编辑器测试写入 Tests/Editor
    • 将所有播放模式测试写入 Tests/Runtime
  6. 如果您的包有示例,请将它们添加到正确的示例子文件夹中。

    注意:包只能包含示例,但您也可以使用相同的布局和 JSON 结构将示例作为工具或模板包的一部分包含在内。

  7. 每次发布新版本时,您都可以更新 CHANGELOG.md 文件。每个新功能或错误修复都应在此文件中留下痕迹。有关所选更改日志格式的更多详细信息,请参阅保持更改日志文档。

    对于您不共享的包,此步骤是可选的,但对于共享包强烈推荐,以便用户知道哪个版本最适合他们的需求。

    提示:您可以通过在包的 package.json 清单文件中设置changelogUrl 属性,提供到您托管此包的更改日志的外部网页的链接。

  8. 您可以在 LICENSE.mdTHIRD PARTY NOTICES.md 文件中包含许可证和第三方声明

    对于您不共享的包,此步骤是可选的,但对于共享包强烈推荐,以便您的用户不会滥用您的包或违反任何第三方许可证。

    提示:您可以通过在包的 package.json 清单文件中设置licensesUrl 属性,提供到您托管此包的许可证和第三方声明的外部网页的链接。

  9. 记录您的包。

    提示:您可以通过在包的 package.json 清单文件中设置documentationUrl 属性,提供到您托管此包的文档的外部网页的链接。

  10. 共享您的包。

创建新的嵌入式包

如果您想在项目文件夹内创建自定义包,请按照以下说明操作。

注意:这些说明是创建自定义包的更大步骤的一部分。

  1. 打开 Unity Hub,并在您的计算机上创建一个空项目

    您也可以使用计算机上的现有项目,并将包嵌入到您的项目中从本地文件夹安装包。但是,从新项目开始可以使包内容不太容易出错。

  2. 使用计算机的文件管理器(例如 Windows 文件资源管理器或 macOS Finder),导航到您的项目文件夹并找到 Packages 子目录。

  3. Packages 文件夹内为您的包创建一个新的子目录,使用与包名称匹配的名称并遵循命名约定。例如,如果您的包名称为 com.example.mypackage,请创建一个名为 com.example.mypackage 的子目录。

    注意:如果您的包包含资产,这一点尤其重要,因为AssetDatabase 会查找与 Packages/<your-package-name>/Assets 匹配的资产路径,而不管实际文件夹名称如何。

  4. 打开您喜欢的文本编辑器,并在包文件夹的根目录中创建一个名为 package.json 的 JSON 文件。

  5. 填写 package.json 文件中所有必需和推荐的字段。您可以使用包清单示例作为参考。

重新打开 Unity 后,新包将显示在包管理器窗口项目窗口显示您的 Assets 文件夹内容的窗口(项目选项卡) 更多信息
请参阅词汇表
中,您可以在其中查看和修改包内容。如果在项目窗口中选择 package.json 文件,您也可以直接在检查器一个 Unity 窗口,显示有关当前选定的 GameObject、资产或项目设置的信息,允许您检查和编辑值。 更多信息
请参阅词汇表
窗口中修改其 JSON 值。

返回主步骤以完成包的创建。

创建新的本地包

如果您想在项目文件夹外部创建自定义包,请按照以下说明操作。

注意:这些说明是创建自定义包的更大步骤的一部分。

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

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

  2. 打开您喜欢的文本编辑器,并在包文件夹的根目录中创建一个名为 package.json 的 JSON 文件。

  3. 填写 package.json 文件中所有必需和推荐的字段,确保 name 属性遵循命名约定。您可以使用包清单示例作为参考。

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

  5. 打开包管理器窗口,并按照安装本地包的说明操作,使用您刚刚创建的 package.json 文件。此步骤对于确保创建所需的 .meta 文件至关重要。

新包将显示在包管理器窗口和项目窗口中,您可以在其中查看和修改包内容。如果在项目窗口中选择 package.json 文件,您也可以直接在检查器窗口中修改其 JSON 值。

返回主步骤以完成包的创建。

已弃用的包
命名您的包