どのプラットフォームでも同じフォントを使用できるようにする

ページ更新日 :
ページ作成日 :

検証環境

Windows
  • Windows 11
Unity エディター
  • 2020.3.25f1

この Tips の前提設定

この Tips の説明の前提として以下の設定を事前に行っています。

Unity で使用できるフォントについて

Unity でデフォルトで使用できるフォントは Arial のみです。Arial は英語のみであり、日本語などは含まれていません。

Windows での開発やゲーム実行では日本語が表示されていますが、 これは OS 側でフォントに存在しない文字が使用された場合は MS Pゴシック などに置き換える処理などが入るためです。

ためしに WebGL で Arial フォントで日本語を表示しようとした場合、フォントの置き換え処理は発生しないので日本語はまったく表示されなくなります。

そのため基本的にはゲーム用にフォントを用意し、フォントをゲームに同梱して使用するというのが定番かと思います。

当サンプルで使用するフォント

衡山毛筆フォント行書 を使用しています。以下のサイトからダウンロード可能です。

フォントの使用ライセンスについて

選んだフォントがどのように使用していいかについてはフォントごとに決まっています。 必ず利用規約などを読んだうえで「ゲームに使用できるか」「有料ゲームとして配布可能か」などを確認してください。

フォントを Unity プロジェクトに組み込む

使用する任意のフォントファイルを用意します。

これをプロジェクトにドロップします。今回はサンプルなので Scenes フォルダに直接入れていますが、 それなりの規模になるゲームならばフォルダ分けをきちんと行ってください。

テキストを扱うオブジェクトを選択します。

インスペクターの Text コンポーネントに「フォント」があるので、右にあるボタンから選択するかプロジェクトに入れたフォントをドロップして設定してください。

するとエディタ上のテキストのフォントが変わります。 今回使っているフォントは日本語と英語専用なので他の言語の表示がおかしいですが、フォント自体は正しく適用されていることを確認できます。

プロジェクトに入れたフォントはゲームに組み込まれるため、どの環境でも指定したフォントを使用することが可能です。 WebGL で実行しても日本語は正しく表示されています。