
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 を Git クライアントとして使用する
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 のエコシステム内の任意のツールを、そのツールのネイティブの Git 機能を使用して、Unity Version Control にすぐに接続できます。これにより、Version Control を使用しているチームが、Git 用に特別に開発されたすべての DevOps、CI、プロジェクト管理の統合のメリットを享受できます。
GitServer は、サーバー側の GitSync に対応するものです。Git のプロトコル(Git と HTTP に対応)を使用して、Unity Version Control がリポジトリに対応できるようにすることで、Git との相互運用性ループを閉じます。
さまざまなゲームでの活用事例

Goodbye Volcano High
作業者自身がオーナーである協同組合型のスタジオがどのようにして制作プロセスにてアーティストとエンジニアの足並みを揃えさせているのでしょうか?Plastic SCM(現在の Unity Version Control)を活用してコラボレーションを強化した KO_OP の事例をご覧ください。

Return to Nangrim
Sycoforge が Unity のツールをどのように活用して拡大するプロジェクトのスコープを管理し、ゲーム開発のスピードアップとイテレーションにプレイヤーのフィードバックを生かしているかをご覧ください。

Subnautica
Unknown Worlds が、『Subnautica』を制作するために Unity と Plastic SCM(現在の Unity Version Control)を選択した理由をご紹介します。