UIに「こんにちは」と入力したのに、Gameビューでは□(豆腐)だらけ——日本語ゲームを作りたいのに、ここで足踏みしている方は多いです。
文字化けの多くは、フォントに日本語の字形(グリフ)が含まれていないことが原因です。
UnityのTextMeshPro(TMP)では、フォントアセットを自分で作り直す必要がある場面がよくあります。
この記事では、□表示の直し方に絞って手順を説明します。
UIテキストの基本配置は別記事で扱っています。
ここではトラブルシュート版として、日本語が正しく表示されるまでの設定に集中します。
- TextMeshProに日本語を入れたら□ばかり表示される
- どのフォントを選べば日本語が出るのか分からない
- Legacy Textでは出ていたのに、TMPに変えたら読めなくなった
✨ この記事でわかること
- □(豆腐)表示が起きる仕組み
- TextMeshPro用フォントアセットの作り方
- 日本語グリフを含める設定の要点
- 作成したフォントをUIに適用する手順
- Legacy Textを使う場合の注意点
- 初心者でも理解できる解説
\プログラミング未経験でも大丈夫!まずは1本作り切ろう/
初心者が最初に選ぶならコレ
Unity ノンフィールドRPG
+スレスパ風JRPG講座
Unity6対応・スマホ化対応の最新カリキュラム。「何から始めればいいかわからない」という初心者でも、ステップごとに手を動かすだけでRPGが完成します。
憧れのアクションゲームに挑戦
Unity 2Dアクションゲーム
の作り方講座(ロックマン風)
初心者でもロックマン風の横スクロールACTが作れる講座。7ステージ+ラスボスという本格構成で、スマホ化・広告実装まで対応。「自分のゲームをリリースしたい」夢を叶えます。
3Dゲーム開発の入口はここ
ゼルダ風3Dアクションゲーム
の作り方講座
「3Dゲームって難しそう…」と感じている初心者向けの講座。全16回でゼルダ風3Dアクションがスマホ対応で作れるようになります。3D開発の基礎がしっかり身につきます。
なぜ日本語が□になるのか
TMPは、通常のフォントファイル(.ttf / .otf)をそのまま使うのではなく、Font AssetというUnity用データに変換して使います。
変換時に含めた文字だけが表示でき、含まれていない文字は□になります。
デフォルトのフォントアセットは、英数字中心のグリフセットです。
「あ」「い」「漢字」など日本語の字形が入っていないため、日本語を入力すると□が並びます。
これはバグではなく、フォント設定の問題として直せます。
| 症状 | 原因 |
|---|---|
| 英語は出るが日本語だけ□ | Font Assetに日本語グリフが未登録 |
| 一部の漢字だけ□ | フォントにその字形がない、または生成時の文字セットが不足 |
| Legacy Textでは表示できた | Legacyは.ttfを直接参照するため、TMPとは仕組みが異なる |
日本語対応フォントを用意する
まず、日本語グリフを持つフォントファイルをPCに用意します。
Windowsならメイリオや游ゴシック、Macならヒラギノなど、OS付属のフォントが使えます。
商用作品ではライセンスを必ず確認してください。
フォントはプロジェクトのAssetsフォルダ内(例:Assets/Fonts)にドラッグ&ドロップで取り込みます。
Unity上でフォントファイルが表示されれば準備完了です。

無料フォントを使うときは「再配布可か」「ゲーム内利用可か」を必ず確認しましょう。
Asset Storeの日本語フォントも選択肢です。
TextMeshPro用フォントアセットを作る
日本語対応のFont Assetを新規作成します。
- STEP1Font Asset Creatorを開く
メニュー Window → TextMeshPro → Font Asset Creator を開きます。
- STEP2Source Fontに.ttfを指定
用意した日本語フォントをSource Font Fileに設定します。
- STEP3Character Setを選ぶ
日本語を含めるため、Custom Charactersに表示したい文字を入力するか、Unicode Rangeで日本語ブロックを指定します。
- STEP4Generate Font Atlasを実行
Atlas生成後、SaveとしてFont Assetを保存します。
ファイルサイズは文字数に比例します。
- STEP5TextMeshProUGUIに適用
UIのTextオブジェクトのFont Asset欄に、作成したアセットを割り当てます。
よく使う文字だけをCustom Charactersに列挙すると、Atlasサイズを抑えられます。
逆に、将来使う漢字まで含めたい場合は範囲を広げる必要があり、ファイルが大きくなります。
ゲームの規模に合わせてバランスを取りましょう。
表示を確認して微調整する
Font Assetを適用したら、Gameビューで日本語が正しく出るか確認します。
まだ□が出る場合は次をチェックしてください。
- Text Inputに入力した文字が、Font Asset生成時の文字セットに含まれているか
- 別のTextオブジェクトに古いFont Assetが残っていないか
- Font Assetを変更したあと、シーンを保存したか
- Dynamicフォント設定が必要なケースでは、Fallback Font Assetを追加する
既存のFont Assetを更新する場合は、Font Asset Creatorで同じアセットを開き、文字セットを追加して再Generateします。
作り直しより、既存アセットの更新の方が参照の付け替えが少なくて済みます。
Legacy Textを使う場合の注意
旧来のUI Text(Legacy)は、.ttfを直接指定できるため、手軽に日本語が出ることがあります。
ただし、拡大時のにじみや機能面でTMPが推奨されています。
Legacyを使う場合も、日本語対応のフォントをFont欄に設定する必要があります。
Arialなど欧文フォントのままでは、やはり□になります。
新規プロジェクトではTMPへの移行をおすすめしますが、既存プロジェクトの応急処置としてLegacyを使う判断もあります。
よくあるつまずき
追加で確認したいポイントです。
- 全角スペースや特殊記号が□:文字セットに含め忘れている
- ビルド後だけ文字化け:Font Assetがビルドに含まれているか、Resourcesの配置を確認
- 縦書きやルビ:TMP標準では別途工夫が必要。
まずは横書き表示を安定させる

「ひらがなだけ先に表示できればOK」という段階でも大丈夫です。
必要な文字を少しずつFont Assetに足していきましょう。
記事を読んで「作ってみたい!」と思ったら!初心者でも1本完成できる講座で実力をつけよう
知識を読むだけで終わらせるのはもったいない。実際に手を動かしてゲームを1本完成させることで、理解が一気に深まります。プログラミング未経験からでも取り組める講座で、ゲーム開発の第一歩を踏み出しましょう。
Unity ノンフィールドRPG+スレスパ風JRPG講座【Unity6対応!初心者でもデッキ構築×JRPGをスマホ向けに作れる!】

- Unity6対応・スマホ化対応で最新環境のゲーム開発が学べる
- Slay the Spire風のデッキ構築システム×JRPGの組み合わせを実装
- 初心者でも迷わず進められる丁寧な解説構成
- ノンフィールドRPGとデッキ構築JRPGの2つをまとめて学べるセット講座
Unity ノンフィールドRPGの作り方講座+Slay the Spire風デッキ構築JRPGの作り方講座は、プログラミング未経験の初心者でも取り組みやすい、ステップバイステップ形式の講座です。
Unity6対応・スマホ化対応の最新カリキュラムで、読んで「なるほど」と思った知識を、実際に動くゲームとして形にする体験ができます。
「何から始めればいいかわからない…」という初心者が最初に選ぶ一本として最適な講座です。
Unity6対応・スマホ化対応の最新カリキュラム
ゼロからでもRPGを完成させよう
→ スレスパ風デッキ構築JRPG講座を見てみる
初心者でもスマホ対応のRPGが作れる!まずは1本完成を目指そう!
Unity 2Dアクションゲームの作り方講座(ロックマン風)【全16回!初心者でもスマホ化・広告実装まで対応した本格横スクロールACTが作れる!】

- ロックマン・マリオ・カービィのような横スクロールACTをゼロから開発
- 7ステージ+ラスボスステージの本格的なゲーム設計を初心者でも実現
- スマホ化・AdMob広告実装まで対応してリリースまで見据えた構成
- 敵AI15体・多彩なマップギミック・武器システムを完全実装
- 完全オリジナルゲームをアセット不使用で素材提供付きで制作
Unity 2Dアクションゲームの作り方講座(ロックマン風)は、ロックマン・スーパーマリオ・星のカービィのような2D横スクロールアクションゲームを、初心者でもゼロから開発できるようになる講座です。
全16回で当たり判定・物理挙動・敵AIの知識を実際のゲームコードとして実装する体験が詰め込まれています。スマホ化・広告実装まで対応しているため、「作って終わり」ではなくリリースまで見据えた実践スキルが身につきます。
「憧れのアクションゲームを自分の手で作ってみたい」という初心者に強くおすすめの一本です。
スマホ化・広告実装まで対応した本格横スクロールACT
初心者でもロックマン風2Dアクションをリリースまで作り上げよう
→ 2Dアクションゲームの作り方講座を見てみる
初心者でも本格ACTが完成する!広告収益まで視野に入れた実践スキルを手に入れよう!
ゼルダ風3Dアクションゲームの作り方講座【全16回!初心者でも3Dアクションがスマホ対応で作れる!】

- ゼルダの伝説・モンハン・原神のような3Dアクションをゼロから開発
- 「3Dは難しそう」と感じている初心者でも取り組みやすい丁寧な解説構成
- スマホ化対応で実機で動かせるゲームが完成
- アセットを使った実践的なゲーム開発手法が身につく
- 画像・動画・全ソースコード公開の充実したサポート
ゼルダ風3Dアクションゲームの作り方講座は、「3Dゲームは難しそう…」と感じている初心者こそおすすめの入門講座です。
全16回の丁寧な解説で、ゼルダの伝説・モンハン・原神のような本格的な3Dアクションゲームを確実に完成まで導きます。スマホ化対応で実機で動かせるため、初めて3Dゲームを作り上げた達成感がひときわ大きい講座です。
「3Dゲームを自分でも作れるか試してみたい」という初心者の最初の一歩として最適です。
初心者でも3Dアクションがスマホ対応で完成する
ゼルダ風3Dアクションゲームで3D開発の壁を一気に突破しよう
→ ゼルダ風3Dアクションゲームの作り方講座を見てみる
全16回でスマホで動くオリジナル3Dゲームを完成させよう!
まとめ
Unityの日本語文字化けは、日本語グリフ入りの.ttfを用意 → Font Asset Creatorでアセット生成 → TextMeshProUGUIに割り当てでほぼ解決します。
□は「その文字がFont Assetに無い」サインだと覚えておきましょう。
一度日本語対応のFont Assetを作る手順を覚えれば、タイトル画面やスコア表示など、あらゆるUIテキストに応用できます。
文字セットの設計だけ、プロジェクトの規模に合わせて調整してください。
UI全体の作り方を学びたい方は、Unity入門の森の講座で、テキスト配置からゲーム画面づくりまで追うこともできます。
まずFont Asset Creatorを開き、使いたい日本語フォントを指定してみてください。



コメント