コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】JenkinsでUnityバッチビルドがクラッシュする不具合と解決方法

Receiving unhandled NULL exception
Launching bug reporter

UnityをJenkinsで自動ビルドできるようにしてゲーム開発していたところ
Unityのバッチビルド中にクラッシュして上記のエラーが発生する問題に遭遇しました

原因としては、InitializeOnLoadMethodInitializeOnLoadMethodが適用されて
Unity起動時に呼び出される関数内でEditorApplication.SaveAssetsを呼び出すと
上記のエラーが発生してクラッシュするようです

using UnityEditor;

public static class ExampleClass
{
    [InitializeOnLoadMethod]
    static void Example()
    {
        EditorApplication.SaveAssets();
    }
}
using UnityEditor;

[InitializeOnLoad]
public static class ExampleClass
{
    static ExampleClass()
    {
        EditorApplication.SaveAssets();
    }
}