概要
using System; using UnityEditor.Build; using UnityEditor.Build.Reporting; public class Example : IPreprocessBuildWithReport { public int callbackOrder => 0; public void OnPreprocessBuild( BuildReport report ) { throw new Exception(); } }
IPreprocessBuildWithReport の OnPreprocessBuild で例外が発生しても
ビルドは止まらず
Build completed with a result of 'Succeeded'
と表示されてしまいますが
using UnityEditor.Build; using UnityEditor.Build.Reporting; public class Example : IPreprocessBuildWithReport { public int callbackOrder => 0; public void OnPreprocessBuild( BuildReport report ) { throw new BuildFailedException( "あああ" ); } }
BuildFailedException を投げると
Build completed with a result of 'Failed'
と表示されてビルドが止まってくれます