Addressable ロードの問題とその解決方法
TextMeshProのフォントとMaterial PresetをデフォルトおよびカスタマイズしたUIをAddressableを利用してロードする際に、Addressableの設定によって発生する問題についてご紹介します。
まず、以下の画像では、カスタマイズしたMaterial Presetが正しくロードされず、Shaderエラーが発生している状態が確認できます。
マテリアルを確認すると、Shaderの参照が正しくないようです。
また、Material Presetを見ると、デフォルトの参照しか選択できない状態が発生しています。
問題が発生してない場合は正しい Material Preset の一覧が表示されます
これに対する解決方法として、以下の手順を試してみてください。
問題の発生条件
問題は、Addressableの設定でBundle Modeが "Pack Separately"になっており、TMP_Fontが分割されてバンドルになっている場合に発生します。
問題の解決方法は以下の通りです。
解決方法
TMP_Font アセットが存在するフォルダにAddressを指定して、まとめてバンドル化します。
注意が必要なのは、TMP_Font アセットにAddressが指定されている場合、個別になってしまうため、Addressを外して上げる必要があります。
※ アドレスが表示されていて、Address のチェックが外れている状態
これにより、再生してみると、問題なく正しく表示されるはずです。問題が解決したかどうか、お試しください。