Unity2021.3.6f1
症状
- Destroyはおろか、Hierarchyからアタッチしているだけで代入すらしていない変数を参照した際にMissingReferenceExceptionが出たり出なかったりする
- Unityを起動して1度目の再生は上手く行って、2度目の再生ではMissingReferenceExceptionになったりと不安定な挙動
public Image NPCSprite;
...
NPCSprite.sprite = hogeImage;
->
ui.image MissingReferenceException: The object of type 'Image' has been destroyed but you are still trying to access it.
NPCSpriteの親ゲームオブジェクトをGameObject.SetActive(false)とかでON/OFF切り替えまくってたからそれが原因か…?とかしばらく悩んでた
原因
ロードを早くするために設定したEnterPlayModeが悪さしていた。チェックをすべて外したところ解決。
快適ロードを手に入れるにはコードの初期化処理に見直しが必要そう…