Any package that appears under your project’s
Packages folder is embedded in that project. Typically, when you create a new package, you embed it in your project while you are developing it. When it is ready to be shared with other users and tested in other projects, you can publish it to a scoped package registry.
You can embed a new package by creating package content inside a folder under the
Packages folder, following the instructions for creating your own custom package. You can also embed an existing package through the Package Manager Scripting API. For more information, see Embedding a package in the project.
Embedded packages do not appear in 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 as a dependency
See in Glossary; however, if you embedded a version of an installed package using the Client.Embed method, your project manifest still lists the dependency on the original installed version. In that case, the package on disk takes priority over the version of the package listed as a dependency, so it does not need to be removed from the project manifest. For example, if the project manifest specifies a dependency on version 1.3.1 of the
com.unity.example package but the project also has an embedded package
See in Glossary with that name, the Package Manager uses the embedded package, regardless of its apparent version, instead of downloading version 1.3.1 from the registry.
It is your responsibility to track the content of your embedded packages, and any changes you make to it. If your Unity project is under source control, add packages embedded in that project to the same source control.