Project Management is evolving! Unity Package Manager Overview

Unity 2017.2 introduced the Package Manager, a modular system and API that dynamically loads and updates new Unity-developed features in your projects. Unity 2018.1 takes it one step further with the newly released Package Manager User Interface, the Hub, and Project Templates, all of which help you get new projects started faster and more efficiently.

The core pieces are:

Unity Hub: Currently in Beta, makes it easy to manage your projects and Unity Editor installs.

Unity Package Manager UI: Offers a new way to discover and update Unity-made features independently of the editor, which now ships with the Unity Editor (2018.1 and above).

Package Repository: A Unity-owned and operated content repository. For now, it only holds Unity-made packages.

The Package Manager UI

Quick access to new Unity features: Browse the list of available features for your version of the editor and download them from the cloud. Packages are dynamically and instantly included in your project. Package loading is backed by a local editor cache for an optimal online/offline experience.

Get the latest fixes, instantly: Quickly check for updates available for the packages you have installed in your project. Updates are downloaded from the cloud and instantly applied to your project when requested.

Access to Preview features: Many upcoming Unity features will be available as downloads from the Package Manager UI as soon as they’re available in preview.

Lightweight projects: Unity Packages are kept in a global cache on your machine and referenced by your project. When sharing your project with collaborators, you don’t need to share packages; the editor will fetch the necessary packages from the cloud repository in your project’s manifest.

What’s next!

In the upcoming releases, Unity Package Manager will work in parallel with the Asset Store and the legacy .unitypackage format. For the time being, Unity Packages are developed exclusively for Unity-built features. This allows us to build reliable tools and efficient processes that ensure seamless integration in every step of your development cycle.

Many Unity features ship separately from the official Unity build making it challenging to find them all. They might be on the Asset Store, the Unity Forum, or GitHub, for example.

Going forward, all these off-cycle, official features will be discoverable and managed through the Package Manager ecosystem, and delivered in a format that is unified across Asset Store content and Unity-published editor features.

Keep track of the latest developments and join the discussion on the Package Manager forum.

18 Comentários

Blocking issues for using Package Manager to replace unitypackages as a developer:

I was just looking at the Package Manager for a project of mine that has been previously using TextMesh Pro unitypackage version and I immediately hit what seems to be a real snag if I ever wanted to use Package Manager for anything I already have in as a unitypackage import: upgrading to/replacing with the Package Manager version loses all references. After removing the unitypackage import and installing the package manager version all Scenes with TMP_Text Components were broken (“Missing Behaviour” on all previously text labels). My project also had a bunch of TextMesh Pro FontAssets (ScriptableObject assets) generated and stored, and they were now similarly broken.

A) Broken references for Components, “Missing Behaviours”: These could be fixed, but Package Manager scripts ARE NOT FOUND in the list if you click the round button next to “Missing Behaviour” component’s script field and attempt to re-reference TextMeshPro_UGUI or something similar. Apparently Package Manager scripts are not in your Assets and hence cannot be found in the picker.

B) ScriptableObjects, like TextMesh Pro FontAssets: Their case is even worse. ScriptableObject instance assets don’t allow for reselecting anything in the script field of the Inspector, even if you change to debug Inspector, and all assets would have to be built from ground up. I can’t see myself going through that; if I have multiple font atlas assets created during a long period of time in the past, I cannot remember their settings and rationale for them anymore. On top of that FontAssets are slow to recreate, both in setup considerations and processing time for Signed Distance Field rendering fonts.

I love the concept of Package Manager, but these are some of the issues I can already tell are blockers and stop me from changing over before they are solved in some way.

It would be terrific if the Unity package manager integrated with quality store accounts. it’d build version management a full heap nicer and cleaner if somebody cloned a project repo and every one they’d to try to get a prompt to transfer the third party packages. writing a dissertation abstract

I hope it’s possible to roll back to older versions. Sometimes you update to a new version that has a critical bug or incompatibility, you’re near launch and can’t wait for a fix. I think this is possible by editing the manifest files, right?

I wanted to use Unity Hub to download & upgrade the 2018.2.0b2 to 2018.2.0b3 but it doesn’t allow option to remove the previous beta, to select the folder to download to, or to select the folder to install to that i could find.

It would be terrific if the Unity package manager integrated with asset store accounts. It would make version control a whole lot nicer and cleaner if someone cloned a project repo and all they had to do was get a prompt to download the 3rd party packages.