LoginSignup
7
3

More than 1 year has passed since last update.

UnityプロジェクトをGitHub Desktopで管理する手順

Last updated at Posted at 2021-07-30

はじめに

UnityプロジェクトをGitHubで管理できるようにする手順を毎回忘れてひどい目に合うので、備忘録として残しておくことにしました。今回はUnity 2021.1.15f、GitHub Desktop ver2.9.0を利用しました。例題として、多言語対応のためのLocalizationPackageの動作確認をしてみようと思います。この辺の記事が参考になります。

この記事で作ったリポジトリはこちらです。git cloneすればUnityで動作確認ができるはずです。合わせて参考にしていただければと思います。

Unityプロジェクトを作る。

 とりあえずCanvasにTextを置いて、テキストとでも入力しておきましょうか。

image.png

GitHub Desktopで新規リポジトリを作成する。

 Unityプロジェクトの名前をNameに、パスをLocal pathに設定します。Local pathに名前を含めてしまうと 名前/名前 というようなパスが出来上がって残念なことになります。(1敗目)

image.png

 ここでGit ignoreでUnityを選べますが、このままだとLogs/ が管理対象になってしまい、余計なファイルをコミットすることになるので.gitignoreを早めに下記に変更する方がよいと思います。(2敗目)

/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Mm]emoryCaptures/

# Never ignore Asset meta data
!/[Aa]ssets/**/*.meta

# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*

# Autogenerated Jetbrains Rider plugin
[Aa]ssets/Plugins/Editor/JetBrains*

# Visual Studio cache directory
.vs/

# Gradle cache directory
.gradle/

# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db

# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta

# Unity3D generated file on crash reports
sysinfo.txt

# Builds
*.apk
*.unitypackage

# Crashlytics generated file
crashlytics-build.properties
~*
.DS_Store

.gitignoreの編集はいろんな方法がありますがGitHub Desktopの場合、下図のようにすればできます。

image.png

大丈夫そうだなと思ったらPublish repositoryを実行してください。私は1敗目のときの名前/名前 というパスを作ってしまったせいで、Publish時に既存のリポジトリが存在するとエラーが出て、WEB上でリポジトリを削除する必要がありました。(3敗目)

image.png

無事にPublishできたらこんな画面が見れるはずです。

image.png

Localizationパッケージを導入する。

com.unity.localization を Addしてください。私はlocalizationの後ろにスペースを入れてしまったため、エラーが出てなかなかインポートできませんした。(4敗目)

image.png

こんな感じでLocalizationが追加されました。

image.png

Logsのignoreを忘れているとGitHub Desktopがこんなことになります。.gitignoreを修正し、GitHub側のLogsを削除して、このChangeが出なくなるまで頑張りましょう。どうにもならない場合は最悪、最初からやり直しましょう。

image.png

Localization Tableの作成

テキストを英語ロケールのときにはtextに置き換えて表示したい、という例を考えます。まずはProject Settings>Localizationを見て、EnglishとJapaneseを選びます。

image.png

これだけでも44個のファイルが追加されます。

image.png

Localization Tableを作りましょう。KeyはGUI上から選択する名前になるので命名規則をしっかり考えておくほうがよいでしょう。今回はテストなので適当です。

image.png

Localization String Eventの設定

Textオブジェクトに対してAdd ComponentでLocalizate String Eventを追加し、String Referenceで先ほど作ったテーブルとキーを選択します。

image.png

そうしてGizmosの下にあるロケールをEnglishに変更すると、ほら、変わらない...。(5敗目)

image.png

正しいやり方は Text付近で右クリックをしてLocalizeをクリックすることです。こうすると、Update String イベント発生時にTextの値を変更する設定が自動追加されます。

image.png

再度挑戦。無事textに変換されました。

image.png

Buildしてみた。

ビルドしてちゃんと英語ロケールになるかを確認しましょう。Project Settingsを下記のように変更して、

image.png

実行、しても日本語のままです。(6敗目)
ということで、ここからが本当の地獄の始まりなのでした。

image.png

最後に

某案件で多言語対応の必要性がありLocalizationPackageを使ってテーブルを作ったものの、ビルド時に英語にならない不具合に遭遇したため、検証用環境を作ろうと思ったのが本記事の執筆の動機でした。GitHub Desktopを駆使してLocalizationPackageがまともに動くようになりましたら、その内容についても備忘録として記事化しようと思います。

(7/31追記)解決への道筋

まず、この単純なサンプルについては、9.Build Preview and configuration の通りに実行することで英語ロケールになることが確認できました。

本当の問題はLocalization-0.9で対応してしまった別プロジェクトで、この方法を実行するとロケール設定がぶっ壊れる現象を何とかしたかったのです。が、ここから学び、出した結論は「一からやり直し」でした。幸いmasterはLocalization対応していない状態なので、改めてブランチを切って、Localization-0.10をインストールして、一ヶ所だけ英語に変えてみたら問題なく動きました。残り85個分のテキストを再度Localize設定する作業にこれから入ります...。

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3