今回は開発環境についての話です。
一般的には、UnityやUE4って個々のPCの「C:\Program Files」以下にインストールして使用されていると思います。
私が関わったプロジェクトでも、Unityのバージョンを各々の環境にインストールして作業していました。
で、バージョンが上がるたびにプログラマーなどが、
「Unityのバージョン上がったので、それぞれアップデートするようにしてください!」
って感じでお知らせを出します。
でも、よくよく考えたらこれってめんどくさくないですか?
ゲームエンジンをリポジトリにあげてはどうか?
ゲーム開発では、GitやSVN、perforce などを使うことが多いと思います。
そして、それぞれのプロジェクトごとに「リポジトリ」がありますよね。
そのリポジトリの中に、ゲームエンジン(Unity、UE4)を含めれば良いのではないかと思ったわけですよ!
メリット
1.開発者がゲームエンジンを各々でインストールする手間が無くなる。
開発者は、指定されたリポジトリをチェックアウトするだけで、
全ての開発者と同じバージョンのゲームエンジンを使用できるというわけです。
ゲームエンジンのバージョンが上がっても、リポジトリを最新にするだけで済みます。
わざわざ古いバージョンをアンインストールして、新しいバージョンをインストールする・・・という手間が無くなるわけですね\(^o^)/
2.ゲームエンジンに不具合があった場合、前のバージョンに戻すことができる。
ゲームエンジンのバックアップが取れるというところでしょうか。
VCS(バージョンコントロールシステム)ってそういうところ便利よね
デメリット
1.Gitだと大きなデータを上げるのに不安がある。
SVNでゲームエンジンを管理するのは抵抗ないのですが、
Gitに大きなデータを上げるのは少し抵抗があります。
特に無料のBitbucketなんかは大きなデータを上げるのには厳しかったような・・・
2.レジストリへの登録とかどうなる?
ゲームエンジンをインストールした環境には、Unityのレジストリ情報が登録されているが、
リポジトリから取得した開発者のPCにはレジストリ情報が保持されていない件に関しては問題ないのか?
→ すみません、ここに関しては細かい検証はしてません・・
レジストリはUnityの設定情報とかを保存するところだよね?
実際にやってみた
今回テストした環境は、Dropboxを使用しています。
(複数人で管理するのには推奨されない危険な環境です!今回はテスト用ということで!)
複数人が同時にコミットした場合に、リポジトリが壊れちゃう可能性があるんだ
まずは、リポジトリを作成します。
次に、作成したリポジトリを適当なフォルダにチェックアウトします。
今回はDドライブ直下にチェックアウトしました(^ν^)
そして、そのフォルダにUnityをインストールします。
最後に、インストールされたUnityのルートフォルダから追加→コミットを行うことで、
他の開発者がリポジトリからインストールされたUnityをチェックアウトすることができるようになりました。(追加~コミットにかなり時間かかります)
別PCのDropboxで、先程コミットしたリポジトリをDLし終わったら、早速チェックアウトします。
今回は、UnityをインストールしたPCと同じDドライブにチェックアウトしました。
無事、起動することができました!
(画像では、サンプルプロジェクトを開いています)
これで、1つのリポジトリをチェックアウトするだけで、全ての開発者が同じバージョンのUnityを使用できるようになりました(^o^;)
確かにどちらのPCでもUnityは起動しているし、サンプルプロジェクトも開けたようだ。でも本当に大丈夫なのかなぁ。ちょっと不安は残る。
結果
・リポジトリに上げたゲームエンジン(Unity)を、別のPCでチェックアウトして起動することができた。
・インストール時のレジストリ登録とかはされていないが起動はできるみたい。
このブログのやり方で「問題があるよ!」って思われた方は、お手数ですがコメントを頂けると大変有り難いです!
免責事項
このサイトに掲載された方法を実践して発生した不具合に関して当ブログでは責任を負いかねます
もしもプロジェクトに取り入れる際は、ご自身の判断でお願いいたします!