Git から Unity Version Control への移行
Git ユーザーが Unity Version Control に切り替えるべき理由
Git は、オープンソースで柔軟性が高く、無料で使用できることから人気のバージョン管理ソリューション(VCS)ですが、現代テクノロジーに精通していないユーザーにとっては難しく感じることもあります。アーティストが問題に直面すると、その解決にプログラマーが必要になります。アーティストが使っているツールには対応せず、ゲーム開発につきもののサイズの大きなバイナリファイルの重さに負けてしまいます。
Git ユーザーが Unity Version Control から得られるメリット
Unity Version Control は、5 TB を超えるリポジトリにも対応し、他のソリューションよりも高速に更新とチェックインを処理します。
アーティストは、ファイルをロックする機能を備えた使いやすいワークフローである Gluon を介して、Unity Version Control を独立して使用できます。プログラマーは、完全なブランチング機能とマージ機能を備えた標準のワークフローを引き続き使用できます。
VCS を選択することで、集中型と分散型のどちらで作業するかが決まることがよくあります。Unity Version Control は両方に対応しており、Git スタイルのワークフローのスピードとパワー、Perforce のようなスケーラビリティが得られます。
Unity Version Control は追加設定なしで複数のワークフローやサイズの大きなファイルに対応するため、冗長なシステムやアドオンを保持する必要はありません。ツールチェインの無駄を省き、高いパフォーマンスを発揮できるよう維持しましょう。
Unity のコードアウェアなマージ技術である SemanticMerge を使用すると、移動されたコードを追跡し、関連する変更にのみ集中できるようになります。構文を解析することで、通常であれば手動でのマージが必要になる 16% から 30% のコードのマージを自動化し、ワークフローの邪魔になるマージの競合を大幅に減らします。
Unity Version Control はリファクタリングを解析し、メソッドなどのコードの一部が(複数のファイル間を含めて)移動されているかどうかを評価します。これにより、最も重要な変更にのみ注目してレビューすることができます。C#、Java、VB.NET などに対応します。
Unity Version Control の GitSync を使用すると、Version Control と Git 間で双方向同期を実行できます。Unity Version Control は Git のネットワークプロトコルと通信して、リモート Git サーバーとの間でパッケージとマージのプッシュ/プルを行います。これにより、Version Control GUI を Git クライアントとして使用できます。Unity Version Control と Git は構造が少し似ているため、その間ですべての変更セット、ブランチ、マージを交換できます。
Unity Version Control には fast-import コマンドと fast-export コマンドが実装されています。各コマンドは、Git 側の対応するコマンドと完全に互換性があります。これらのコマンドは、Git から Unity Version Control にプロジェクトをインポートする際に使用されます。また、Version Control から移行する必要がある場合に、それを安全に行う方法としても使用されます。日常業務においては、GitSync を使用するほうが簡単です。
Git のエコシステム内の任意のツールを、そのツールのネイティブの Git 機能を使用して、Unity Version Control にすぐに接続できます。これにより、Version Control を使用しているチームが、Git 用に特別に開発されたすべての DevOps、CI、プロジェクト管理の統合のメリットを享受できます。
GitServer は、サーバー側の GitSync に対応するものです。Git のプロトコル(Git と HTTP に対応)を使用して、Unity Version Control がリポジトリに対応できるようにすることで、Git との相互運用性ループを閉じます。
さまざまなゲームでの活用事例
作業者自身がオーナーである協同組合型のスタジオがどのようにして制作プロセスにてアーティストとエンジニアの足並みを揃えさせているのでしょうか?Plastic SCM(現在の Unity Version Control)を活用してコラボレーションを強化した KO_OP の事例をご覧ください。
Sycoforge が Unity のツールをどのように活用して拡大するプロジェクトのスコープを管理し、ゲーム開発のスピードアップとイテレーションにプレイヤーのフィードバックを生かしているかをご覧ください。
Unknown Worlds が、『Subnautica』を制作するために Unity と Plastic SCM(現在の Unity Version Control)を選択した理由をご紹介します。