本节介绍有关 Unity Package Manager 功能的许多概念:
每个包都有多个版本,标记了该包在自身的生命周期中所经历的更改。每次开发人员更新包时,都会为该包提供一个新的版本号。包版本的更改会告诉您这次更改包含了重大更改(主要)、新的向后兼容功能(次要)还是仅 Bug 修复(补丁),并遵循语义版本控制。
要查看特定包可用的版本列表,请参阅查找特定版本。
清单文件有两种类型:
manifest.json
) 存储 Package Manager 在查找和加载正确的包时所需的信息,并列出声明为依赖项的包和版本。package.json
) 存储有关特定包的信息,并列出该包所需的包和版本。这两种文件都使用 JSON(JavaScript 对象表示法)语法。
在 Unity 的 Package Manager 的领域中,包注册表是一个服务器,用于存储每个包版本的包内容和信息(元数据)。Unity 维护了一个可供分发的官方包的中央注册表。默认情况下,所有项目都使用官方的 Unity 包注册表,但是您可以添加其他注册表来存储和分发私有包或在开发期间暂存自定义包。
Unity Package Manager 是管理整个包系统的工具。此工具的主要任务包括:
The Unity Package Manager installs samples, tools, and assets on a per-project basis, rather than installing them across all projects for a specific machine or device. It uses a global cache to store downloaded package metadata and contents. Once installed in a project, Unity treats package assets just like any other asset in the project, except that these assets are stored inside the package folder and are immutable. You can permanently change content only from Local and Embedded package sources.
来源描述了包的来源:
来源 | 描述 |
---|---|
注册表 | 对于大多数的包,在您请求这些包时,Unity Package Manager 将它们从包注册表服务器下载到计算机上的全局缓存中。这些包是不可变的,因此您可以在项目中使用这些包,但是不能修改这些包,也无法更改它们的包清单。 |
内置 | 这些包允许您启用或禁用 Unity 功能(例如,地形物理 (Terrain Physics)、动画 (Animation) 等)。这些包是不可变的。有关更多信息,请参阅内置包。 |
嵌入式 | 项目文件夹中存储的所有包均为嵌入式。此来源与自定义状态相对应,因为当您开始自定义包的开发时,通常会将包所需的所有脚本、库、示例和其他资源放在项目文件夹下的文件夹中。 |
本地 | 可从计算机上的任何文件夹中安装包(例如,如果在本地克隆了开发代码仓库)。 |
Tarball (local) | 可通过计算机上的 tarball 文件来安装包。Package Manager 从 tarball 中提取包并将其存储在缓存中。但是,与从本地文件夹安装不同,这些包是不可变的。 |
Git | Package Manager 直接从 Git 代码仓库安装基于 Git 的包,而不是从包注册表服务器进行安装。 |
要编辑包的包清单,请参阅检查包。
The Package Manager window displays a label that corresponds to some of these sources. For more information, see Labels.
Note: The Package Manager stores packages that you download from the Asset Store in a cache which is separate from the global cache. See Asset Store packages for more information.
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.
您访问任何网站时,网站都可能在您的浏览器上存储或检索信息,大多数是以 Cookie 的形式进行。此信息可能与您、您的偏好、您的设备相关,或者该信息被用于使网站按照您期望的方式工作。这些信息通常不会直接识别您,但它可为您提供更多个性化的 Web 体验。您可以选择不允许使用某些类型的 Cookie。单击不同类别标题以了解更多信息并更改默认设置。但是,您应该知道,阻止某些类型的 Cookie 可能会影响您的网站体验和我们能够提供的服务。
更多信息
这些 Cookie 允许提供增强功能和个性化内容,如视频和实时聊天。我们或我们已将其服务添加至我们页面上的第三方提供者可以进行设置。如果您不允许使用这些 Cookie,则可能无法实现部分或全部功能的正常工作。
使用 Cookie,我们可以计算访问量和流量来源,以便衡量和提高我们网站的性能。Cookie 有助于我们了解哪些页面最受欢迎、哪些最不受欢迎,并查看访问者如何浏览网站。这些 Cookie 收集的所有信息都聚合在一起,因此是匿名处理方式。如果您不允许使用这些 Cookie,我们将不知道您何时访问了我们的网站。
这些 Cookie 由广告合作伙伴通过我们的网站进行设置。这些公司可能利用 Cookie 构建您的兴趣分布图并向您展示其他网站上的相关广告。它们只需识别您的浏览器和设备便可发挥作用。如果您不允许使用这些 Cookie,您将不能体验不同网站上的定向广告。
网站运行离不开这些 Cookie 且您不能在系统中将其关闭。通常仅根据您所做出的操作(即服务请求)来设置这些 Cookie,如设置隐私偏好、登录或填充表格。您可以将您的浏览器设置为阻止或向您提示这些 Cookie,但可能会导致某些网站功能无法工作。