Unity 包管理器是 Unity 的官方包管理系统。它执行以下操作
您可以使用包管理器来定义项目依赖项、解析包依赖项、下载包、添加包以及在项目中集成内容。
有关包是什么以及 Unity 包管理器如何工作的常规信息,请参阅包包是在 Unity 中共享和重复使用的资产集合。 Unity 包管理器 (UPM) 可以显示、添加和删除项目中的包。 这些包是 Unity 包管理器原生的,并提供了一种提供 Unity 功能的基本方法。 但是,Unity 包管理器还可以显示您从 Asset Store 下载的Asset Store 包。 更多信息
请参阅词汇表文档。
包可以包含以下内容
注意:包管理器不支持包中的流式资产。请改用Addressables包。
每个包还包含一个包清单每个包都有一个清单,它向包管理器提供有关包的信息。 清单包含诸如包名称、版本、用户描述、对其他包的依赖项(如果有)和其他详细信息等信息。 更多信息
请参阅词汇表文件,其中包含包名称、版本、其依赖项列表及其存储库的 URL 等信息。
创建新包
使用以下方法之一为包创建一个空外壳
确保您的文件夹结构布局遵循 Unity 包的包布局约定。例如,如果您有 Editor 和 Runtime 库,请确保将它们存储在 Editor
和 Runtime
文件夹下。
如果您的包包含代码,请确保您创建的包布局具有必要的程序集定义文件。有关创建和定义程序集定义文件的信息,请参阅程序集定义和包。有关其他信息,请参阅程序集定义。
注意:如果添加程序集定义文件后控制台窗口一个 Unity 编辑器窗口,显示 Unity 或您自己的脚本生成的错误、警告和其他消息。 更多信息
请参阅词汇表报告警告,请保存您的项目,关闭它,然后重新打开它。
添加您的工具、库和包所需的任何资产。
向您的包添加测试。测试对于确保包在不同场景中按预期工作至关重要
Tests/Editor
。Tests/Runtime
。如果您的包有示例,请将它们添加到正确的示例子文件夹中。
注意:包只能包含示例,但您也可以使用相同的布局和 JSON 结构将示例作为工具或模板包的一部分包含在内。
每次发布新版本时,您都可以更新 CHANGELOG.md
文件。每个新功能或错误修复都应在此文件中留下痕迹。有关所选更改日志格式的更多详细信息,请参阅保持更改日志文档。
对于您不共享的包,此步骤是可选的,但对于共享包强烈推荐,以便用户知道哪个版本最适合他们的需求。
提示:您可以通过在包的 package.json
清单文件中设置changelogUrl 属性,提供到您托管此包的更改日志的外部网页的链接。
您可以在 LICENSE.md
和 THIRD PARTY NOTICES.md
文件中包含许可证和第三方声明。
对于您不共享的包,此步骤是可选的,但对于共享包强烈推荐,以便您的用户不会滥用您的包或违反任何第三方许可证。
提示:您可以通过在包的 package.json
清单文件中设置licensesUrl 属性,提供到您托管此包的许可证和第三方声明的外部网页的链接。
记录您的包。
提示:您可以通过在包的 package.json
清单文件中设置documentationUrl 属性,提供到您托管此包的文档的外部网页的链接。
共享您的包。
如果您想在项目文件夹内创建自定义包,请按照以下说明操作。
注意:这些说明是创建自定义包的更大步骤的一部分。
打开 Unity Hub,并在您的计算机上创建一个空项目。
您也可以使用计算机上的现有项目,并将包嵌入到您的项目中或从本地文件夹安装包。但是,从新项目开始可以使包内容不太容易出错。
使用计算机的文件管理器(例如 Windows 文件资源管理器或 macOS Finder),导航到您的项目文件夹并找到 Packages
子目录。
在 Packages
文件夹内为您的包创建一个新的子目录,使用与包名称匹配的名称并遵循命名约定。例如,如果您的包名称为 com.example.mypackage
,请创建一个名为 com.example.mypackage
的子目录。
注意:如果您的包包含资产,这一点尤其重要,因为AssetDatabase 会查找与 Packages/<your-package-name>/Assets
匹配的资产路径,而不管实际文件夹名称如何。
打开您喜欢的文本编辑器,并在包文件夹的根目录中创建一个名为 package.json
的 JSON 文件。
重新打开 Unity 后,新包将显示在包管理器窗口和项目窗口显示您的 Assets
文件夹内容的窗口(项目选项卡) 更多信息
请参阅词汇表中,您可以在其中查看和修改包内容。如果在项目窗口中选择 package.json
文件,您也可以直接在检查器一个 Unity 窗口,显示有关当前选定的 GameObject、资产或项目设置的信息,允许您检查和编辑值。 更多信息
请参阅词汇表窗口中修改其 JSON 值。
返回主步骤以完成包的创建。
如果您想在项目文件夹外部创建自定义包,请按照以下说明操作。
注意:这些说明是创建自定义包的更大步骤的一部分。
使用计算机的文件管理器(例如 Windows 文件资源管理器或 macOS Finder),为您的包创建一个文件夹。
如果您已经为您的包创建了一些内容,也可以使用现有位置。
打开您喜欢的文本编辑器,并在包文件夹的根目录中创建一个名为 package.json
的 JSON 文件。
填写 package.json
文件中所有必需和推荐的字段,确保 name
属性遵循命名约定。您可以使用包清单示例作为参考。
在 Unity 中,创建一个新项目或打开一个现有项目。
打开包管理器窗口,并按照安装本地包的说明操作,使用您刚刚创建的 package.json
文件。此步骤对于确保创建所需的 .meta
文件至关重要。
新包将显示在包管理器窗口和项目窗口中,您可以在其中查看和修改包内容。如果在项目窗口中选择 package.json
文件,您也可以直接在检查器窗口中修改其 JSON 值。
返回主步骤以完成包的创建。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.