Version: 2022.3
言語: 日本語
スコープ付きレジストリ認証
Customize the Asset Store cache location

Customize the global cache location

The Package Manager maintains a global cache for registry data and uncompressed packages. The global cache includes subsidiary caches, each serving a different purpose. The Package Manager stores the global caches in a default location, which you can override.

You might want to override the cache location for several reasons:

  • You want to save space on your internal drive.
  • You want to store the cache on a shared drive, which is accessible to others.
  • You want to store the cache in a folder that’s not in a system directory.

By default, the Package Manager uses the following folder structure for the global cache:

<global-cache-root>
  ├── npm
  │   └── <registry data (package metadata and tarballs)>
  ├── packages
  │   └── <uncompressed contents of package tarballs>
  └── git-lfs (if enabled)
       └── <downloaded Git LFS files>

For information on the default location of the global cache root, refer to global cache.

Note: The Package Manager maintains separate caches for the global cache and the Asset Store package cache. For information on overriding the default location for the Asset Store cache, refer to Customize the Asset Store cache location.

To override the default location of the global cache root, you can use the following methods:

  • The Preferences window is the recommended method because of its ease and permanence. When you change the package cache location using this method, Unity stores the preference for the current session and future sessions.
    • Note: Using the Preferences window sets the cacheRoot property in a user configuration file. If you want to set the user configuration file manually, refer to Using the user configuration file.
  • The environment variable method isn’t permanent, but advanced users might find it preferable in specific use cases.

Important notes before you begin

  • Regardless of the method you choose, changing the cache location tells the Package Manager to use that location going forward. Existing packages that Package Manager stored in the original location remain in that folder structure.
  • You can use environment variables to override the location of the global cache root or its subsidiary caches (registry data cache, uncompressed packages cache, and the Git LFS [Large File Storage] cache). However, environment variables and configuration file properties aren’t equivalent, so using different methods to configure settings can produce unexpected results.
  • There are several factors that affect how setting several values with different methods work together:
    • If you used the environment variable method to change the cache location, then you can’t use the Preferences window to change the location.
    • When you use a user configuration file, your change applies to the current user account. Although a global configuration file exists, you can’t set the global cache location in the global configuration file.
    • UPM_CACHE_ROOT 環境変数と cacheRoot プロパティの両方でグローバルキャッシュルートに異なる値を設定する場合、Package Manager は UPM_CACHE_ROOT 環境変数の場所を使用します。
    • レジストリデータキャッシュ (UPM_NPM_CACHE_PATH)、非圧縮パッケージキャッシュ (UPM_CACHE_PATH)、または Git LFS キャッシュ (UPM_GIT_LFS_CACHE_PATH) に環境変数を設定する場合、Package Manager は、グローバルキャッシュルートがどこにあるかにかかわらず、環境変数に指定された場所を使用します。
    • パス (UPM_GIT_LFS_CACHE_PATH) を明示的に設定せずに Git LFS キャッシュ (UPM_ENABLE_GIT_LFS_CACHE) を有効にすると、Package Manager は、グローバルキャッシュルートの下にある git-lfs フォルダーをその場所として使用します。

Using the Preferences window

To use the Preferences window to override the default location of the global cache, follow these steps.

  1. Use one of the following methods to open the Preferences window:

    • Open the Unity menu (macOS) or the Edit menu (Windows and Linux) and select Preferences.
    • Open the Package Manager window, open the Advanced menu, and select Preferences.
  2. Select the Package Manager category.

  3. Under Packages, open the menu beside Cache Location .

  4. Choose Change Location.

  5. Choose a new location for the global cache.

The Preferences window with the Package Manager category selected
The Preferences window with the Package Manager category selected

Using the user configuration file

You can manually edit the user configuration file to override the location of the global cache root. Although a global configuration file exists, you can’t set the global cache location in the global configuration file.

Follow these steps to edit the user configuration file:

  1. Locate the .upmconfig.toml user configuration file. To find the file location, refer to Configuration files. If the file doesn’t exist, create an empty text file.

  2. Add the cacheRoot key and set its value as an absolute path to a custom location. Important: When setting Windows paths in TOML files, use forward slashes (/) or double backslashes (\\). Don’t use single backslashes (\) because they’re special characters which mark escape sequences and can cause TOML parsing errors.

    Windows example

    cacheRoot = "E:\\Unity\\cache"
    

    macOS and Linux example

    cacheRoot = "/dev/external/shared/Unity/cache"
    

You don’t need to restart the Unity Editor or the Hub after setting the cacheRoot key for the change to take effect.

環境変数の使用

In scenarios that involve automation or continuous integration, it’s less practical and more error prone to configure settings in the user configuration file or the Preferences window. In such scenarios, you might consider using environment variables to configure settings for the global cache and its subsidiary caches. The following environment variables are available:

環境変数 説明
UPM_CACHE_ROOT グローバルキャッシュ の場所を指定します (レジストリデータと圧縮されていないパッケージキャッシュを含むルートフォルダー)。
UPM_NPM_CACHE_PATH Specify the absolute path to the location where you want Package Manager to store package metadata and tarballs. By default, this is the npm subdirectory under the global cache root.
UPM_CACHE_PATH Specify the absolute path to the location where you want Package Manager to store the uncompressed contents of package tarballs. By default, this is the packages subdirectory under the global cache root.
UPM_ENABLE_GIT_LFS_CACHE Specify any value except empty ("") to enable the Git LFS cache. By default, Package Manager uses the git-lfs subdirectory under the global cache root, unless you specify a different path using the UPM_GIT_LFS_CACHE_PATH environment variable.
UPM_GIT_LFS_CACHE_PATH Package Manager が Git LFS キャッシュ を保存する場所の絶対パスを指定します。このパスを設定することにより、自動的に Git LFS キャッシュは有効になります。

Important: Follow these guidelines when you use this method:

  • Close the Unity Editor and Unity Hub if they’re already running before setting environment variables.
  • Launch the Unity Editor or Unity Hub from the same command prompt or terminal session where you set the environment variables.
  • Any environment variables you set in the preceding table must be set every time you launch Unity.

For information on setting environment variables, refer to the documentation for your operating system. For an introduction to environment variables, refer to https://en.wikipedia.org/wiki/Environment_variable.

その他の参考資料

スコープ付きレジストリ認証
Customize the Asset Store cache location
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961