Version: 2021.2
Dependency and resolution

Package states and lifecycle

Starting from Unity Editor version 2021.1, a package may travel through the following states during its lifecycle:

Package lifecycle with Unity Package Manager
Package lifecycle with Unity Package Manager
Birth (A) While the package developer creates the package, it is in the “Custom” state.

When it is ready for Unity users to test it and provide feedback, a package enters the “Experimental” state. Unity does not support experimental packages and does not guarantee that experimental packages will be fully released and verified to be safe to use in production until they enter the release track.

Experimental packages either use 0 as the major portion of their version or the -exp.# suffix on the patch portion of their version. For example, mypackage@0.1.2 or mypackage@1.2.3-exp.1.
Release track As soon as a package passes quality testing and doesn’t contain any experimental features or functionality (including having dependencies on experimental packages), it enters the “Pre-release” state, which is on the release track. That means that Unity fully supports it and commits to officially releasing them by the end of the current LTS cycle (for example, 2021.3) at the latest. For a list of pre-release packages available for this version, see Pre-release packages.

Unity’s release management only grants a package the “Released” 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 appear in the Unity Editor with the label and never use non-numeric suffixes as part of their version. For a list of released packages available for this version, see Released packages.

If the package developer updates or changes a released package, that package might return to another state depending on the severity:
Type of change: New state: Version bump:
(B) Major API change that breaks an API Experimental 1.2.3 => 2.0.0-exp
(C) Minor API change that does not break the API but affects usage Pre-release 1.2.3 => 1.3.0-pre
(D) Bug fixes, trivial changes, and documentation updates typical of patch updates Released (same state) 1.2.3 => 1.2.4
Death (E) Packages cannot be used at all in the Unity Editor versions where they have been marked “Deprecated”.

Some experimental packages are deprecated without ever reaching the release cycle track.

The Package Manager window displays a tagA reference word which you can assign to one or more GameObjects to help you identify GameObjects for scripting purposes. For example, you might define and “Edible” Tag for any item the player can eat in your game. More info
See in Glossary
that corresponds to some of these states.

Note: These package states only apply to packages that Unity develops internally. Contact third-party package developers to ask about their specific processes.

  • Some advanced or support packages are no longer discoverable in the Package Manager window 2020.1 NewIn20201
  • New package lifecycle (V2) for the Package Manager 2021.1 NewIn20211
Dependency and resolution