UnityのLocalizationパッケージでローカライズ文字列をSpreadSheetと連携する方法についてまとめました。
Unity 2020.3.15f2
Localization 1.2.1
はじめに
この記事ではUnityのLocalizationパッケージで、ローカライズ文字列をSpreadSheetから入出力する方法についてまとめます。
認証についてはOAuthとAPI Keyがありますが、API Keyはpublicなシートにしかアクセスできず、また読み込みしかできないので本記事ではOAuthを使います。
なおLocalizationパッケージの基礎知識については以下の記事にまとめていますので、必要に応じて参照してください。
認証情報を設定する
まずSpreadSheetのOAuth認証情報を設定する必要があります。
これについては以下の記事の「Google APIの初期設定を行う」がそのまま手順となりますので、この通りに設定してください。
Sheets Service Providerを作成・設定する
次にこの認証情報を保持するSheets Service Providerというアセットを作成します。
これはAssets > Create > Localization > Google Sheets Service
から作成できます。
AuthenticationをO Authに設定し、前節で作った認証情報からClient IdとClient Secretを入力します。
認証情報のjsonファイルをダウンロードして読み込ませることもできます。
入力が完了したらAuthorize... ボタンを押下してブラウザで認証を行い、Unityに戻ってエラーが出ていなければ設定完了です。
String TableをSpreadSheetと連携する
次にString TableとSpreadSheetを連携します。
まず以下の手順で連携するためのSpreadSheetを作成します。
- String TableのInspectorからExtensionsの+ボタンを押下し、Google Sheets Extensionを選択
- Extensionが追加されるので、Sheets Service Providerに前節で作ったアセットをアサイン
- Create New Spreadsheetボタンを押下
上記手順が完了すると、Spreadsheet IdとSheet Idが入力された状態になります。
Spreadsheet Idの右のOpenボタンを押下すると連携されたSpreadSheetが開きます。
次にカラムの設定をしていきます。
まずMapped Columnsの+ボタンを押下してAdd Default Columnsを選択します。
コメントなども同期したければ他のカラムを追加することもできます。
Mapped Columnsを追加するとExtensionの最下部のボタンがアクティブになります。
Pushボタンを押下するとString Tableの値がSpread Sheetに書き込まれます。
SpreadSheetを確認すると、データが入力されていることを確認できます。
次にSpreadSheet側にデータを追加してみます。
Testというレコードを追加しました。
SpreadSheetに追加したデータはPullボタンを押下することでString Tableに反映することができます。
Table Editorを見ると正常に反映されていることが確認できます。