コガネブログ

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

【Unity】NullReferenceException: Object reference not set to an instance of an object. at TMPro.MaterialReference..ctor

概要

NullReferenceException: Object reference not set to an instance of an object.
  at TMPro.MaterialReference..ctor (System.Int32 index, TMPro.TMP_FontAsset fontAsset, TMPro.TMP_SpriteAsset spriteAsset, UnityEngine.Material material, System.Single padding) [0x0002c] in ./Library/PackageCache/com.unity.ugui@03407c6d8751/Runtime/TMP/MaterialReferenceManager.cs:525 
  at TMPro.TextMeshPro.SetArraySizes (TMPro.TMP_Text+TextProcessingElement[] textProcessingArray) [0x000af] in ./Library/PackageCache/com.unity.ugui@03407c6d8751/Runtime/TMP/TextMeshPro.cs:1448 
  at TMPro.TMP_Text.ParseInputText () [0x00069] in ./Library/PackageCache/com.unity.ugui@03407c6d8751/Runtime/TMP/TMP_Text.cs:2017 
  at TMPro.TextMeshPro.OnPreRenderObject () [0x000a7] in ./Library/PackageCache/com.unity.ugui@03407c6d8751/Runtime/TMP/TextMeshPro.cs:2117 
  at TMPro.TextMeshPro.Rebuild (UnityEngine.UI.CanvasUpdate update) [0x0004c] in ./Library/PackageCache/com.unity.ugui@03407c6d8751/Runtime/TMP/TextMeshPro.cs:292 
  at TMPro.TMP_UpdateManager

Unity 6 にアップデートしたプロジェクトを Android ビルドしたら
特定の場面で上記の例外が発生する現象に遭遇した。
アセットバンドルに含まれているプレハブを読み込んだ時に例外が出ていた。

Unity 6 にアップデートしてからアセットバンドルをリビルドしていなかったので、
リビルドしたら例外は発生しなくなった。