喧嘩百合 ロゴ

UIToolKitのフォント設定でハマったこと - TextMeshProの落とし穴?

📅投稿日: 2025/05/28

UIToolkitTextMeshProUnity

UIToolkitでテキストを使う際に遭遇したフォント設定のハマりポイントと解決策について共有します。

UIToolKitのフォント設定でハマったこと - TextMeshProの落とし穴?

私達のチームではUIToolkitを試しているところです。普通に書くと大変ですが、AIエージェントとの相性はなかなか良さそうだと感じています。

ただ、今回UIToolkitでテキストを使う際に、あるハマりポイントに遭遇したので共有したいと思います。

TextMeshProのフォントアセットを使えばいい?

UIToolkitのテキスト要素にフォントを設定しようとしたとき、「普段からTextMeshProを使っているし、TextMeshProのフォントアセットを作成してそれを使えばいいだろう」と考えるかもしれません。私も最初はそう思いました。

しかし、これが落とし穴でした!

UIToolkitのテキスト要素に、TextMeshProのフォントアセット(通常、アセットタイプがTextMeshPro Font Assetとなっているもの)を割り当てようとしても、Inspectorのフォント選択欄にD&Dしても反応しなかったのです。

UIToolkitのテキスト描画システムは、TextMeshProとは異なるアセットタイプを要求するのです。

UIToolkitで使うべきフォントアセット

では、UIToolkitではどのようなフォントアセットを使えば良いのでしょうか?

正解は、TextMeshProではない、標準の「テキスト」機能のための「フォントクリエイター」で作成したフォントアセットです。

具体的には、Unityエディターの上部ウィンドウから

ウィンドウ>テキスト>フォントクリエイター

フォントクリエイター

を選択して作成するアセットを使用します。UIToolkitで使用するのはこちらになります。

このアセットを作成したら、Inspectorビューで元になるフォントファイル(.ttfや.otfなど)を設定して使用可能にします。

UIToolkit要素への設定方法

作成したUIToolkit用のフォントアセットは、UIBuilderのタブで設定できます。

ここで第二のハマりポイントがありました! InspectorのタブでFontからFontAssetに切り替えないと使えません。 (わかりづらいですが、下三角があります。)

下三角

まとめ

UIToolkitでカスタムフォントを使用する際は、TextMeshProのフォントアセットではなく、Create > UI Toolkit > テキスト で作成した専用のアセットを使用するのが正しい方法です。

TextMeshProに慣れていると、ついそちらのアセットを使いたくなってしまいますが、この違いを知っておけば、フォントが表示されない!と悩む時間を減らせるはずです。

もしUIToolkitでフォント設定に困っていたら、このポイントを確認してみてください。