業務で開発しているゲームの広告SDKアップデートに伴い、Gradleをv6.7.1以降にアップグレードする必要がでてきました。
ローカル環境でビルドする分には大した作業ではないですが、Unity Cloud Buildでビルドする方法についてはまとまった情報がなかったため、備忘録もかねてこちらでまとめました。
手順としては
[ 1 ] pre-build scriptを作成する
[ 2 ] Pre-Export methodを作成する
[ 3 ] Unity Build Automationの Configurationを編集する
という流れになります。順に解説していきます。
1. pre-build script を作成する
Unity プロジェクトのルート直下に .ci というディレクトリを作成し、その中に pre-build-script.sh (ディレクトリ、ファイル名は自身が分かれば何でも良いです)を作成します。 ディレクトリ構造は下記のようになります。
pre-build-script.shにはUnityクラウド環境に指定バージョンのGradleをインストールするためのスクリプトを記述します。(私の場合は6.7.1を指定しています。)
2. Pre-Export method を作成する
UnityプロジェクトのEditorディレクトリ内にPreProcessBuild.csというクラスを作成します。手順1でインストールしたGradleのパスをビルド前に反映するメソッドを記述します。(Gradleバージョンは手順1で指定したものと同一にします)
3. Unity Build Automation の Configurationを編集する
Unity Cloudの DevOps > Build Automation > Configurations から作成したTarget setupの編集ページを開き、Advanced settingsのScript hooks項目を編集します。
Pre-build script項目には手順1で作成したスクリプトのパスを、Pre-Export method項目は手順2で作成したクラスの名前空間を含めたメソッド名を入力します。
設定を保存して完了です。
以上の設定を行い、Gradleがv6.7.1にアップグレードされた状態でクラウドビルドが出来ました。
参考リンク:
How Do I Change the Gradle Version in Unity Build Automation?
Unity Cloud Buildでビルド後に独自のスクリプトを差し込む、成果物(ipa/apkなど)をAppCenterにアップロードする