Version: Unity 6.0 (6000.0)
语言 : 中文
Package Manager caches
自定义全局缓存

全局缓存

Unity Package Manager 在获取 UPM 软件包时,会将软件包内容和元数据存储在全局缓存中。这样就可以更有效地重复使用和共享包,甚至在脱机时也可以安装和更新所存储的包。

注意:将包存储在全局缓存中适用于从注册表获取的 UPM 包。来自__ Asset Store__由 Unity 和社区成员创建的免费和付费的资产库,其规模处于不断壮大中。提供各种资产,涵盖了从纹理、模型和动画到完整项目示例、教程和编辑器扩展等类型。更多信息
See in Glossary
的 UPM 格式包也会存储在全局缓存中。但是,来自 Asset Store 的 .unitypackage 格式资源包不会存储在全局缓存中。Package Manager 将资源包存储在单独的缓存中。有关更多信息,请参阅 Asset Store 资源包

所在地

默认情况下,Unity 将全局缓存存储在根目录中,根目录取决于操作系统(在 Windows 上还取决于用户帐户类型):

操作系统 默认根目录 示例
Windows(用户帐户) %LOCALAPPDATA%\Unity\cache\upm C:\Users\yourname\AppData\Local\Unity\cache\upm
Windows(系统用户帐户 %ALLUSERSPROFILE%\Unity\cache\upm C:\ProgramData\Unity\cache\upm
macOS $HOME/Library/Caches/Unity/upm /Users/yourname/Library/Caches/Unity/upm
Linux $HOME/.cache/Unity/upm /home/yourname/.cache/Unity/upm

提示:可以覆盖此根目录的位置。请参阅自定义全局缓存以了解更多信息。

结构

Package Manager 全局缓存使用几个附属缓存,每个有不同的用途。Package Manager 将这些辅助缓存存储在全局缓存文件夹下的子文件夹中:

子文件夹 描述
db 用于存储包内容和元数据的注册表数据缓存。
git-lfs 包含下载的 Git Large File Storage (LFS) 文件(如果已启用 Git LFS)。
packages(已弃用) 如果使用 Unity Editor 2023.2 创建了项目,则可能存在此子文件夹。但是,从 Unity 6 开始,Package Manager 不再使用此子文件夹。

在每个子文件夹中,每个注册表都有其自己的路径,因此托管在不同注册表中的包不会混淆。

提示:可以覆盖这些文件夹的位置。请参阅自定义全局缓存以了解更多信息。

Size

从 Unity Editor 版本 2023.2.0f1 开始,注册表数据缓存(db 子文件夹)的大小限制为 10 GB。达到该限制时,Package Manager 会通过驱逐最近使用频率最低的内容(基于包安装到项目中的最旧日期)来修剪注册表数据缓存。换句话说,Package Manager 驱逐的第一个包是添加在项目中的时间最长的包。但是,虽然 Package Manager 会将这些包从缓存中驱逐掉,但它们会保留在安装它们的任何项目中。下次将这些包添加到其他项目中时,Package Manager 将从相应的注册表获取它们,而不是从缓存获取它们。

可以覆盖注册表数据缓存限制的大小。有关信息,请参阅自定义全局缓存

要求

运行 Unity Editor 进程的用户帐户必须对根目录及其内容具有完全写入权限。没有这些权限,Package Manager 将无法下载包元数据和内容,也无法将它们保存在缓存中。

其他资源

Package Manager caches
自定义全局缓存