1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Unityで無限ランナーを作る:第3回 GitHub連携 実践編

Posted at

1. はじめに

今回は GitHub 連携の手順を説明するため、既存の本番プロジェクトとは別に
Runner-GitHub-Sample というサンプルプロジェクトを作成しています。

本記事では、Unity プロジェクトを GitHub で安全に管理し始めるための
最小構成のセットアップ手順を解説します。

操作は役割ごとに使い分けており、
初期設定や細かな制御が必要な操作は CLI、
コミットや変更内容の確認は SourceTree を使用しています。

また、説明をシンプルにするため、GitHub との接続には HTTPS を使用しています。
SSH 接続でも問題ありませんが、設定手順が増えるため今回は割愛しています。

スクリーンショットおよび操作例は Unity 6.3(Unity 6.x 系)を使用しています。
基本的な Git / GitHub の手順は Unity 6.1 を含む 6.x 系で共通です。

Git がインストール済みであることを前提としています。
未インストールの場合は、公式サイトの手順に従ってインストールしてください。

2. GitHubに空のリポジトリを作成する

まずは GitHub 上に空のリポジトリを作成します。
今回は後続の手順をシンプルにするため、README や .gitignore は作成していません。
これらは後ほどローカルで作成します。

CreateRepository.png

リポジトリ作成直後はこのように「Quick setup」が表示されます。
この状態では、リポジトリは作成されていますが、まだ何もcommitされていません。

CreatedRepository.png

3. ローカルにUnityプロジェクトを作成する

今回は GitHub 連携手順の説明用サンプルとして、Unity 6.3 の Universal 3D テンプレートでプロジェクトを作成します。
実際のRunnerプロジェクトでは「3D Mobile」テンプレートを使用していましたが、Unity 6.3 では同等の意図で Universal 3D を選択しています。

Create_NewProject_Unity.png

Unityプロジェクト作成直後の画面がこちらです。
Readmeを選択してインスペクタに表示されるRemove Readme Assetsボタンを押下することで、Readme.assetやTutorialInfoをまとめて削除できます。
実プロジェクトでは不要なため、このタイミングで整理しておきます。

Created_NewProject_Unity.png

既存のGlobal Volumeはそのまま利用したいため、SampleSceneは削除せず名称のみ変更して使用します。

補足
Global Volume は、シーン全体に適用されるポストプロセス(色味や露出など)の設定を管理するためのオブジェクトです。

4. ローカルにGitリポジトリ作成し、リモートリポジトリを設定する

前項で作成したUnityプロジェクトのルートディレクトリへ移動して以下のコマンドを実行します。
(Assets フォルダではなく、プロジェクトのルートディレクトリです。)

> git init

次に予めGitHubで作成しておいたリポジトリをリモートリポジトリとして設定します。
ここでは、リモートリポジトリの名前として慣例的に origin を使用しています。
xxxx の部分はご自身の GitHub ユーザー名に置き換えてください。)

> git remote add origin https://github.com/xxxx/Runner-Github-Sample.git

リモートリポジトリの設定が正しくできたか確認します。

> git remote -v

ここまでの実行結果は以下の通りです。
git_init_remote_add_v.png

5. Git LFSを設定する

Git LFS(Large File Storage)とは、容量の大きいバイナリファイルをGitとは別管理する仕組みです。
これは対象ファイルをGitに追加する前に設定しておく必要があるため、最初のコミット前に設定しています。
Unity プロジェクトでは、イメージや音声などのバイナリファイルを扱うことが多いためLFSの設定を行います。

まず、Git LFS を有効化します。

> git lfs install

次に、LFS で管理する拡張子を指定します。

> git lfs track "*.psd" "*.tga" "*.png" "*.jpg" "*.fbx" "*.blend" "*.wav" "*.aiff" "*.mp3" "*.ogg" "*.mp4" "*.mov" "*.zip" "*.unitypackage" "*.exr" "*.hdr" "*.ttf" "*.otf"

ここまでの実行結果は以下の通りです。

git_lfs.png

.gitattributes が作成されていれば、Git LFS の設定は完了です。

6. SourceTree にローカルリポジトリを追加する

ここでは、CLI では分かりにくい変更状況を視覚的に確認するため、SourceTree を使用してローカルリポジトリの内容を確認していきます。

SourceTree を起動し、作成した Unity プロジェクトのフォルダをローカルリポジトリとして追加します。
Addからローカルリポジトリのpathを指定して追加ボタンを押下します。

SourceTree_AddLocalRepository.png

ローカルリポジトリを追加した直後の画面は以下の通りです。
SourceTree_Repository.png

作業ツリーには、Unity が自動生成したファイルや一時ファイルも含まれています。
スクロールバーの長さからも分かるように、Git管理するにはファイル数が多すぎる状態です。
次のセクションでは、.gitignore を設定し、Git 管理すべきファイルを整理します。

7. .gitignoreを導入する

Unityプロジェクトでは、生成ファイルや一時ファイルが多いため、.gitignore の設定は必須です。
GitHub が公開・メンテナンスしている Unity 向けの .gitignore があるため今回はこれを利用します。
以下のUnity.gitignoreをダウンロードし、.gitignoreという名称に変更してプロジェクトのルートディレクトリに配置します。

.gitignore追加後のSourceTreeの画面がこちらです。
「作業ツリーのファイル」にあるファイルの数が減少しているのは、.gitignoreによる効果です。

added_git_ignore.png

.gitignore を追加しても、既存のファイルが削除されるわけではありません。
Git 管理の対象から除外されるだけです。

8. ローカルで commit し、リモートへ push する

ここまで出来たら一度commitした上でリモートリポジトリへpushしましょう。
まず、GitHubのPersonal Access Token(以下、PAT)が必要になるのでこれを作ります。

git remote add の段階では PAT は不要ですがpush を行う際に認証情報としてPATが必要になります。

GitHubにログインした状態で、Settings -> Developer settings -> Personal access tokens -> Fine-grained tokens -> Generate new tokenと進み、PATを発行します。

ここでは、現在推奨されているFine-grained tokenを使用します。
Permissionは最低限、以下の画面キャプチャの通りに作ることでpushが可能になります。

Generate_PAT.png

PATの文字列は生成直後にしか表示されない為、このタイミングで確実に安全な場所に保管します。

PAT は第三者に漏れないよう、厳重に管理してください。

pushの準備が整いました、SourceTreeで全てインデックスに追加を押下します。
次にCommitのコメントを記入し、「変更をすぐにプッシュする」にチェックを付与した上でコミットボタンを押下します。
パスワードの入力が求められた場合は、先ほど作成したPATを入力します。

SourceTree_InitialCommit.png

9. GitHubにpushされていることを確認する

GitHubに移動し、pushされていることを確認します。
PushedGithub.png

Assets / Packages / ProjectSettings などがリポジトリに表示されていれば、push は正常に完了しています。

この時点では README.md は必須ではありません。
プロジェクトの内容が固まってきた段階でローカルリポジトリで作成し、commit / push すれば問題ありません。

10. 最後に

今回は、UnityプロジェクトをGitHubで管理し始めるための最低限の初期セットアップを行いました。

  • GitHubに空リポジトリを作成
  • Unityプロジェクトを作成(URP)
  • git init / remote add によるローカルリポジトリの作成
  • Git LFSの設定
  • Unity用 .gitignore の適用
  • Initial Commit & push

これで、Unityプロジェクトを安心してバージョン管理できる状態になります。

次の記事では、このリポジトリ構成を前提に無限ランナーのゲームロジック実装に着手していきます。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?