TextMesh Pro
TextMesh Proは、UnityやVRChatのワールドで高品質な2Dおよび3Dテキストを表示するためのツールです。現在、以下のコンポーネントがUdonで使用可能です:
- TMP Text (TextMeshProUGUIおよびTextMeshPro)
- TMP Dropdown
- TMP InputField
VRChatのホワイトリストに登録されたワールドコンポーネントにある他のTextMeshProコンポーネントも使用できますが、それらはUdonからは操作できません。
Unity標準のテキストコンポーネントの使用は避けてください。
- Unity標準のテキストはエイリアシングが発生しやすく、16250文字という制限があります。
- TextMesh Proはより優れたテキストレンダリングとリッチテキスト機能を備えており、文字数制限もありません。
インストール
TextMesh ProパッケージはUnityエディタに含まれています。プロジェクトで初めて使用する際、必要なファイルを「Assets」フォルダに追加するようUnityから求められます。 例えば、いずれかのTMPコンポーネントを作成すると、以下のようなプロンプトが表示されます。

TextMesh Proのアセットは、「Window」 > 「TextMeshPro」 > 「Import TMP Essential Resources」を選択することでもインポートできます。
フォントのインポート
TextMesh Proには「LiberationSans SDF」というデフォルトのフォントが含まれており、これを使用してすぐにTextMesh Proを使い始めることができます。
独自のフォントをTextMesh Proにインポートするには、font asset creatorを使用します。これにより、TextMesh Proコンポーネントで使用できるフォントアセットが生成されます。
フォントアセットはワールドのダウンロードサイズとRAMの使用量を増加させます。フォントをインポートする際は、アトラスの解像度を下げ、使用しない文字はインポートしないようにしてください。
VRChatの組み込みフォールバックフォントの使用
TextMeshProにフォントをインポートする際、通常すべてのUnicode文字が含まれるわけではありません。ワールド内にフォントアセットに含まれない文字列やユーザー名が存在する場合、TextMeshProはそれらを描画できません。例えば、「何?!」の代わりに「□□□」と表示されることがあります。
VRChatのTextMeshProフォールバックフォントを使用するには、「Project Settings」 > 「TextMeshPro settings」へ移動し、「Fallback Font Assets」のリストからすべて削除してください。
これにより、TextMeshProコンポーネントでVRChatのフォールバックフォントが使用できるようになります。VRChatでワールドに訪れた際、ほぼすべてのUnicode文字が正しく描画されます。

参照
- TextMeshPro ドキュメント (Unity スクリプト API)
- Unity におけるテキスト - TextMesh Pro の使用 (Microsoft Learn)
最終更新: