Unity 加载项目时,Unity Package Manager 会读取项目清单,以便计算要加载的包的列表。当用户通过 Package Manager 窗口安装或卸载包时,Package Manager 会将这些更改存储在项目清单文件中。项目清单文件通过依赖关系对象来管理包的列表。
此外,项目清单还可以作为 Package Manager 的配置文件。它存储一个或多个包注册表的位置。对于 Git 包,项目清单还提供了一个锁定对象,用于定义提交哈希和修订号,以确保 Package Manager 始终安装完全相同的依赖项。
您可以在 Unity 项目根文件夹下的 Packages
文件夹中找到名为 manifest.json
的项目清单文件。与包清单文件类似,项目清单文件使用 JSON(JavaScript 对象表示法)语法。
所有属性均为可选。但是,如果您的项目清单文件不包含任何值,则不会加载 Package Manager 窗口,并且 Package Manager 不会加载任何包。
提示:任何时候,都可以从 Unity 帮助主菜单中选择 Reset packages to defaults 来解决注册表问题。但请注意,此操作将重置您对项目中的包所做的所有更改,因此最好将这种策略用作最后的选择。
键 | JSON 类型 | 描述 |
---|---|---|
dependencies | 对象 | 项目中可用包的列表。清单中的此条目使用映射结构列出与项目所需版本关联的包名称。 请参阅依赖关系部分了解有关所有受支持模式的更详细概述。 注意:该列表不包括间接依赖项(也就是其他包需要的包)。 |
registry | String | Unity Package Manager 主注册表的 URL。这将覆盖默认的注册表 URL (https://packages.unity.com )。注意:如果您用自己的注册表覆盖默认注册表,则会失去对官方 Unity 包的访问权限。但如果您想使用自己的私有包集合来扩充 Unity 包库,请设置 scopedRegistries 属性以改用某一范围内的注册表。 |
scopedRegistries | 对象数组 | 指定除了默认注册表之外的自定义注册表。这样允许您托管自己的包。 请参阅范围注册表一节以了解更多详细信息。 |
lock | 对象 | 用提交哈希和所选修订版本描述 Git 包解析信息。Package Manager 将自动更新此属性。这样可以保证 Package Manager 安装完全相同的依赖项。 该属性是为 Git 包保留的属性,但是其他功能未来可能会使用该属性,以保证确定性的包版本解析。 |
testables | 字符串数组 | 列出您要包含在 Unity Test Runner 中的包名称。有关更多信息,请参阅向包添加测试。 |
{
"registry": "https://my.registry.com",
"scopedRegistries": [{
"name": "My internal registry",
"url": "https://my.internal.registry.com",
"scopes": [
"com.company"
]
}],
"dependencies": {
"com.unity.package-1": "1.0.0",
"com.unity.package-2": "2.0.0",
"com.unity.package-3": "3.0.0",
"com.unity.my-local-package": "file:/path/to/com.unity.my-local-package",
"com.unity.my-git-package": "https://my.repository/my-package.git#v1.2.3"
},
"lock": {
"com.unity.my-git-package": {
"hash": "9e72f9d5a6a3dadc38d813d8399e1b0e86781a49",
"revision": "v1.2.3"
}
},
"testables": [ "com.unity.package-1", "com.unity.package-2" ]
}
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.