当 Unity 软件包管理器获取UPM 软件包由Unity 软件包管理器管理的软件包。请参阅软件包。
请参阅术语表时,它会将软件包内容和元数据存储在全局缓存中。这使得重复使用和共享软件包更加高效,并允许您即使在脱机状态下也能安装和更新存储的软件包。
注意:将软件包存储在全局缓存中适用于从注册表获取的 UPM 软件包。来自Asset StoreUnity 和社区成员创建的免费和商业资产的不断增长的库。提供各种各样的资产,从纹理、模型和动画到整个项目示例、教程和编辑器扩展。 更多信息
请参阅术语表的 UPM 格式的软件包也存储在全局缓存中。但是,来自 Asset Store 的.unitypackage
格式的资源包Unity 项目的文件和数据的集合,或项目的元素,这些文件和数据被压缩并存储在一个文件中,类似于 Zip 文件,扩展名为.unitypackage
。资源包是共享和重复使用 Unity 项目和资产集合的便捷方法。 更多信息
请参阅术语表不会存储在全局缓存中。软件包管理器将资源包存储在单独的缓存中。有关更多信息,请参阅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 |
提示:您可以覆盖此根目录的位置。有关更多信息,请参阅自定义全局缓存。
软件包管理器全局缓存使用辅助缓存,每个缓存都具有不同的用途。软件包管理器将这些辅助缓存存储在全局缓存文件夹下的子文件夹中。
子文件夹 | 描述 |
---|---|
db |
用于存储软件包内容和元数据的注册表数据缓存。 |
git-lfs |
如果启用了 Git LFS,则包含下载的 Git 大型文件存储 (LFS) 文件。 |
packages (已弃用) |
如果您使用 Unity 编辑器 2023.2 创建了项目,则此子文件夹可能存在。但是,从 Unity 6 开始,软件包管理器不再使用此子文件夹。 |
在这些子文件夹中的每一个内部,每个注册表都有自己的路径,以便在不同注册表上托管的软件包不会混淆。
提示:您可以覆盖这些文件夹的位置。有关更多信息,请参阅自定义全局缓存。
从 Unity 编辑器 2023.2.0f1 版本开始,注册表数据缓存(db
子文件夹)的大小限制为 10 GB。达到此限制时,软件包管理器会通过逐出最不常使用的内容(根据软件包安装到项目的日期)来修剪注册表数据缓存。换句话说,软件包管理器首先逐出的是您最久以前添加到项目的软件包。但是,尽管软件包管理器会将这些软件包从缓存中逐出,但它们仍保留在您安装它们的任何项目中。下次将这些软件包添加到其他项目时,软件包管理器将从相应的注册表中获取它们,而不是从您的缓存中获取。
您可以覆盖注册表数据缓存大小限制。有关信息,请参阅自定义全局缓存。
运行 Unity 编辑器进程的用户帐户必须对根目录及其内容具有完全写入权限。如果没有这些权限,软件包管理器将无法下载并将软件包元数据和内容保存到缓存中。