バーチャル3Dクリエイター神部まゆみです(*^_^*)
この記事はUnityのTextMeshProで日本語が文字化けして表示されない問題を解決した記事です。
動作確認した最新バージョンは Unity 6000.3.1 です。
症状:テキストメッシュプロで日本語を表示しようとしたら文字化け?して □□□ みたいな表示になってしまった
こんな表示になってしまいました。

原因:テキストメッシュプロのフォントアセットが日本語に対応してないことが原因っぽい
↓ここに日本語対応したフォントアセットを指定すれば良いっぽい。

ChatGPT氏に聞いたら↑の NotoSansJPは最初から入ってることが多いと言っていたけど、入ってなかったので自分で入れました。
前提:TextMeshProをまだインポートしてない場合は先にやる
これやらないとそもそもTextMeshProが使えないので先にインポートする。

フォントをダウンロード~フォントアセット作成までの手順
手動でダウンロードしてフォントアセットを作って指定したのでその手順です。
フォントをダウンロードする
これGoogleとAdobeが開発したフォントらしくて人気っぽいです。
Noto Sans Japanese – Google Fonts
フリーフォントは検索すればたくさんあるので好きなやつを使ってください。
zipを展開してアセットフォルダに入れる
ダウンロードしたら展開して、TTF(TrueTypeFont)ファイルをアセットフォルダにインポートします。
フォントの上で右クリック ⇒ 作成 ⇒ TextMeshPro ⇒ フォントアセット ⇒ SDF で
SDFは拡大縮小に強くて良いらしいです。
TextMeshProコンポーネントのフォントアセット部分に指定する
これで作ったフォントアセットを指定すればOK。

これでちゃんと日本語フォントが表示された!
これでちゃんと日本語も表示されましたね。
アイコンは適当に設定したので気にしないでください(^_^;)

おわりに
手軽に直せてよかった。
一度設定するとやり直すことがないから忘れがちですね(^_^;)
また何かあれば追記します(*^_^*)



