Build Automation 障害のトラブルシューティング
Solve common issues with Build Automation failures.
読み終わるまでの所要時間 1 分最終更新 9ヶ月前
ログにエラーがないか確認します。
Unity Build Automation (UBA) 障害をトラブルシューティングする最初のステップは、エラーログを確認することです。
UBA ログでは、可視性を高めるためにエラーメッセージが赤色でハイライトされ、警告が黄色でハイライトされます。また、UBA では警告とエラーメッセージをコンパクトログタブに収集して検索しやすくなっていますが、すべての障害がコンパクトログに記録されるわけではなく、ログ全体を確認するのに役立てます。複数のエラーログがあり、以前のビルドが成功した場合は、ログを比較して、成功した実行に存在する可能性のあるエラーをフィルターで除外できます。
クリーンビルドの実行
ライブラリまたはワークスペースフォルダーのいずれかをキャッシュする UBA ビルドは、問題が発生する可能性があります。ターゲットにキャッシュを強制的に無視させるには、ビルドのトリガー時に クリーンビルド オプションを使用します。
バッチモードのローカルでの実行
エディターでのプロジェクトのビルドは成功したものの、Unity Build Automation でのビルドに失敗する場合は、バッチモードを使用してビルドを生成したことが原因である可能性があります。エラーが再現するかどうかを調べるには、ローカルでバッチモードで実行してみます。
まず、 フォルダーを削除するか、ソースコードを新しいフォルダーにチェックアウトする必要があります。これで、UBA がパッケージを再ダウンロードします。これで、すべてのビルドでソースコードをチェックアウトする UBA ビルドサーバーの動作をシミュレートします。
Libraryこれが同じコマンドの Windows と macOS バージョンです。
指定されたディレクトリは Unity エディターのデフォルトのインストールフォルダーです。ローカルマシンの正しいパスに従って調整します。
Windows CMD コンソール
"C:\Program Files\Unity\Hub\Editor\{UNITY_VERSION}\Editor\unity.exe" -batchMode -skipMissingProjectID -skipMissingUPID -buildTarget {BUILD_TARGET} -logFile C:\{SOME_PATH}\log.txt -projectPath C:\{PROJECT_PATH} -executeMethod {CLASS_AND_STATIC_METHOD_NAME_OF_BUILD_SCRIPT} -quit
macOS 端末
/Applications/Unity/Hub/Editor/{UNITY_VERSION}/Unity.app/Contents/MacOS/Unity -batchMode -skipMissingProjectID -skipMissingUPID -buildTarget {BUILD_TARGET} -logFile /Users/{SOME_PATH}/log.txt -projectPath /Users/{PROJECT_PATH} -executeMethod {CLASS_AND_STATIC_METHOD_NAME_OF_BUILD_SCRIPT} -quit
テストも実行する場合は、以下のタグを追加できます。
-runTests-testPlatform {PLATFORM} // playmode or editmode-testResults {FILE_PATH_AND_FILE_NAME}.xml
テンプレートビルドスクリプト
ビルドを実行する静的メソッドを含むビルドスクリプトをエディターフォルダー内に置きます。エディターフォルダーがない場合は、作成します。
以下に参照として、テンプレートビルドスクリプトを示します。
using UnityEditor;class MyEditorScript{ static void PerformBuild () { BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions(); buildPlayerOptions.scenes = new[] {"Assets/Scenes/MyScene.unity", ...}; buildPlayerOptions.target = BuildTarget.iOS; // More details on BuildTarget doc buildPlayerOptions.options = BuildOptions.None; buildPlayerOptions.locationPathName = "iOSBuild"; BuildPipeline.BuildPlayer(buildPlayerOptions); }}
よくある問題
全般:
プラットフォーム固有の問題: