A new Package Manager experience in Unity 2021.1
The Package Manager is a modular system and API designed to speed up your workflows and optimize the size of your runtime by offering Unity-developed features as optional packages.
This move away from a monolithic architecture where every feature used to be embedded as part of the core editor gives you the power to customize your development environment to be purposeful and performant.
We’ve continued to invest in improving the Package Manager experience over the years, and we want to share upcoming changes you’ll see in the 2021.1 Tech Stream release.
We heard you loud and clear about how lack of clarity around package readiness, supported packages and quality concerns affected your workflows. By ensuring that packages are clearly labeled and categorized you will be able to identify what are supported vs pre-release easily and quickly. Hopefully these changes can give insight into how a package moves through each phase and what to expect in each ultimately winding up with the gold standard for packages in Unity.
What does this mean?
Packages are getting a new categorization labeled either “Released” or “Pre-release” in the editor. Experimental packages (the third category) will not show up UNLESS they have been manually installed. With one glance and you’ll be able to tell what will be the optimal package for your project via visual icons.
The Experimental phase contains exploratory and cutting-edge packages. They have not been tested for production, and they are not necessarily part of any roadmap. While individuals or teams might offer direct support to users for Experimental packages, they are not maintained by official Unity support channels. Experimental packages can be deprecated without being released.
Given the potential risk associated with using Experimental packages in production projects, they will not be discoverable in the Editor’s Package Manager, however you can find information about ongoing Experimental packages in the forum and through Unity beta communications, where you can also find instructions on how to add them to your test projects and discuss them with the developers.
The following summarizes each phase of this new lifecycle.
Pre-release packages are actively being developed and need feedback from early adopters. It is expected that those packages will stabilize and reach the Released phase by the next Unity LTS (long term support) release of the year. Pre-release packages are officially supported by Unity and are part of the roadmap. To discover these packages in Package Manager, you need to enable this option in the Project Settings. Information about these packages will also be shared in Unity beta communications.
“Experimental” and “Pre-release” will no longer be discoverable by default in the Package Manager, however they will still be available to you. Your feedback on these early versions of packages is invaluable to us and is a critical part of the package lifecycle process. We’re building out a dedicated forum and a webpage to keep you up-to-date and communicate all the latest available Experimental and Pre-release packages, and we will share details in our beta communications as well.
Released packages are the equivalent of the Verified phase of the previous lifecycle. They constitute the default discovery experience in the Package Manager window, ensuring that all packages discovered in the Package Manager by default are fully validated by Unity and safe to use in production projects.
What this means is that releases are tested, validated and you know it meets our team’s rigid release standards. Create with confidence.
You can find information about specific Released and Release Candidate packages in the Unity Manual.
What happened to packages that were previously available as Preview?
All Preview packages will be classified as Experimental in Unity 2021.1. Teams at Unity will promote these packages to Pre-release state when they are on track to become Released by the next LTS release of Unity and they are heading towards a set of stable APIs.
Packages can remain in the Experimental stage for an indefinite amount of time. They are unsupported and might not ever be Released.
How can Experimental packages be discovered or tested?
You will be able to learn about Experimental packages through beta-related communications and in the forum. These packages are high risk and intended only for testing purposes. They will typically be announced for product feedback or specific testing needs.
How will deprecated packages be announced?
Information about Experimental packages will be shared in a package’s dedicated forum thread.
Released packages that are being deprecated will be announced publicly as part of the general communications.
Which Unity versions use which lifecycle?
Unity 2018 to Unity 2020: Lifecycle v1 (Preview, Verified phases)
Unity 2021 and newer: Lifecycle v2 (Experimental, Pre-release, Released phases)
How can newer versions of Released packages be discovered and tested?
Newer versions of the packages will be released in the Pre-release stage, which is discoverable if you have enabled this option in Project Settings.
Where can I find non-released packages that are now not visible?
If the packages don’t get to the Pre-release state, we can’t guarantee their availability or support. We recommend that you visit their forum threads to learn about the status so we can help you find an answer.
We look forward to hearing from you about the new Package Manager experience and appreciate all the feedback so far that has enabled us to bring this to you! For any questions or comments, head over to the forums!