【Unity】【Localization】ローカライズ文字列をSpreadSheetと連携する

UnityのLocalizationパッケージでローカライズ文字列をSpreadSheetと連携する方法についてまとめました。

Unity 2020.3.15f2
Localization 1.2.1

はじめに

この記事ではUnityのLocalizationパッケージで、ローカライズ文字列をSpreadSheetから入出力する方法についてまとめます。

認証についてはOAuthとAPI Keyがありますが、API Keyはpublicなシートにしかアクセスできず、また読み込みしかできないので本記事ではOAuthを使います。

なおLocalizationパッケージの基礎知識については以下の記事にまとめていますので、必要に応じて参照してください。

light11.hatenadiary.com

認証情報を設定する

まずSpreadSheetのOAuth認証情報を設定する必要があります。
これについては以下の記事の「Google APIの初期設定を行う」がそのまま手順となりますので、この通りに設定してください。

light11.hatenadiary.com

Sheets Service Providerを作成・設定する

次にこの認証情報を保持するSheets Service Providerというアセットを作成します。
これはAssets > Create > Localization > Google Sheets Serviceから作成できます。

AuthenticationをO Authに設定し、前節で作った認証情報からClient IdとClient Secretを入力します。
認証情報のjsonファイルをダウンロードして読み込ませることもできます。

f:id:halya_11:20220331192338p:plain
認証情報を設定

入力が完了したらAuthorize... ボタンを押下してブラウザで認証を行い、Unityに戻ってエラーが出ていなければ設定完了です。

String TableをSpreadSheetと連携する

次にString TableとSpreadSheetを連携します。
まず以下の手順で連携するためのSpreadSheetを作成します。

  1. String TableのInspectorからExtensionsの+ボタンを押下し、Google Sheets Extensionを選択
  2. Extensionが追加されるので、Sheets Service Providerに前節で作ったアセットをアサイ
  3. Create New Spreadsheetボタンを押下

f:id:halya_11:20220331192419p:plain
Spreadsheetを作成

上記手順が完了すると、Spreadsheet IdとSheet Idが入力された状態になります。
Spreadsheet Idの右のOpenボタンを押下すると連携されたSpreadSheetが開きます。

次にカラムの設定をしていきます。
まずMapped Columnsの+ボタンを押下してAdd Default Columnsを選択します。
コメントなども同期したければ他のカラムを追加することもできます。

f:id:halya_11:20220331192459p:plain
Add Default Columns

Mapped Columnsを追加するとExtensionの最下部のボタンがアクティブになります。
Pushボタンを押下するとString Tableの値がSpread Sheetに書き込まれます。

f:id:halya_11:20220331192521p:plain
Push

SpreadSheetを確認すると、データが入力されていることを確認できます。

f:id:halya_11:20220331192539p:plain
データが入力されている

次にSpreadSheet側にデータを追加してみます。

f:id:halya_11:20220331192607p:plain
データを追加

Testというレコードを追加しました。
SpreadSheetに追加したデータはPullボタンを押下することでString Tableに反映することができます。

f:id:halya_11:20220331192632p:plain
Pull

Table Editorを見ると正常に反映されていることが確認できます。

f:id:halya_11:20220331192649p:plain
反映されている

関連

light11.hatenadiary.com

light11.hatenadiary.com

参考

docs.unity3d.com