Version: 2022.2
言語: 日本語
スコープ付きレジストリ認証
Asset Store のキャッシュ場所のカスタマイズ

グローバルキャッシュの場所のカスタマイズ

Package Manager (パッケージマネージャー) はレジストリデータと非圧縮パッケージのためにグローバルキャッシュを維持します。グローバルキャッシュには補助キャッシュが含まれ、それぞれに異なる役割を果たします。パッケージマネージャーはグローバルキャッシュをデフォルトの場所に保存します。デフォルトをオーバーライドすることができます。

キャッシュの場所をオーバーライドしたい理由はいくつか考えられます。

  • 内蔵ドライブの容量を節約したい。
  • 他の人がアクセスできる共有ドライブにキャッシュを保存したい。
  • システムディレクトリ内にないフォルダーにキャッシュを保存したい。

デフォルトでは、Package Manager はキャッシュに以下のフォルダー構造を使用します。

<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, see 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, see Customize the Asset Store cache location.

グローバルキャッシュのルートのデフォルトの場所をオーバーライドするには、以下の方法を使用します。

  • その簡単さと永続性のため)、Preferences ウィンドウを使用することが推奨されます。この方法でパッケージキャッシュの場所を変更する場合、Unity は、現在のセッションと将来のセッションの環境設定を保存します。
    • Note: Using the Preferences window sets the cacheRoot property in a user configuration file. If you want to set the configuration file manually, see Using a configuration file.
  • 環境変数 による方法は永続的ではありませんが、上級ユーザーにとって、特定の使用例で便利であるかもしれません。

開始前の注意事項

  • 選択した方法に関わらず、キャッシュの場所を変更すると、Package Manager は以降その場所を使用するようになります。Package Manager が元の場所に保存した既存のパッケージは、そのフォルダ構造内に残ります。
  • 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 cache). However, environment variables and configuration file properties aren’t equivalent, so using different methods to configure settings can produce unexpected results.
  • 異なる方法で複数の値を設定することがどのように作用するか、に影響を与える要因はたくさんあります。
    • 環境変数を使ってキャッシュの場所を変更した場合は、Preferences ウィンドウを使って場所を変更することはできません。
    • ユーザー環境設定ファイルを使用すると、変更は現在のユーザーアカウントに適用されます。
    • 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 フォルダーをその場所として使用します。

Preferences ウィンドウの使用

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

  1. 以下のいずれかの方法で Preferences ウィンドウを開きます。

    • Unity メニュー (macOS) または Edit メニュー (Windows/Linux) を開き、Preferences を選択します。
    • Package Manager ウィンドウを開き、Advanced メニューを開き、Preferences を選択します。
  2. Package Manager カテゴリを選択します。

  3. Packages の下にある Cache Location の横にあるメニューを開きます。

  4. Change Location を選択します。

  5. グローバルキャッシュの新しい場所を選択します。

Package Manager カテゴリーが選択された Preferences ウィンドウ
Package Manager カテゴリーが選択された Preferences ウィンドウ

環境設定ファイルの使用

You can manually edit the same configuration file that the Preferences window sets to override the location of the global cache root:

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

  2. cacheRoot キーを加え、その値をカスタムロケーションへの絶対パスに設定します。 重要: TOML ファイルで Windows のパスを設定するときは、フォワードスラッシュ (/) またはダブルバックスラッシュ (\\) を使用してください。シングルバックスラッシュ (\) は、エスケープシーケンスを示す特殊文字であり TOML 解析エラーの原因となるため、使用しないでください。

    Windows の例

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

    macOS と Linux の例

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

cacheRoot プロパティを設定した後に、それを有効にするために Unity エディターや Hub を再起動する必要はありません。

環境変数の使用

In scenarios that involve automation or continuous integration, it’s less practical and more error prone to configure settings in a configuration file or a 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 Package Manager がパッケージのメタデータと .tgz ファイルを保存する場所への絶対パスを指定します。デフォルトでは、グローバルキャッシュルートの下にある npm サブディレクトリです。
UPM_CACHE_PATH Package Manager がパッケージ .tgz ファイルの圧縮されていないコンテンツを保存する場所の絶対パスを指定します。デフォルトでは、グローバルキャッシュルートの下にある packages サブディレクトリです。
UPM_ENABLE_GIT_LFS_CACHE Git LFS キャッシュを有効にするには、空 ("") 以外の任意の値を指定します。デフォルトでは、Package Manager は、UPM_GIT_LFS_CACHE_PATH 環境変数を使用して別のパスを指定しない限り、グローバルキャッシュルート下の git-lfs サブディレクトリを使用します。
UPM_GIT_LFS_CACHE_PATH Package Manager が Git LFS キャッシュ を保存する場所の絶対パスを指定します。このパスを設定することにより、自動的に Git LFS キャッシュは有効になります。

重要: この方法を用いる場合は、以下のガイドラインに従ってください。

  • 環境変数を設定する前に、Unity エディターと Unity Hub がすでに起動している場合は終了してください。
  • 環境変数を設定したのと同じコマンドプロンプトまたはターミナルセッションから Unity エディターまたは Unity Hub を起動します。
  • Any environment variables you set in the table above must be set every time you launch Unity.

環境変数の設定については、使用しているオペレーティングシステムのドキュメントを参照してください。環境変数に関する情報は、https://en.wikipedia.org/wiki/Environment\_variable を参照してください。



  • グローバルキャッシュルートの設定は、Unity 2021.2 では Package Manager 環境設定ファイルでサポートされるようになりましたNewIn20212
スコープ付きレジストリ認証
Asset Store のキャッシュ場所のカスタマイズ