# キャッシュ戦略の選択

> Explore caching strategies for optimized build speed.

Unity プロジェクトをビルドする場合、管理が必要なタスクや依存関係が多く、複雑なプロセスになる可能性があります。この複雑さが生じる一因は、ローカルマシンよりも性能が劣るリモートサーバーでビルドプロセスを実行する必要があるためです。

> **Note:**
>
> **ノート**: Unity Build Automation には、ビルダーの [マシン仕様](./choose-machine-specification.md) を選択できるという機能があり、ハードウェアのパフォーマンス特性を変更します。

Unity Build Automation では、ソースコードリポジトリからプロジェクトファイルをダウンロードする必要があります。このダウンロードは、プロジェクトのサイズと、Unity プラットフォームとバージョン管理システム間のネットワーク接続の両方によっては、時間がかかる場合があります。このダウンロードプロセスはチェックアウトフェーズであり、ビルドプロセスで重大なボトルネックになる可能性があります。

ビルド時間に影響する別の要素は、処理する必要がある依存関係とアセットの数です。Unity がプロジェクトをビルドする場合、プロジェクト内で使用されるすべてのスクリプト、シェーダー、テクスチャ、その他のアセットを処理する必要があります。プロジェクトに多数のアセットがある場合や依存関係が複雑な場合、さらに時間を要する可能性があります。ビルド時間を短縮するには、キャッシュを使用します。キャッシュは Unity Build Automation サーバーにデータの一部を保存するため、ビルドを実行するたびに再処理する必要がありません。

## キャッシュの種類##types-of-caching

Unity Build Automation は現在以下のキャッシュオプションをサポートしています。

* キャッシュなし
* ライブラリディレクトリをキャッシュ
* プロジェクト/ワークスペース全体をキャッシュ

> **Note:**
>
> **ノート**: ライブラリまたはワークスペースのキャッシュを使用する場合、プロジェクトの最初のインポートはライブラリが最初にビルドされるため、若干時間がかかります。最初のビルドが成功した後、キャッシュによってビルド時間が短縮されます。Apple 関連のビルドでは、使用するアーキテクチャごとに個別のキャッシュが生成されます。

### ライブラリのキャッシュ##library-caching

Unity Build Automation は、依存関係とアセットの処理にかかる時間を大幅に短縮できるライブラリのキャッシュの機能を提供します。ライブラリのキャッシュは、特に大規模なプロジェクトで時間と帯域幅を大幅に短縮するために、UBA サーバーに依存関係のあるキャッシュを保存します。

### ワークスペースのキャッシュ##workspace-caching

ワークスペースのキャッシュの機能とは、すべてのワークスペースデータを Unity Build Automation サーバーに保存することです。ほとんどの場合、最初のビルドが成功した後、ワークスペース全体をキャッシュすると、ライブラリのキャッシュほどビルドに時間はかかりませんが、使用するストレージの容量も多くなります。

## キャッシュオプションの構成##configure-caching-options

キャッシュ設定は、特定のプロジェクト用と、ビルドターゲット設定用の 2 つのレベルで構成できます。

キャッシュの使用時に **キャッシュ圧縮レベル** を編集できます。デフォルトでは **Low** (低) に設定され、スピードとコストのバランスを調整します。パフォーマンスを最大化する場合は、**None** (なし) を選択します。**High** (高) 圧縮はストレージ使用量の削減に役立ちますが、パフォーマンスに非常に大きなデメリットが生じます。

### プロジェクトのキャッシュ設定の構成##configure-your-caching-settings-for-a-project

1. Unity Dashboard で、**DevOps** > **Build Automation** > **Settings** (設定) を選択します。
2. **Project configurations** (プロジェクト設定) タブをクリックします。
3. 使用するキャッシュのタイプを選択し、ドロップダウンから **Cache compression level** (キャッシュ圧縮レベル) を選択します。
4. **Save** (保存) をクリックします。

### ビルドターゲット設定のキャッシュ設定を構成します。##configure-your-caching-settings-for-a-build-target-configuration

> **Note:**
>
> **ノート**: このオプションは、プロジェクトレベルのキャッシュ設定をオーバーライドします。

1. Unity Dashboard で、**DevOps** > **Build Automation** > **Configurations** (設定) を選択します。
2. 編集するビルド設定の編集アイコンを選択し、**Advanced settings** (詳細設定) を選択します。
3. キャッシュセクションで、使用するキャッシュの種類を選択し、ドロップダウンから **Cache compression level** (キャッシュ圧縮レベル) を選択します。
4. **Save changes** (変更を保存) をクリックします。
