目次
はじめに
Unity でテキストを扱う際、データによっては文字数が多すぎてテキストの表示領域(Width)を超えてしまい、勝手に改行されるケースがあります。

本記事では文字数に応じて自動でフォントサイズを調整してくれる TextMeshPro の Auto Size 機能を紹介します。
参考 TextMesh Pro ユーザーガイドunityバージョン情報
Unity 2020.2.0f1
TextMeshPro 3.0.1
TextMeshPro の Auto Size でフォントサイズを自動調整
Inspector ウィンドウから TextMeshPro のコンポーネントを確認すると「Auto Size」という項目があります。こちらにチェックを入れると、文字数に応じて自動でフォントサイズを調整してくれます。

また、Auto Size が有効だと「Auto Size Options」が表示されます。
「Min」と「Max」でフォントの最小サイズと最大サイズが設定できます。文字数が増えるにつれて Max のフォントサイズから範囲内に収まるように文字の大きさが小さくなっていきます。

以下は Auto Size を有効にしている状態です。
文字数が増えても白い範囲内に収まるよう、自動でフォントサイズが調整されているのが分かります。

文字数オーバーした際は末尾を「…」にする方法
TextMeshPro では、文字数が多くなった際に末尾を「…」にする設定があります。これは TextMeshPro の「Overflow」を「Ellipsis」にすることで実現可能です。

実際に「Overflow」を「Ellipsis」に設定したテキストが以下になります。
文字数が溢れた分は「…」という表記になりました。

終わりに
ゲーム開発において、キャラ名やアイテムの説明文など、文字数がそれぞれ異なるデータが出てくるかと思います。今回紹介した Auto Size はそういったデータを表示する際に有効に活用できるかと思います。
関連資料

Unityの教科書 Unity 2021完全対応版 2D&3Dスマートフォンゲーム入門講座
いちばん売れているUnity入門書が最新バージョンに対応 最新環境でゲーム制作を楽しく体験しましょう! ■本書の特徴 ●初めてゲーム制作にチャレンジする人に最適! 最初は簡単な2Dゲームの制作からスタートし、徐々に難しいゲームへと進めていきます。サンプルゲームの制作を通じて、Unityの機能と、ゲームを作るための知識が自然と身に付きます。 ●プログラムの書き方がわからなくても大丈夫! C#の基礎知識も掲載しているので、プログラミング経験のまったくない人でも、安心して学習を開始することができます。 ●ゲームを面白くするためのヒントを掲載! Unityの使い方だけでなく、ゲームの設計方法、レベルデザインなど、ゲームを面白く作るための知識も紹介しています。
作って学べる Unity 本格入門 [Unity 2021対応版] 作って学べる開発入門
本書はUnityでゲーム開発を行いたい人を対象に、1つのゲームを制作する流れを通してUnity 2021の操作が学べる入門解説本です。本書内で武器などを調達し、食べ物を求めながら冒険し、武器でモンスターと戦う3Dアクションゲームを制作していきます。本格的なゲームを実際に制作しながらUnityの使い方を学べますので、楽しみながら学びことができ、かつ実践的なテクニックも身につけることができます。
新・標準プログラマーズライブラリ なるほどなっとく C#入門
本書は、プログラミングの知識・経験がなくてもC#の基本文法を身につけることができる入門書です。 そのために、「初心者に理解して身につけてほしい機能を厳選し、ポイントを絞る」 「C#になぜその機能があるのか、どんな場面で使うのかという点も納得できる」という方針で解説しています。 C#の文法は膨大ですが、これから学ぼうとする方は、すべてを覚える必要はありません。 本書を通して、「なぜ」という疑問をひとつひとつ解消しながら、 利用頻度の高い文法をしっかりと自分のものにすることができます。