UI ToolkitではFontを使ってはいけない

フォントアセットを使用するには、UI Builder で、Inspector ウィンドウの Font Asset からフォントを選択します。

ノート: Font フィールドは後方互換性のためのものです。

フォントアセット入門 - Unity マニュアル


だそうです。


MissingReferenceException: The variable m_AtlasTexture of FontAsset doesn't exist anymore.

というエラーが表示されて文字が表示されなくなってしまう現象が「たまに」発生して、まったく意味が分からなかったのですが、これが原因でした。



正しくは上のFontフィールドをNone、

下のFont Assetにフォントを設定するのが正しいようです。





いや上のフィールドが非推奨だと思わんやん・・・



しかも下のFont Assetに設定するにはTextMeshProのFont Assetではなく、

TextのFont Assetが必要です。詳しくはフォントアセットの作成を参照。


私のプロジェクトではTextMeshProも使ってるので、

1つのフォントに対して2つアセットが必要になってしまいました。これはひどい。



コメント