【便利なUnityプラグイン】GitHub for Unityを使ってみよう

GitHubForUnity_インストール Unity
スポンサーリンク

今回とある作業していてファイル単位で戻したい!と感じることがありました。
そんなときに便利なUnityで使える便利な機能を見つけたので
備忘録として残しておきたいと思います。

はじめに

まず私は現在ゲームを開発していて
GitHubというサービスを用いてプロジェクト管理しています。

そのような方が対象となっていますので
GitHubでのファイル管理などをご存知ではない方はこちらの記事を読んでみてください。

無料でUnityをバージョン管理する!GitHub編
前回に引き続きUnityプロジェクトをバージョン管理する方法についてお伝えしたいと思います。 今回は実際にGitHubという無料で利用できるサービスを利用してUnityプロジェクトを管理する方法を実践していこうと思います。

 

 

参加中のゲームジャムでもGitHubを利用

先日ゲームジャムで投稿した「妖言のイベント用のボス戦」は
GitHubで管理しているのですが

妖言 "回"の怪編 | フリーゲーム投稿サイト unityroom

本編とは別ブランチ(作業スペース)を分けてはいたものの
様々な不要なもの(タイトルボタンを押したらボスのシーンに移動するなど)
がたくさん入ってる状態でした。

ごちゃごちゃして、こりゃ統合できんわい…!

って感じでした。

 

 

履歴は確認できるものの…

一応コミット履歴から、作業は確認できるものの

  • これは不具合の修正だから残しておきたい
  • イベントしか使わないから戻したい

というのがどうしても出てきます。

 

これはプロの現場でもよくあります。綺麗にブランチを分けろと言われても人間は間違える生き物ですからね…

 

「ファイル単位で戻す」が良さそう

引き続き変更を確認していると

これはコミット単位で戻しても都合良く
元通りには戻らないぞ…

と絶望していたのですが…

これをどうやって前の状態に戻そうかなと考えたときに
今の状態から前の状態に近づけたほうが早いと判断しました。

 

変更をリストアップ

まずは変更したものをリストアップしました。

GitHubのコミットログがあったので
コメントを元に洗い出しをしました

こんな感じです。

  1. タイトルからクエストへ強制移動
  2. クエストクリア後にタイトル
  3. etc…(約20項目以上)

 

例えばタイトル用のシーンに関しては

Title.unityと呼ばれるファイルを
前の状態に戻せれば問題なさそうだなぁ

と考えていました。

なのでファイル単位だけでも戻せると作業が劇的に楽になると推測できたので
今回ファイルを戻す方向で動きだしました!

 

 

「ファイル単位で戻す」がそもそも大変

「GitHub Desktop」や「SourceTree」でも
ファイル単位で戻すためには面倒な手順を踏む必要がありました。

https://twitter.com/tadapy88/status/1367728136738107394?s=20

そんなときにUnityエディタ内にGitHubの機能追加できるプラグインの存在を知りました。
Unity内でバージョン管理が可能になるプラグインです。

その名も「GitHub for Unity」

ではそのプラグインの導入方法などを紹介していきたいと思います。

 

 

導入方法

ダウンロード

こちらからダウンロードしてみてください。

GitHub for Unity editor extension
The GitHub Workflow with git LFS and file locking support, all within Unity.

 

GitHubForUnity_インストール

左側の「Download GitHub for Unity ~」というのを押せば
unitypackageとしてダウンロード可能です。

 

プロジェクトへのインストール方法

unitypackageのインストールについては
こちらの記事を参考してください。

Unityプラグイン(unitypackage)のインストール方法
今回はダウンロードしたUnityプラグイン(unitypackageファイル)を インストールする際に必要な手順を紹介したいと思います。

 

 

導入するとファイル単位で戻せた!

プロジェクトウィンドウでファイルを右クリックするだけで
ファイル単位のヒストリー(変更履歴)を見ることができます。

GitHubForUnity_ヒストリー

赤枠の「History」を選択すれば
これまでの履歴がファイル単位で確認できます!

うーん…便利すぎ!

 

GitHubForUnity_ファイル戻す

そして赤枠の「Checkout revision ~」は右クリックで出ます。
それを再度クリックするとファイルだけが巻き戻ります!

 

 

これでファイル単位で気軽に戻すことが可能ですね!

 

 

「GitHub」ウィンドウの出し方

ちなみにHistoryを選択すれば自動でウィンドウが出るのですが
自分でも出すことができます。

「メニュー」→「GitHub」で出るので試してみてくださいね。

GitHubForUnity_ウィンドウ開く

 

 

試しにコミットしてみる

普段は先程の記事でも紹介していた

無料でUnityをバージョン管理する!GitHub編
前回に引き続きUnityプロジェクトをバージョン管理する方法についてお伝えしたいと思います。 今回は実際にGitHubという無料で利用できるサービスを利用してUnityプロジェクトを管理する方法を実践していこうと思います。

「GitHub Desktop」を使ってコミットしていたのですが
今回はせっかくなのでUnity上でコミットしてみようと思います。

 

 

「GitHub for Unity」が動かないぞ…

ただファイルを戻したのをコミットしようとすると
なぜかグレーアウトしてコミットできません。

GitHubForUnity_コミットできない

おそらくUnity上でGitHubにログインできていないため
動作していない様子でした。

GitHubへログインする

そこで「GitHub」タブから「Sign in」を選択してログインしてみます。

GitHubForUnity_サインイン

ボタンを押すとウィンドウが出てくるのですが

アカウント名やメールアドレスとパスワードを入れても
失敗して反応しませんでした・・・

 

GitHubForUnity_ログインできないなら

そこで!諦めて下の「Sign in with your browser」という
ウェブブラウザからログインする方法を試みます。

 

ブラウザに移動し、承認的なボタンを押して進めます(強引)
そしてUnityエディタ側に戻ると…

いけました!

コミットボタンのグレーアウトが消えてボタンを押せるようになりました。

そしてコミット・・・成功!

これでUnityだけでバージョン管理ができてしまいますね!

 

 

「GitHub Desktop」ともおさらば?

これで「GitHub Desktop」ともおさらばかもしれない…
と思いましたがすこし使っていると

結局使いなれたGitHubDesktopをちょいちょい使っていました。

今後は併用するスタイルで
作業していこうかなと考えています。

 

 

機能はたくさんありそう

ほかにもブランチ作ったり、様々なGitHubの機能が使えるようですね。

余談ですがウィンドウに「lock」という単語も見えたので
おそらくゲームを複数人開発するときに便利な機能が入ってるんじゃないかなと思っています。…が今回は割愛します!

 

 

ゲームのPR

今回はこちらのゲームの開発で本記事を書くきっかけとなりました。
参考程度にプレイしていただけると幸いでございます。

妖言 "回"の怪編 | フリーゲーム投稿サイト unityroom

 

本編ゲームアプリはこちら

「妖怪剣劇アクション 妖言」 公式サイト
ゲームアプリ「妖怪剣劇アクション 妖言」の公式サイトです。

 

 

最後に

いかがでしたでしょうか?
今回は便利なUnityエディタ上でGitHub管理をする機能を紹介しました。

ほかのGitバージョン管理ソフトでは面倒なこともサクッとできてかなり便利でしたね。

ファイルの巻き戻しなどは「GitHub for Unity」に任せて
これまで通り「GitHub Desktop」との併用で
使い込んでいきたいと思います!

では今回の記事はここでおしまいとなります。
ここまでお読みいただきありがとうございました!

 

 

コメント

スポンサーリンク
タイトルとURLをコピーしました