無料版Unityとバージョン管理システム
Pro版のUnity3Dでは、500ドル追加で払うと「Asset Server」というUnity専用のバージョン管理システムを使うことができるほか、外部のバージョン管理システムを使うこともできる。
無料版でも、一見すると外部バージョン管理システムを適用できそうに見える。
実際、適用するだけならできるんだけど、かなり問題が多く本来の使い方(マージやブランチングなど)はできない。
主な問題点は次の3つ。
- Unityは多くのファイルをバイナリで管理している。バイナリファイルは変更が競合したとき、一般にマージできない。
- UnityはAssetのメタデータを[Project Root]/Libraryディレクトリで管理している。このディレクトリの内容は頻繁に変わり、変更の追跡が困難。
- LibraryディレクトリとAssetディレクトリの内容が整合しないとプロジェクト全体が破損する。このため、変更内容が競合しなくてもマージできない。
やるとするなら、プロジェクト全体をバージョン管理下に置いて一切ブランチを切らずマージもしないか、ソースコードとテクスチャだけバージョン管理するかくらいしかない。
(自分もUnityプロジェクトを1つGitHubに上げてみたけど、これはソースコードのみを管理している。)
参考: