Unityエディターを日本語で使うには、Unity Hubで日本語の言語パックを追加し、エディターの環境設定で表示言語を切り替えます。Hubの表示言語とエディターの表示言語は別の設定なので、片方だけ変えても両方は日本語になりません。この記事では、Unity 6(6000.x)での日本語化の手順と英語に戻す方法、「Languages」が出ないときの原因、言語パックで日本語になる範囲と訳語が無い項目、ゲーム内で日本語を表示・切り替える設定、そしてUnity 6の主な新機能と2022 LTSからの変更点をまとめます。
まとめ:Unity 6の日本語化と新機能の要点
- エディターの日本語化は2段階。Unity Hubの「Installs」で対象バージョンにLanguage packs > 日本語を追加し、エディターのEdit > Preferences > Languages(macOSは Unity > Settings)で「Editor Language (Experimental)」をオンにして日本語を選び、再起動します。
- 英語に戻すときは、日本語表示の編集 > 環境設定 > 言語で英語(English)を選んで再起動します。
- Unity Hub自体の日本語化は Hub の Settings > Appearance > Language で行います。エディターとは連動しません。
- 2026年10月16日時点で、Unity 6.0・6.3・6.6と、ベータの6.7に配信されている日本語パックは同一ファイルです。Deferred+やMesh LODなど6.1以降の機能名は、このパックに訳語の項目がありません。
- ゲームの画面に日本語を出す方法として、この記事ではTextMesh Proの日本語フォントアセットを使います。プレイヤーによる言語選択にはLocalizationパッケージを使う例を紹介します。エディターの日本語化とは別の作業です。
- Unity 6は2024年10月17日(日本時間)に6000.0.23f1で正式リリースされたLTSです。6.0 LTSの標準サポートは2026年10月までと公式に案内されています。
現行LTSの版番号やサポート期限はUnity 6.3 LTSの新機能と変更点の解説で扱っています。以下、手順から順に説明します。
Unity 6エディターを日本語化する手順
Unity Hubで日本語の言語パックを追加
言語パックはエディターのバージョンごとに入れるモジュールです。6000.3に入れても6000.0には効かないので、使うバージョンすべてに追加します。
- Unity Hubを開き、左メニューの「Installs」を選ぶ
- 日本語化したいエディターの「Manage」(歯車)から「Add modules」を選ぶ
- 一覧の「Language packs」で「日本語」にチェックを入れ、「Install」を押す
手順はUnity Hubの公式ドキュメント(Select a language in the Unity Hub and Unity Editor)に沿っています。Unityのリリース APIで確認すると、Unity 6系で選べる言語パックは日本語・韓国語・繁體中文・简体中文の4つで、日本語パックの容量は約2.9MB(2,936,241バイト)です。
エディターの環境設定で表示言語を切り替え
言語パックを入れたエディターでプロジェクトを開き、次の順に操作します。
- Windows・Linuxは Edit > Preferences、macOSは Unity > Settings を開く
- 左の一覧から「Languages」を選ぶ
- 「Editor Language (Experimental)」にチェックを入れる
- 「Editor language」のドロップダウンで「日本語」を選ぶ
- エディターを再起動する
項目名に「Experimental」と付いているとおり、エディターの多言語表示は公式に実験的機能の扱いです。
英語に戻す手順(日本語表示でのメニュー名)
日本語化したあとはメニュー名も日本語になるため、英語の手順書どおりに探すと見つかりません。言語パックの訳語では、Edit は「編集」、Preferences… は「環境設定…」、Languages は「言語」、Editor Language (Experimental) は「エディター言語 (実験的)」です。
- Windows・Linuxは 編集 > 環境設定 を開く(macOSは Unity メニューの設定項目)
- 左の一覧から「言語」を選ぶ
- 「エディター言語」のドロップダウンで英語(English)を選ぶ
- エディターを再起動する
言語パックをアンインストールする必要はありません。もう一度日本語にするときも同じ画面で選び直すだけです。
新規インストール時とコマンドラインでの追加
これからエディターを入れる場合は、Hubの「Install Editor」でバージョンを選んだあとのモジュール選択画面で「日本語」にチェックを入れれば、エディター本体と同時に入ります。
複数台に同じ構成を配るときはコマンドラインが使えます。Hub CLIのリファレンスによると、Unity Hub 3.18.0からHubに内蔵のCLI(-- --headlessで動かす方式)は非推奨になり、後継として単体の unity CLI が案内されています。ただしunity CLIのリファレンスにも、現時点では「experimental」と明記されています。以下の例は、単体CLIを導入済みで、対象バージョンのエディターがHubかCLIでインストール済みであることが前提です。
# 単体の unity CLI(後継・experimental)
unity install-modules -e 6000.3.26f1 -m language-ja
# Unity Hub内蔵CLI(macOS・Hub 3.18.0から非推奨)
/Applications/Unity\ Hub.app/Contents/MacOS/Unity\ Hub -- --headless install-modules --version 6000.3.26f1 -m language-ja
モジュールIDは language-ja です。バージョン番号はHubの「Installs」に表示されている値に合わせてください。
Unity Hub自体を日本語表示にする設定
Hubの画面を日本語にするには、Hubの「Settings」を開き、「Appearance」の「Language」で日本語を選びます。公式ドキュメントに載っているHubの対応言語は、英語・韓国語・日本語・簡体字中国語・繁体字中国語の5つです。
この設定はHubの表示だけを変えます。Hubを日本語にしてもエディターは英語のままで、逆にエディターを日本語にしてもHubは英語のままです。
「Languages」が出ない・日本語にならないときの原因
日本語にならない場合は、まず言語パックの導入先、再起動の有無、英語で残る項目の範囲を確認します。
| 症状 | 原因 | 対処 |
|---|---|---|
| 日本語を選べない | 言語パック未導入 | Hubで日本語モジュールを追加 |
| 「Add modules」が無い | Hub外でインストール | Hubかunity CLIで入れ直す |
| 別バージョンだけ英語 | パックは版ごと | そのバージョンにも追加 |
| 選んでも表示が変わらない | 未再起動 | エディターを再起動 |
| 一部の項目だけ英語 | 翻訳カタログ外 | 仕様(次章参照) |
公式ドキュメントは、言語を切り替えるには対象エディターに言語パックが少なくとも1つ入っている必要があると明記しています。「Add modules」が出ないケースは、ダウンロードアーカイブから直接入れたエディターや、Hubの「Locate」で後から登録したエディターで起きます。モジュール追加の公式ドキュメントのとおり、Hubの管理下にないエディターにはHubからモジュールを足せないため、Hub(またはCLI)で入れ直します。
言語パックで日本語になる範囲と訳語が無い項目
言語パックの中身は約1.5万項目の翻訳カタログ
日本語パックの実体は、Unityの配信サーバーから取得されるgettext形式の翻訳ファイル(ja.po)です。2026年10月16日に6000.0・6000.3・6000.6・6000.7(ベータ)向けの配信URL(6.0向けはnew-translate.unity3d.jp/v1/live/54/6000.0/ja)からそれぞれ取得して比べたところ、4つはMD5ハッシュ値(326e7c56b82d8072e9da703a307dbdbe)まで同じ同一ファイルでした。翻訳対象の文字列をソースから抽出した日付を表すPOT-Creation-Dateは2024年2月29日です。空でないmsgid(原文)とmsgstr(訳文)を持つエントリは14,662件で、うち336件は原文と訳文が同じ表記です。
カタログはエディター本体のメニュー、ウィンドウ、エラー表示などに分かれています。Hierarchy、Inspector、Consoleといった基本ウィンドウや、6.0で入ったBuild Profilesは翻訳されています。
訳語が見つからない項目:6.1以降の機能名と一部の設定名
同じファイルを検索すると、Unity 6.1のDeferred+やVariable Rate Shading、同じ6.1の発表に含まれるProject Auditor、6.2のMesh LODやUnity AIを機能名単独のmsgidとする項目はありません。6.0で入ったMultiplayer Centerも同様です。今回確認した6.3・6.6・6.7向けにも6.0と同じファイルが配られているため、これらの版でも状況は同じです。URPの「Forward+」は単独の項目こそ無いものの、Forward+を含む説明文には「Forward+(フォワードプラス)」という訳があります。
ここで確かめたのはカタログ内の語の有無で、実際の画面を1つずつ点検したわけではありません。カタログに無い機能名が画面でどう表示されるかは断定できませんが、新しい機能ほど英語表記が混ざると見込んでおくと戸惑いません。
日本語表示と英語資料を行き来するときは、名前の対応を知っておくと検索で迷いません。以下はカタログにある訳語の例です。
| 英語表示 | 日本語表示 |
|---|---|
| Edit | 編集 |
| Preferences… | 環境設定… |
| Languages | 言語 |
| Project Settings… | プロジェクト設定… |
| Hierarchy | ヒエラルキー |
| Inspector | インスペクター |
| Package Manager | パッケージマネージャー |
| Build Profiles | ビルドプロファイル |
| GPU Resident Drawer | GPU 常駐ドロワー |
「GPU 常駐ドロワー」のような直訳は、英語のチュートリアルや公式マニュアルと照合するときに名前が一致しません。
日本語化のデメリットと英語のまま使う判断基準
操作を覚える段階の個人学習なら日本語化してかまいません。前述の手順で英語にも戻せます。デメリットは、画面の項目名が英語の情報源と一致しなくなることです。次のどれかに当てはまるなら英語のまま使うほうが手戻りが少なくなります。
- チームで画面共有や手順書を作る(メニュー名が人によって変わる)
- 英語のチュートリアル、Unity Discussions、アセットのドキュメントを主に参照する
- URPの設定や新機能について、英語の公式資料と画面上の項目名を一致させたい
公式マニュアルの日本語版もあるため、画面は英語・マニュアルは日本語という組み合わせも選べます。
ゲーム内で日本語を表示する・言語を切り替える設定
エディターの日本語化と、作ったゲームの画面に日本語を出すことは別の話です。エディターの言語パックが訳すのはエディターの画面で、ゲームの文字表示には関係しません。
日本語フォントアセットの作り方(TextMesh Pro)
Unity 6ではTextMesh Proが uGUI 2.0 パッケージに統合されており、日本語を表示するには日本語グリフを含むフォントからフォントアセットを作る必要があります。
フォントアセットには2つの作り方があります。Font Asset Creatorで使う文字をあらかじめアトラスに焼き込む静的フォントアセットは、収録しなかった漢字を表示できません。空のアトラスから始め、使われた文字を元のフォントから実行時に追加するのが動的フォントアセットです。焼き込み漏れは起きにくい一方、元フォントにない文字やアトラスに追加できない文字は表示できず、元のフォントファイルがビルドに含まれるためサイズも増えます。動的フォントアセットの公式ドキュメントは、日本語のように文字数が多い言語ではフォールバックフォントで複数のアセットに文字を分ける方法を挙げています。ユーザーが自由入力するテキスト欄には動的、固定の台詞やUIには静的、と使い分けるのが無難です。
Localizationパッケージによるゲーム内の言語選択
日本語と英語を切り替えられるゲームにするなら、公式のLocalizationパッケージ(com.unity.localization、2026年10月時点の最新は1.5.13)を使います。Package Managerから入れたあと、クイックスタートガイドの順に進めます。
- Edit > Project Settings > Localization で「Create」を押し、Localization Settingsを作る
- 同じ画面の「Locale Generator」で日本語(ja)と英語(en)などのLocaleを作る
- Window > Asset Management > Localization Tables で文字列テーブルを作り、キーごとに各言語の文を入れる
- 表示するテキストのコンポーネントを右クリックして「Localize」を選び、追加されたLocalize Stringコンポーネントでテーブルとキーを指定する
起動時にどの言語で始めるかはLocale Selectorが決めます。端末の言語を使うSystem Locale Selector、前回プレイヤーが選んだ言語をPlayerPrefsから読むPlayer Pref Locale Selector、起動引数 -language=ja で指定するCommand Line Locale Selectorなどを上から順に評価し、最初に見つかったLocaleを使います。
ゲーム内の言語切り替えメニューは、公式のScriptingページにあるサンプル「Make a basic Locale selection menu」が土台になります。次のコードをLocaleDropdown.csとして保存し、シーン内のDropdown(UnityEngine.UI.Dropdown)に追加します。InspectorでLocaleDropdownのdropdown欄に、そのDropdownコンポーネントを割り当ててから再生すると、登録したLocaleが選択肢に並びます。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Localization.Settings;
using UnityEngine.UI;
public class LocaleDropdown : MonoBehaviour
{
public Dropdown dropdown;
IEnumerator Start()
{
// ローカライズの初期化が終わるまで待つ
yield return LocalizationSettings.InitializationOperation;
// 登録済みのLocaleを選択肢にする
var options = new List<Dropdown.OptionData>();
int selected = 0;
for (int i = 0; i < LocalizationSettings.AvailableLocales.Locales.Count; ++i)
{
var locale = LocalizationSettings.AvailableLocales.Locales[i];
if (LocalizationSettings.SelectedLocale == locale)
selected = i;
options.Add(new Dropdown.OptionData(locale.name));
}
dropdown.options = options;
dropdown.value = selected;
dropdown.onValueChanged.AddListener(LocaleSelected);
}
static void LocaleSelected(int index)
{
LocalizationSettings.SelectedLocale = LocalizationSettings.AvailableLocales.Locales[index];
}
}
サンプルが最初に InitializationOperation を待っているのは、Localization Settingsの初期化が非同期で進むためです。メニュー自体を出し分けたいときは、このDropdownのGameObjectを SetActive で表示・非表示にします。i18n(国際化)とl10n(地域化)の用語の違いはi18n(国際化)とは?l10nとの違いの解説で整理しています。
Unity 6とは:6000.0の位置づけと料金の変更
リリース日とバージョン番号の数え方
Unity 6は、2022 LTSの次のLTSです。バージョン番号は「2023.x」のような西暦ではなく「6000.0」になり、プレビュー版(6000.0.0f1・2024年4月29日公開)を経て、6000.0.23f1が2024年10月17日(日本時間)に最初のLTSとして公開されました。公式の新機能ページは、Unity 6.0が2023.1・2023.2・Unity 6 Previewの機能をすべて含むと説明しています。
その後は6.1、6.2と「Update」リリースが続き、6000.3(Unity 6.3)が2本目のLTSになっています。検索で「Unity 6」と書かれていても、6.0を指すのか6.x全体を指すのかで内容が変わる点に注意してください。
6.0 LTSのサポート期限
Unityのサポートページは、6.3 LTSを2027年12月まで、6.0 LTSを2026年10月までサポートすると案内しています。Unity EnterpriseとUnity Industryの契約者には、さらに1年の追加サポートがあります。6.0のパッチは2026年10月15日公開の6000.0.85f1まで出ていますが、6.0で運用中のプロジェクトは6.3 LTSへの移行を計画する時期です。移行に合わせてバージョン管理を見直すなら、Unity Version Control(旧Plastic SCM)の使い方の解説が参考になります。
Runtime Fee撤回とUnity Personalの条件
Unityは2024年9月12日、インストール数に応じて課金するRuntime Feeをゲーム向けに撤回すると発表しました。同じ発表で、Unity Personalの収益・資金調達の上限を10万ドルから20万ドルに引き上げ、Unity 6で作ったPersonalのゲームは「Made with Unity」スプラッシュ画面を任意にすると告知しています。Unity Proは2025年1月1日から8%値上げされて1席あたり年額2,200ドルになり、2026年1月12日からはProとEnterpriseがさらに5%値上げされ、Proの米ドル価格は年払いで1席年額2,310ドルです。既存契約への適用は同日以降の次回更新時です。
Unity 6の主な新機能(2022 LTSとの違い)
描画:GPU Resident DrawerとGPUオクルージョンカリング
Unity 6の目玉はCPU側の描画負荷を減らす機能群です。GPU Resident DrawerはBatchRendererGroup APIを使って同じメッシュのGameObjectをGPUインスタンシングでまとめて描画し、ドローコールを減らします。GPUオクルージョンカリングは、現在のフレームと前のフレームの深度情報を使い、両方で遮蔽されているオブジェクトの描画をGPU側で省きます。
どちらもBuilt-inレンダーパイプラインでは使えず、URPかHDRPが前提です。URPのマニュアルでは、GPU Resident Drawerの条件としてForward+レンダリングパス、コンピュートシェーダー対応のグラフィックスAPI(OpenGL ESは除く)、Mesh Rendererを持つGameObjectを挙げています。有効にするとBatchRendererGroupのシェーダーバリアントをすべてビルドに含めるため、ビルド時間は長くなります。同じメッシュを大量に並べる大規模シーンほど効果が出やすく、小さなシーンでは差が出にくい機能です。
このほかURPには、Render Graphによる描画パスの再構成、アップスケーラーのSTP(Spatial-Temporal Post-Processing)、Adaptive Probe Volumesのライティングシナリオのブレンドが加わりました。
開発フロー:Build ProfilesとMultiplayer Center
従来のBuild Settingsウィンドウは、Build Profilesに置き換わりました。1つのプラットフォームに対して「開発用」「ストア提出用」のように複数のビルド構成を保存できます。マルチプレイヤー開発では、ゲームの要件を答えると必要なパッケージとサービスを提案するMultiplayer Centerと、エディター内で複数プレイヤーを同時に動かして試せるMultiplayer Play Mode 1.0が入りました。
プラットフォーム面では、WebGLが「Web」プラットフォームに改称されてモバイルブラウザ向けの対応が加わり、Apple Vision Pro向けのvisionOSもサポート対象になっています。ブラウザ側の仕組みはWebGLとは?仕組みとUnityビルドの解説で扱っています。
6.1・6.2で追加された主な機能
6.0以降のUpdateリリースでも機能は増えています。
| 機能 | 導入版 | 概要 |
|---|---|---|
| Deferred+ | 6.1 | URPの新しいレンダリングパス |
| Variable Rate Shading | 6.1 | 画面の一部のシェーディング解像度を下げる |
| WebGPU(実験的) | 6.1 | Webでコンピュートシェーダー等を利用 |
| Mesh LOD | 6.2 | LODメッシュを自動生成 |
| Unity AI(Assistant) | 6.2 | Muse Chatの後継となるエディター内AI |
前章のとおり、これらの機能名は日本語パックに含まれていません。Unity AIの料金や使い方はUnity AIの料金(クレジット制)と使い方の解説、6.3 LTSでの変更はUnity 6.3 LTS(6000.3)の新機能と6.2からの変更点にまとめています。
2022 LTSからUnity 6へ上げるときの注意点
公式のアップグレードガイドのうち、既存プロジェクトの見た目や動作が変わる項目は次のとおりです。移行はプロジェクトをバージョン管理にコミットしてから行ってください。
- Enlighten Baked GIの廃止:ライトマッパーでEnlightenを選んでいたシーンは、Apple siliconではProgressive GPU、それ以外ではProgressive CPUに自動で置き換わります。焼き直しが必要です。
- Auto Generateの廃止:Lightingウィンドウの自動生成が無くなり、Generate Lightingを押すか
Lightmapping.Bakeを呼ぶ必要があります。環境ライティング(アンビエントプローブとスカイボックスのReflection Probe)も既定では焼かれなくなりました。 - FindObjectsOfTypeのobsolete化:後継の
FindObjectsByTypeは並び順を引数で指定します。 - Android:Javaの
UnityPlayerクラスがFrameLayoutを継承しなくなり、既定のAndroidツールのバージョンも変わりました。ネイティブプラグインを持つプロジェクトは要確認です。
以下は、UnityEngineを参照するMonoBehaviour派生クラスのメソッド内に置く置換例です。Enemyは、プロジェクトで定義したMonoBehaviour派生型を想定しています。
// Unity 2022 LTSまで(Unity 6ではobsolete)
Enemy[] enemies = FindObjectsOfType<Enemy>();
// Unity 6:並び替え不要ならNoneを指定
Enemy[] enemies6 = FindObjectsByType<Enemy>(FindObjectsSortMode.None);
Enemy first = FindFirstObjectByType<Enemy>();
旧APIは結果を毎回インスタンスID順に並べ替えていたため、オブジェクトが多いと遅くなります。公式ガイドは FindObjectsSortMode.None の使用を推奨しています。
もう1つ、Built-inレンダーパイプラインはUnity 6.5で非推奨化の手続きが始まりました。Unityのレンダーパイプライン方針では少なくとも6.7 LTSまでは提供を続けるとしていますが、新規プロジェクトでの採用は推奨していません。前章のGPU Resident DrawerもURPかHDRPが前提なので、新規プロジェクトでは公式が推奨するURPを第一候補にします。既存タイトルの移行やUnityでのゲーム開発を外部に任せたい場合は、ゲームアプリ開発の支援内容も参考にしてください。
よくある質問
Unityを日本語化するにはどうすればいいですか?
Unity Hubの「Installs」で対象エディターの「Manage」から「Add modules」を開き、Language packsの「日本語」を追加します。次にエディターの Edit > Preferences > Languages(macOSは Unity > Settings)で「Editor Language (Experimental)」をオンにして日本語を選び、再起動します。
Unityの環境設定に「Languages」が無い、または日本語を選べないのはなぜですか?
そのエディターに言語パックが入っていない可能性が高いです。Hubで日本語モジュールを追加してください。「Add modules」自体が表示されない場合は、Hubの外でインストールしたエディターなので、Hubかunity CLIで入れ直す必要があります。
日本語化したUnityを英語に戻すにはどうすればいいですか?
日本語表示の 編集 > 環境設定 > 言語 を開き、「エディター言語」で英語(English)を選んで再起動します。言語パックをアンインストールする必要はありません。
Unity Hubの表示も日本語にできますか?
できます。Hubの Settings > Appearance > Language で日本語を選びます。ただしHubとエディターの言語設定は独立しているため、エディターは別途日本語化が必要です。
Unity 6は2022 LTSと何が違いますか?
URP・HDRP向けのGPU Resident DrawerとGPUオクルージョンカリング、Build Settingsに代わるBuild Profiles、Multiplayer Centerなどが加わりました。一方でEnlighten Baked GIとライティングの自動生成は廃止され、FindObjectsOfType はobsoleteになっています。