阅读(3096) (11)

Unity Package stases and lifecycle

2020-10-22 11:24:31 更新

After developing a package to the point where it is ready for Unity users to test it and provide feedback, a package enters the preview state. Packages in this state usually appear in the Unity Editor with the img label and often usepreviewas part of their version.

注意
In addition to the preview packages that are discoverable in the Package Manager window, there are some preview packages that are on Unity’s package registry server but don’t appear in the Unity Registry context. These packages are not discoverable in the Package Manager window because:  - They are considered to be somewhat experimental, and therefore too risky to use in production. Some of these packages require a lot of training and expertise and are therefore recommended only in specific circumstances. - They are support packages, meaning that you shouldn’t use them on their own because they are designed to provide shared or additional functionality to existing packages.  Undiscoverable packages can still appear in the Package Manager window if they were previously installed in your project. However, they are hidden so that users don’t discover them by accident and use them without realizing the risks.

Unity’s release management only grants a package the verified status after it passes several testing stages and validation procedures, which also include checks for appropriate documentation, changelog, and license files. Packages in this state may appear in the Unity Editor with the img label and never use preview as part of their version.

If the package developer introduces changing or breaking changes to a package (either by introducing a change that breaks an API or affects its usage), that package returns to the preview state and the Package Manager does not suggest the new preview package as a possible update for the verified version.

![Unity Package Manager 中的包生命周期]![]Unity Package Manager 中的包生命周期

These states match where the package is in the development cycle:

状态 描述
开发中 (In Development) 包开发者创建包。通常,这相当于将包嵌入到开发者的项目中。
预览 (Preview) When the package is ready for testing, the Unity package developer makes sure there is some basic test coverage, and that the package passes testing with the package validation suite. The package also needs at least preliminary documentation, an updated changelog, and licensing before the Unity package developer can apply to publish the package on Unity’s official package registry.  At this point, the package is available for testing, so that any eligible Unity user can provide the developer with feedback. Most packages are available to any Unity users, although a few packages are limited to Unity IDs with specific entitlements.  Preview packages can go through many changes before they are ready to be verified for a specific version of Unity. At some point in the future, they might pass the verification requirements; however, they might also be deprecated instead. Because there is no guarantee for future support, you should not use preview packages in production. For a list of preview packages available for this version, see Preview packages.
已验证 (Verified) 该包已经过严格的测试,通过了验证并可以安全地在特定 Unity 版本上使用,也可以和其他已针对同一版本进行了验证的包一起使用。此状态仅适用于 Unity 内部开发的包。对于第三方的包,请与相应的开发者联系,以询问有关其特定流程的信息。  当某个包针对某一 Unity 版本经过验证后,Unity 保证在该 Unity 版本的存续期间支持这个经验证的包(在整个长期支持周期内),并且不允许进行任何主要或次要更新(即,那些会破坏或更改 API 的更改)。对于每个新的 Unity 版本,每个已验证的包都必须再次经历验证过程,然后 Package Manager 才将其视为已验证。  要查看已针对此 Unity 版本验证过的包列表,请参阅已验证包。  注意:有些包既不是已验证的包,也不是预览包。在许多情况下,这是因为包在 Unity 的之前版本中进行了验证,但尚未针对当前版本完成验证过程。有些包已发布到 Unity Package Manager 注册表是因为它们被认为可以安全使用,但实际上从未经过验证。在上述两种情况下,这些包在实际生产中都可以安全使用。

The Package Manager window displays a tag that corresponds to some of these states.