Hero background image

Git から Unity Version Control への移行

コミットが皆さんのスタジオの対立の原因となっていませんか?アーティストとプログラマーの両方にとって完全に最適化されたワークフローにアップグレードすることで、追加設定なしでサイズの大きなファイルを処理できるようになります。アドオンは不要です。
プロジェクトの途中で Bitbucket から Unity のバージョン管理ソリューションに移行し、コミット数を 300% 増やした Sycoforge の事例をご紹介します。
ケーススタディをダウンロード
ナングリムキーアートに戻る

Git ユーザーが Unity Version Control に切り替えるべき理由

Git は、オープンソースで柔軟性が高く、無料で使用できることから人気のバージョン管理ソリューション(VCS)ですが、現代テクノロジーに精通していないユーザーにとっては難しく感じることもあります。アーティストが問題に直面すると、その解決にプログラマーが必要になります。アーティストが使っているツールには対応せず、ゲーム開発につきもののサイズの大きなバイナリファイルの重さに負けてしまいます。

Git ユーザーが Unity Version Control から得られるメリット

プラスチック SCM ラージ ファイル
サイズの大きなリポジトリやバイナリファイルでも高速に処理する

Unity Version Control は、5 TB を超えるリポジトリにも対応し、他のソリューションよりも高速に更新とチェックインを処理します。

Unity エンジンでのアーティストとのコラボレーション
アーティストとのコラボレーションを改善する

アーティストは、ファイルをロックする機能を備えた使いやすいワークフローである Gluon を介して、Unity Version Control を独立して使用できます。プログラマーは、完全なブランチング機能とマージ機能を備えた標準のワークフローを引き続き使用できます。

DevOps
集中型または分散型で作業する

VCS を選択することで、集中型と分散型のどちらで作業するかが決まることがよくあります。Unity Version Control は両方に対応しており、Git スタイルのワークフローのスピードとパワー、Perforce のようなスケーラビリティが得られます。

Unityエディター内のメンテナンス
柔軟性を高めてメンテナンスをシンプルにする

Unity Version Control は追加設定なしで複数のワークフローやサイズの大きなファイルに対応するため、冗長なシステムやアドオンを保持する必要はありません。ツールチェインの無駄を省き、高いパフォーマンスを発揮できるよう維持しましょう。

Git ユーザーのリファクタリングを分析する
時間を節約してタスク切り替えを最小限に抑える

Unity のコードアウェアなマージ技術である SemanticMerge を使用すると、移動されたコードを追跡し、関連する変更にのみ集中できるようになります。構文を解析することで、通常であれば手動でのマージが必要になる 16% から 30% のコードのマージを自動化し、ワークフローの邪魔になるマージの競合を大幅に減らします。

Unity Version Control はリファクタリングを解析し、メソッドなどのコードの一部が(複数のファイル間を含めて)移動されているかどうかを評価します。これにより、最も重要な変更にのみ注目してレビューすることができます。C#、Java、VB.NET などに対応します。

GitVersion Controlを使用した Unity
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 を使用した高速インポート・エクスポート
高速なインポートとエクスポート

Unity Version Control には fast-import コマンドと fast-export コマンドが実装されています。各コマンドは、Git 側の対応するコマンドと完全に互換性があります。これらのコマンドは、Git から Unity Version Control にプロジェクトをインポートする際に使用されます。また、Version Control から移行する必要がある場合に、それを安全に行う方法としても使用されます。日常業務においては、GitSync を使用するほうが簡単です。

プラスチック SCM DevOpsライフサイクル
Git エコシステムを活用する

Git のエコシステム内の任意のツールを、そのツールのネイティブの Git 機能を使用して、Unity Version Control にすぐに接続できます。これにより、Version Control を使用しているチームが、Git 用に特別に開発されたすべての DevOps、CI、プロジェクト管理の統合のメリットを享受できます。

GitServer は、サーバー側の GitSync に対応するものです。Git のプロトコル(Git と HTTP に対応)を使用して、Unity Version Control がリポジトリに対応できるようにすることで、Git との相互運用性ループを閉じます。

さまざまなゲームでの活用事例

Goodbye Volcano High
Goodbye Volcano High

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

Return to Nangrim
Return to Nangrim

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

Subnautica未知の世界のケーススタディ
Subnautica

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

Git ユーザー向けの移行コールアウト
プロジェクトに Unity Version Control を設定する

すぐにでも使用を始めたい方はこちらの手順をお役立てください。わずか数分でプロジェクトに Unity Version Control を設定できます。

よくあるご質問

Unity Version Control を使用して分散型で作業することはできますか?

+

機能ブランチを作成し、ブランチを切り替えることはできますか?

+

リモートリポジトリに対してブランチをプルおよびプッシュすることはできますか?

+

リポジトリのクローンを作成する必要はありますか?

+

マージ処理は Git と比較してどのような感じですか?

+

Unity Version Control はサイズの大きなファイルをどのように処理できますか?

+

Unity のバージョン管理に「リモート」はありますか?

+

Unity のバージョン管理にサブモジュールはありますか?

+

Unity Version Control は Git よりも優れていますか?

+

Unity Version Control は Git ベースですか?

+