無料版Unityとバージョン管理システム

Pro版のUnity3Dでは、500ドル追加で払うと「Asset Server」というUnity専用のバージョン管理システムを使うことができるほか、外部のバージョン管理システムを使うこともできる

無料版でも、一見すると外部バージョン管理システムを適用できそうに見える。

実際、適用するだけならできるんだけど、かなり問題が多く本来の使い方(マージやブランチングなど)はできない。

主な問題点は次の3つ。

  • Unityは多くのファイルをバイナリで管理している。バイナリファイルは変更が競合したとき、一般にマージできない。
  • UnityはAssetのメタデータを[Project Root]/Libraryディレクトリで管理している。このディレクトリの内容は頻繁に変わり、変更の追跡が困難。
  • LibraryディレクトリとAssetディレクトリの内容が整合しないとプロジェクト全体が破損する。このため、変更内容が競合しなくてもマージできない。

やるとするなら、プロジェクト全体をバージョン管理下に置いて一切ブランチを切らずマージもしないか、ソースコードとテクスチャだけバージョン管理するかくらいしかない。

自分もUnityプロジェクトを1つGitHubに上げてみたけど、これはソースコードのみを管理している。)

参考: