Version: 2020.3
概念
依赖和解析

包状态和生命周期

在一个包开发达到 Unity 用户可以测试包并提供反馈的阶段后,该包进入预览状态。处于这种状态的包在 Unity 编辑器中显示时通常带有 标签,并通常在其版本中使用 preview 字样。

注意
除了在 Package Manager 窗口中可见的预览包之外,还有一些预览包位于 Unity 的包注册表服务器上,但不出现在 Unity Registry 上下文中。这些包在 Package Manager 窗口中是不可见的,因为:

- 它们被视为是有点实验性的,因此在生产中使用是有风险的。其中一些包需要大量培训和专业知识,因此仅建议在特定情况下使用。
- 它们是支持包,这意味着您不应单独使用它们,因为它们旨在为现有包提供共享或附加功能。

如果之前在项目中安装了不可见的包,它们仍会出现在 Package Manager 窗口中。但是,它们是隐藏的,因此用户不会意外发现它们并在没有意识到风险的情况下使用它们。

仅当一个包通过多个测试阶段和验证过程(包括对相应文档、变更日志和许可证文件进行检查)之后,Unity 的版本管理功能才会向该包授予已验证状态。处于这种状态的包在 Unity 编辑器中显示时可能会带有 标签,并且绝不会在其版本中使用 preview 字样。

如果包的开发者对包进行更改或重大更改(引入某项破坏 API 或影响其使用的更改),则该包将回到预览状态,并且 Package Manager 不建议使用新的预览包作为已验证版本的更新选项。

Unity Package Manager 中的包生命周期
Unity Package Manager 中的包生命周期

以下状态表示包在开发周期中所处的阶段:

状态 描述
自定义 包开发者创建包。通常,这相当于将包嵌入到开发者的项目中。
预览 (Preview) 当包准备好接受测试时,Unity 包开发者将确保基本的测试覆盖范围,并且确保该包通过了包验证套件 (Package Validation Suite) 的测试。该包还至少需要初步文档、更新的变更日志和授权许可,然后 Unity 包开发者才能申请在 Unity 的官方包注册表上发布该包。

到此时为止,该包可供测试,这样任何符合条件的 Unity 用户都可以向开发者提供反馈。大多数包都可供任何 Unity 用户使用,但少数包仅限具有特定权利的 Unity ID 使用。

预览包可能要经历许多次更改,然后才能变为适合特定 Unity 版本的已验证状态。在将来的某个时候,预览包可能会通过验证要求;但是,它们也可能被弃用。由于不能保证将来会获得支持,因此不应在实际生产中使用预览包。有关该版本可用的预览包的列表,请参阅预览包
已验证 (Verified) 该包已经过严格的测试,通过了验证并可以安全地在特定 Unity 版本上使用,也可以和其他已针对同一版本进行了验证的包一起使用。此状态仅适用于 Unity 内部开发的包。对于第三方的包,请与相应的开发者联系,以询问有关其特定流程的信息。

当某个包针对某一 Unity 版本经过验证后,Unity 保证在该 Unity 版本的存续期间支持这个经验证的包(在整个长期支持周期内),并且不允许进行任何主要或次要更新(即,那些会破坏或更改 API 的更改)。对于每个新的 Unity 版本,每个已验证的包都必须再次经历验证过程,然后 Package Manager 才将其视为已验证。

要查看已针对此 Unity 版本验证过的包列表,请参阅已验证包

注意:有些包既不是已验证的包,也不是预览包。在许多情况下,这是因为包在 Unity 的之前版本中进行了验证,但尚未针对当前版本完成验证过程。有些包已发布到 Unity Package Manager 注册表是因为它们被认为可以安全使用,但实际上从未经过验证。在上述两种情况下,这些包在实际生产中都可以安全使用。

Package Manager 窗口会显示与上述某些状态对应的标签



*部分高级或支持包在 Package Manager 窗口中不再可见 2020.1 NewIn20201

概念
依赖和解析
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961