A package is a container that stores various types of features or assets, such as:
Packages deliver a wide range of enhancements to Unity through the Package Manager. To help find and use these packages, the Package Manager window provides collections of packages that you can use together, called feature sets.
In the Editor, you can access the Package Manager window through this menu: Window > Package Manager.
The Package Manager also supports management of packages you download or import from the Unity Asset StoreA growing library of free and commercial assets created by Unity and members of the community. Offers a wide variety of assets, from textures, models and animations to whole project examples, tutorials and Editor extensions. More info
See in Glossary.
Unity provides three Package Manager interfaces: Package Manager window, Scripting API, and manifest files. The following table contains introductions to each interface, and more.
|How Unity works with packages
|Get an overview of Unity’s Package Manager.
|Learn the principles and features of the Package Manager, including concepts like versions, manifests, registries, states, sources, the package lifecycle, and dependency and resolution.
|Package Manager window
|Find packages and manage them in your project, and resolve conflicts in package dependencies. The Package Manager provides a user interface that makes changes to the Project manifestEach Unity project has a project manifest, which acts as an entry point for the Package Manager. This file must be available in the
<project>/Packages directory. The Package Manager uses it to configure many things, including a list of dependencies for that project, as well as any package repository to query for packages. More info
See in Glossary directly.
|Scripting API for packages
|Use the Scripting API to interact with the Package Manager using C# scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
See in Glossary. View samples to see how to query the package registry, install, embed, and remove packages, and list packages using a variety of criteria.
|Learn about the file that the Unity Package Manager reads so it can compute a list of packages to retrieve and load. See also Package manifestEach package has a manifest, which provides information about the package to the Package Manager. The manifest contains information such as the name of the package, its version, a description for users, dependencies on other packages (if any), and other details. More info
See in Glossary.
|Use a dedicated InspectorA Unity window that displays information about the currently selected GameObject, asset or project settings, allowing you to inspect and edit the values. More info
See in Glossary window to view any package manifest. Use this window to directly edit package manifests for embedded or local packages.
|Learn how to set up or access a custom registry server. Use this registry server to host and distribute (or consume) custom packages, in addition to the registry that Unity provides.
|Learn how configure scoped registry authentication, solve network issues, customize cache locations, and more.
|Resolution and conflict
|Learn how the Package Manager determines the direct and indirect dependenciesAn indirect, or transitive dependency occurs when your project requests a package which itself “depends on” another package. For example, if your project depends on the
email@example.com package which in turn depends on the
firstname.lastname@example.org package, then your project has an direct dependency on Alembic and an indirect dependency on Timeline. More info
See in Glossary of a project and evaluates all the requested package versions before retrieving the best version from the registry.
|Match a symptom to a possible solution if any of your project’s packages, including the Package Manager window itself, fails to load.