# ビルドの構成

> Configure build settings and requirements for your Unity project using Build Automation.

ビルド設定は、プロジェクトの特定のビルドを作成するための設定と要件を定義します。ビルド設定は構造化された設定であり、プロジェクトのコンパイル、パッケージ化、異なるプラットフォーム間でのデプロイの準備方法を決定します。ビルド設定を作成すると、それに対して複数のビルドを試行できます。構成で指定されたすべての設定 (プラットフォーム、Unity バージョン、認証情報など) は、ビルドの試行時に毎回自動的に適用され、すべてのビルドにわたって一貫性と再現性が確保されます。

ビルド設定を削除するには、次を実行します。

1. [Unity Dashboard](https://cloud.unity.com) にサインインします。
2. **DevOps** > **Build Automation** > **Configurations** (設定) を選択します。

## 前提条件##prerequisites

最初のビルド設定を行う前に、プロジェクトの [ソース管理設定](../get-started-with-build-automation/connect-your-version-control-system) が構成されていることを確認します。このステップは最初の設定に必要です。

**Get started** (開始) を選択してソース管理を構成します。


**ビルドターゲット設定 - ソース管理の構成 :**
![ビルドターゲット設定 - ソース管理の構成 ](/api/media?file=/build-automation/media/images/build-automation/build-configuration-source-control.png "UBA - ビルドターゲット設定 - ソース管理の構成")

## ビルド設定フローの選択##choose-a-build-configuration-flow

新しいビルド設定を設定するには、クイックターゲット設定とターゲット設定の 2 つのオプションがあります。

### クイックターゲット設定##quick-target-setup

**クイックターゲット設定** を選択すると、各プラットフォームのビルドターゲットの構成に必要な基本設定がダッシュボードに表示されます。ビルドターゲットで詳細設定を構成しない場合は、**クイックターゲット設定** を選択します。


**ビルドターゲット設定 - クイックターゲット設定 :**
![ビルドターゲット設定 - クイックターゲット設定 ](/api/media?file=/build-automation/media/images/build-automation/quick-target-setup.png "UBA - ビルドターゲット設定 - クイックターゲット設定")

### ターゲット設定##target-setup

ターゲット設定を選択する場合は、最初にビルドターゲットの起動に必要な基本設定を実行します。次に、設定を保存するか、詳細設定に移動します。


**ビルドターゲット設定 - 詳細設定 :**
![ビルドターゲット設定 - 詳細設定 ](/api/media?file=/build-automation/media/images/build-automation/advanced-settings.png "UBA - ビルドターゲット設定 - 詳細設定")

#### 基本情報##basic-info

基本情報セクションには、ビルドのコア設定を定義するフィールドがあります。

| 設定                                                                | 説明                                                                                                                                                                                   |
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Target name** (ターゲット名)                                          | ビルドターゲット設定に一意の名前を設定します。                                                                                                                                                              |
| **Branch** (ブランチ)                                                 | Build Automation のプル元であるブランチを選択します。                                                                                                                                                  |
| **Project subfolder path** (プロジェクトのサブフォルダーパス) (任意)                | リポジトリのルートにない場合は `Assets` と `ProjectSettings` を含むフォルダーを指定します。                                                                                                                         |
| **Unity バージョン**                                                   | 使用する Unity バージョンを選択します。Unity バージョンは、ビルダーの OS とバージョン、ヘッドレスモードなど、いくつかの詳細設定の可用性を制御します。                                                                                                  |
| **Auto detect Unity version** (Unity バージョン自動検出)                   | Unity Build Automation を有効にして、プロジェクトの `ProjectSettings/ProjectVersion.txt` から Unity バージョンを検出します。必ずこのファイルをソース管理に加えます。                                                                 |
| **Builder Operating System and Version** (ビルダーの OS とバージョン)        | ビルドマシンの OS とバージョンを選択します。これは使用しているプラットフォームの影響を受けます。詳細については、[各ビルダーの OS でサポートされているプラットフォーム](../reference/supported-platforms-on-each-builder-os) を参照してください。                             |
| **Xcode version** (Xcode バージョン) (macOS ビルダーのみ)                    | **デフォルト** を選択して、選択した OS のデフォルト Xcode バージョンを使用します。このオプションは、macOS ビルダーの OS を選択した場合に表示されます。サポートされているバージョンについては、[使用可能な Xcode バージョン](../reference/available-xcode-versions) ガイドを参照してください。 |
| **Unity Editor architecture** (Unity エディターアーキテクチャ) (macOS ビルダーのみ) | シリコンベースの OS で実行するビルドの [Unity エディターアーキテクチャ](../reference/editor-architecture-specifications) を指定します。                                                                                  |
| **Android SDK version** (Android SDK バージョン) (Android ビルドのみ)       | Unity プロジェクトのビルドに使用する Android SDK バージョンを設定します。詳細については、[Android SDK と Unity のバージョン互換性](../reference/available-android-sdk-versions) ガイドを参照してください。                                     |


**ビルドターゲット設定 - 基本情報 :**
![ビルドターゲット設定 - 基本情報 ](/api/media?file=/build-automation/media/images/build-automation/build-configuration-basic-info.png "UBA - ビルドターゲット設定 - 基本情報")

#### ビルダー設定##builder-configuration

使用するビルドのマシン仕様を選択します。適切な設定は、プロジェクトの複雑さとプラットフォームの要件によって異なります。ビルダー設定の詳細については、[マシン仕様の選択](../optimize-build-speed/choose-machine-specification) を参照してください。

#### 認証情報##credentials

認証情報セクションでは、Build Automation でビルドに署名してビルドアーティファクトのセキュリティと整合性を確保するために使用する認証情報を指定できます。Android のキーストアや macOS のサイニング証明書など、必要な認証情報を指定します。

#### スケジュール##scheduling

スケジュールセクションでは、ビルドトリガーを自動化し、反復ビルドスケジュールを設定できます。 | Setting (設定) | Description (説明) | |---|---| | **Auto-build** (自動ビルド) | リポジトリで変更が検出された場合にビルドを自動的に開始する。| | **Auto-cancel** (自動キャンセル) | 新しいビルドがトリガーされた場合に保留中のビルドを自動的にキャンセルする。| | **Build schedule** (ビルドスケジュール) | 間隔、日付、時刻などのオプションを使用して、反復ビルドスケジュールを構成する。|

詳細については、[ビルドの自動実行](../run-builds/run-builds-automatically) を参照してください。

#### Android 設定##android-configurations

ターゲットプラットフォームとして Android を選択すると、追加のビルド設定を使用できます。

ターゲット設定の **Basic Info** (基本情報) セクションでは、最初に Android SDK バージョンを設定します。この設定を使用して、選択した Unity バージョンに応じて、優先する Android SDK バージョンを選択します。詳細については、[Android SDK と Unity のバージョン互換性](../reference/available-android-sdk-versions) ガイドを参照してください。

残りの Android 固有の設定は、**Platform specific settings (Android)** (プラットフォーム固有の設定 (Android)) の **Advanced Settings** (詳細設定) から設定します。

| 設定                                    | 説明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **APK の代わりにアプリケーションバンドル (.aab) をビルド** | Android アプリケーションバンドルは、アプリケーションのコンパイルされたすべてのコードとリソースを含むアップロード形式ですが、APK の生成と Google Play への署名は先送りになります。Gradle ビルドシステムも使用する必要があります。詳細については、[Android アプリケーションバンドルドキュメント](https://developer.android.com/guide/app-bundle) を参照してください。                                                                                                                                                                                                                                                                                                                                                           |
| **ビルドアセットパック**                        | ビルドアセットパックは、アプリケーションバンドルのビルド時にのみ使用できます。このオプションを有効にすると、Unity Build Automation では [Google Play Unity プラグイン](https://github.com/google/play-unity-plugins/releases) の Google Play のビルドメソッドを使用して、アセットパックでアプリケーションバンドルをビルドします。プロジェクトにプラグインをインストールする必要があります。また、ビルド前スクリプトで [アセットパックをプログラムで構成](https://developer.android.com/guide/playcore/asset-delivery/integrate-unity?language=api#configure-asset-packs-api) し、`AssetPackConfigSerializer.SaveConfig` メソッドを呼び出す必要があります。詳細については、[Android Play Asset Delivery ドキュメント](https://developer.android.com/guide/playcore/asset-delivery) を参照してください。 |
| **分割バイナリアプリケーションビルドの作成**              | この設定では、[`PlayerSettings.Android.useAPKExpansionFiles`](https://docs.unity3d.com/2022.3/Documentation/ScriptReference/PlayerSettings.Android-useAPKExpansionFiles.html) フラグを設定します。詳細については、[APK 拡張ファイル (OBB) の Android サポートドキュメント](https://docs.unity3d.com/Manual/android-OBBsupport.html) を参照してください。ビルドアセットパックのオプションを有効にすると、Unity Build Automation ではこのオプションが無視されます。                                                                                                                                                                                                                      |


**ビルドターゲット設定 - Android 設定 :**
![ビルドターゲット設定 - Android 設定 ](/api/media?file=/build-automation/media/images/build-automation/android-settings.png "UBA - ビルドターゲット設定 - 詳細設定 - プラットフォーム固有の設定")

#### ユニバーサル Windows プラットフォーム (UWP) 設定##universal-windows-platform-configurations

選択したターゲットプラットフォームがユニバーサル Windows プラットフォーム (UWP) の場合は、追加ビルド設定を使用できます。これらの設定を使用すると、UWP アプリケーションのビルド方法とターゲットデバイスの構成方法をきめ細かにコントロールできます。

UWP 設定に関する詳細情報は、[UWP ビルド設定ドキュメント](https://docs.unity3d.com/2021.3/Documentation/Manual/windowsstore-buildsettings.html) を参照してください。

ターゲット設定の **基本情報** セクションには、以下の UWP 固有のオプションがあります。

| 設定                      | 説明                                                                                                                                                                                                                                                                                                 |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Visual Studio バージョン** | UWP アプリケーションのビルドに使用された Visual Studio のバージョンを定義します。Unity 2022.2 以前を使用している場合は、この設定に関係なく、Visual Studio の最新バージョンが自動的に選択されます。                                                                                                                                                                           |
| **Windows SDK バージョン**   | Visual Studio を使用してビルドする場合にアプリケーションがターゲットとする Windows SDK バージョンを設定します。これは、選択した Visual Studio のバージョンによって異なります。                                                                                                                                                                                       |
| **ビルドタイプ**              | Unity によって生成される UWP ビルド出力のタイプを決定します。使用可能なオプションは `Executable Only`、`D3D`、`XAML` です。これらのオプションは、出力がスタンドアロン実行ファイルか、特定のプレゼンテーションフレームワークを使用するのかを決定します。                                                                                                                                                   |
| **ビルド設定**               | Visual Studio プロジェクト出力の最適化レベルを指定します。オプションには `Debug`、`Release` (デフォルト)、`Master` があります。これらの設定は、最終出力のプロファイリングとパフォーマンスに影響します。                                                                                                                                                                          |
| **ターゲットデバイスファミリー**      | アプリケーションがサポートする UWP デバイスファミリーを定義します。デフォルトでは、このオプションは `Universal` に設定され、サポートされているすべてのデバイスをターゲットにします。また Desktop、Xbox、HoloLens、IoT などの特定のファミリーを選択することもできます。詳細は、[WSATargetFamily ドキュメント](https://docs.unity3d.com/2021.3/Documentation/ScriptReference/PlayerSettings.WSATargetFamily.html) を参照してください。 |


**ビルドターゲット設定 - UWP 基本設定 :**
![ビルドターゲット設定 - UWP 基本設定 ](/api/media?file=/build-automation/media/images/build-automation/uwp-basic-settings.png "UBA - ビルドターゲット設定 - 基本設定 - プラットフォーム固有の設定")

ターゲット設定の **詳細設定** には、次の UWP 固有の追加オプションが含まれています。

| 設定                        | 説明                                                                                                                                                                     |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **アプリケーション機能**            | アプリケーションが使用するシステムリソースの性能と機能を指定します。詳細については、[機能のプロパティドキュメント](https://docs.unity3d.com/2021.3/Documentation/ScriptReference/PlayerSettings.WSACapability.html) を参照してください。 |
| **実行ファイル専用の CPU アーキテクチャ** | **ビルドタイプ** を `Executable Only` に設定したときのみ使用できます。出力実行ファイルがサポートする CPU アーキテクチャを決定します。値を指定しない場合、デフォルトで `x64` になります。                                                         |
| **ターゲット CPU プラットフォーム**    | **ビルドタイプ** を `D3D` または `XAML` に設定したときのみ使用できます。出力のターゲット CPU アーキテクチャを指定する `AppxBundlePlatforms` プロパティを設定します。値を指定しない場合、デフォルトで `x64` になります。                                |


**ビルドターゲット設定 - UWP 詳細設定 :**
![ビルドターゲット設定 - UWP 詳細設定 ](/api/media?file=/build-automation/media/images/build-automation/uwp-advanced-settings.png "UBA - ビルドターゲット設定 - 詳細設定 - プラットフォーム固有の設定")
