Unity - Localization, Addressable:ビルト時にローカライズしたテキストが表示されない場合の対処法
前提知識(Localization について)
Localization については、こちらの記事をご覧ください。
fineworks-fine.hatenablog.com
原因
ビルド時にローカライズしたテキストが表示されなかった原因は、
Addressableのビルドをしていなかったから
です。
ローカライズした際に作成した Locale ファイルや String Table を確認すると、Inspector に Addressable と書かれているのが分かります。
実は、Localization は Addressable の使用を前提としており、各ファイルにアドレスが割り当てられています。そのアドレスを指定することで、ファイルをロードするような仕組みになっています。
実機で Addressable を使うには、Addressableのビルドを行う必要があります。これにより Addressable の内部で使われている AssetBundle のビルドと、アドレスや依存関係の情報を構築することで、実機でも読み込みが可能になります。
対処法
原因で書いた通り、Addressable のビルドをすればよいです。次の手順で Addressable をビルドできます。
- Addressable Groups ウィンドウを開く。(Window/Asset Management/Addressable Assets/Groups)
- Build/New Build/Default Build Scriptを選択する。
Addressable がビルドできれば、あとは通常通り実機でも動くはずです。
参考
(Localization と Addressable の関係について)
この記事の最下部に本記事の内容が書いてあります。
docs.unity3d.com
(Addressable について)
light11.hatenadiary.com
最後に
- Localization は Addressable の使用が前提
- きちんと Addressable のビルドをしよう