Version: 2023.1
项目清单
Git 依赖关系

嵌入式依赖项

Any package that appears under your project’s Packages folder is embedded in that project. You can create an embedded package in several ways:

Embedded packages don’t need to appear in the project manifest as a dependency. However, if you embedded a version of an installed package, 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 doesn’t 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 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.

确保您跟踪嵌入式包的内容以及对其所做的任何更改。如果您的 Unity 项目在源代码控制下,则还应将该项目中嵌入的任何包添加到同一源代码控制下。

创建新的自定义包

要嵌入新包,请在 Packages 文件夹下的一个文件夹中创建新包内容。有关更多信息,请按照创建自定义包的说明

通常,您的新包会一直嵌入到您的项目中,直到您准备与其他用户共享以及在其他项目中对其进行测试。然后您可以将它发布到范围包注册表

从缓存中复制 Unity 包

A package installed from a registry is immutable, which means you can’t edit it. If you want to edit a package, you can make it mutable by copying it to your Projects folder. This package type is called an embedded package, and it overrides what’s in your package cache. Later, you can delete that embedded package’s folder from the Project folder, and the Package Manager will automatically change to the immutable, cached package.

在缓存中找到包文件夹的最可靠方法是直接在 Unity 编辑器中找到已安装的版本:

  1. Open the Project window by opening the Window menu and selecting General > Project.

  2. From the Project window, find the installed package you want to embed.

  3. Right-click the folder of the selected package and select Show in Explorer (Windows) or Reveal in Finder (macOS). That package’s folder opens directly in a file browser and uses the <package-name>@<package-version> naming convention.

    Note: If the package you want to embed isn’t in your project, you can get it directly from your project’s package cache (<project>/Library/PackageCache) by using your file browser or command line and navigating to the correct folder. However, it’s more reliable to let the Editor find it for you, because in addition to locating packages in the project cache, it also locates packages that are installed from a local folder or tarball, and packages that are already embedded.

    文件浏览器打开到项目的包缓存下的包文件夹
    文件浏览器打开到项目的包缓存下的包文件夹
  4. Copy the package folder and paste it directly into your project’s Packages folder. Don’t put it inside the Assets folder, because the Package Manager doesn’t scan that folder for packages.

  5. Remove the @<package-version> part of the folder name.

  6. Add the newly embedded package to source control if your project is already under source control.

Note: You can also find package folders under the global cache, but the global cache contains packages from all versions of the Unity Editor that have ever been installed on your system, so be careful to pick a version that’s compatible with your project’s Editor version.

If you want to delete the embedded package, use your file browser or command line to locate that package in your Packages folder. Consider backing up the folder for the embedded package, otherwise you’ll lose any changes you made to the package. Then, delete the folder for that package from your Packages folder. The Package Manager will automatically revert to the immutable, cached package.

其他资源

项目清单
Git 依赖关系