概要
UnityException: XXXX is not allowed to be called during serialization, call it from Awake or Start instead. Called from MonoBehaviour 'YYYY' on game object 'ZZZZ'.
Unity エディタでコンパイルが完了した時に
上記の例外が発生する現象に遭遇した
[Serializable]
を適用した
ISerializationCallbackReceiver
を実装しているクラスを用意し、
OnBeforeSerialize
関数や OnAfterDeserialize
関数で
UnityEngine
のクラスを呼び出している状態で
MonoBehaviour
を継承したクラスの private 変数に定義し、
そのクラスをシーンのゲームオブジェクトにアタッチした状態でコンパイルが完了したら
前述の例外が発生した