Perforce から Unity Version Control への移行

Unity Version Control は、スタジオの規模や予算を問わずに使用できるクラス最高の VCS です。強力なブランチング機能とマージ機能を駆使し、データベースのロックを防ぎ、スケーラビリティを最大限に高め、プログラマーとアーティストの満足度を高めます。

Perforce から Unity Version Control(旧 Plastic SCM)に移行することで、コストを削減し、作業を効率化した Apocalypse Studios の事例をご紹介します。 ブログを読む

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

Perforce は、主に大手スタジオでゲーム開発のために使用されています。ただし、デベロッパーによっては Git ワークフローを好みますが、Perforce はネイティブにも統合を介しても Git には対応しません。Unity Version Control なら、そのギャップを埋めることができます。Unity Version Control は、分散型と集中型のワークフローを備え、強力なブランチングとマージを実行できる、あらゆる規模のスタジオに対応する費用対効果の高いソリューションです。

『Deadhaus Sonata』キーアート

Apocalypse Studios 制作『Deadhaus Sonata』

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

Unity Version Control は、ゲーム開発に携わるすべての人のために構築されています。Perforce からアップグレードすると、次のことを実行できるようになります。

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

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

Unity エンジンでのアーティストとのコラボレーション
ノンプログラマーのためのシンプルなバージョン管理

ゲーム開発はコーディングだけに留まりません。Unity Version Control なら、アーティストがロック操作や個々のファイルを操作する機能を使用して、別個のワークフローで個別に貢献できます。

Plastic SCM 大量のファイル
膨大なサイズのファイルやデポを高速で管理する

Unity Version Control では、5 TB を超えるファイルやプロジェクトでも超高速で簡単に処理できます。Perforce や Git と比較して、通常の送信操作は 5 倍、同期は 2 倍の速度で処理できます。

Unity エディターでのファイルのロック
マージできないファイルをロックする

マージできないファイルに同時に変更が加えられることにお悩みではないですか?ブランチングとマージを活用して安全にコーディングを行うか、ファイルをロックすることで自信を持って変更を加えられるようにします。Unity Version Control はその両方に対応する唯一の VCS です。

主な機能

Unity の DevOps ソリューションは、プログラマーにとって幅広い機能が備わっていながらも、アーティストにとって合理的に保たれています。何か足りていないものがある場合は、Unity の DevOps ロードマップでご確認ください。

Unity バージョン管理の変更リスト

変更リスト

Perforce から移行した後に作業方法を変える必要はありません。これは、別のブランチで作業する予定がない場合に特に当てはまります。変更リストを使用すると、ファイルをわかりやすくグループ化することができて便利です。変更をチェックインするときに、膨大な数の変更を含むリストから選ぶ必要はありません。今の作業に関連したファイルを選択するだけです。

変更リストを使ってファイルを整理できます。後戻りして変更を加える必要がある場合、変更したすべてのファイルを覚えておく必要はありません。変更したファイルは全部、作成した変更リストにグループ化されます。 

Unity バージョン管理のタスク別ブランチワークフロー

高速で柔軟性の高いワークフロー

扱うコードベースやファイルのサイズが大きいと、すぐに生産性の問題に悩まされてしまいます。Perforce の開発ブランチと現行のストリーム機能の特異的性質により、チームは比較的柔軟性を欠いた「マージダウン、コピーアップ」ワークフローに閉じ込められ、作業の重複や速度低下を引き起こすおそれがあります。シェルブコミットなどの回避策はありますが、大規模にはコミットできなくなるため、これもチームの作業速度を低下させます。

Unity Version Control のブランチング機能とマージ機能なら、自然とより高速かつ合理化されたパフォーマンスにつながります。タスクベースのブランチングを使用する、またはより従来型のアプローチを取るにしても、自分のスタジオに最も適したワークフローを構成できます。問題に直面した場合にも、簡単に調整できます。

高負荷下にある Unity バージョン管理

高負荷下でのスケーラビリティ

ゲームの制作には大量のファイルを扱うことを伴うため、その圧力に耐えることのできるバージョン管理が必要です。Unity Version Control サーバーなら、パフォーマンスを犠牲にすることなく、何百人もの開発者を同時にサポートできます。ゲーム開発のために特別に構築されたバージョン管理を活用すれば、自分のペースで作業を進め、簡単にスケールすることができます。

Unity バージョン管理用クラウドサーバー

ソースコード用のクラウドホスティング

余分なサーバーやクライアントを維持することなく、クラウドダッシュボードを介して自分の作業をクラウドに簡単にチェックインし、チームのパーミッションを管理できます。 

専用のクラウドサーバーをすぐに設定して、チームが世界中のどこにいても協力して作業を進められるようにします。やることはアカウントを作成することだけです。

P4Sync を使用して進行中のプロジェクトを移行する

開発の途中でバージョン管理システムを切り替えるのは困難な場合がありますが、Unity Version Control にはできるだけ手間をかけずに移行するための機能が備わっています。P4Sync により、Version Control と Perforce 間で双方向同期を実行できるようになり、チームの躍進を支援します。

P4Sync を使用すると、Perforce のストリームを Unity Version Control のブランチと完全に同期し、Perforce から Version Control にデータをインポートできます。その逆も可能です。Unity Version Control と同期できる Perforce ストリームは常に 1 つのみであることに注意してください。これは、開発を止めることなくバージョン管理システムの切り替えを支援する、一時的なソリューションに過ぎません。

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

Goodbye Volcano High

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

Return to Nangrim

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

Deadhaus Sonata

Apocalypse Studios が幻想的な ARPG の開発を迅速化するために、Perforce から Unity のバージョン管理ソリューションに移行した理由をご紹介します。

プロジェクトに Unity Version Control を設定する

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

よくあるご質問

Unity で Perforce を使用するにはどうすればよいですか?

Unity は Perforce に完全に対応しています。Perforce を Unity ゲームエンジンのバージョン管理システムとして使用する場合は、こちらでその設定方法を確認してください。

Perforce から Unity Version Control に移行するにはどうすればよいですか?

多くの場合、Perforce のデポはサイズが非常に大きく(ゲームスタジオにとってはデータが数ギガバイトに及ぶことは珍しいことではありません)、そのため Unity としては完全な支援を提供したいと考えています。

そのやり方は非常にシンプルです。Unity にお問い合わせいただければ、担当者がそのプロセスを支援します。プロセスをご自分で行いたい場合は、アドホックインポーターも用意されています。

Unity Version Control を使用するにはどうすればよいですか?

リポジトリを設定し、Unity、Unreal、またはその他エンジンで協力して作業を開始する方法に関する概要については、こちらでご確認ください。  

Perforce は集中型と分散型のどちらですか?

Perforce は集中型バージョン管理システムであり、すべての開発者とアーティストが中央サーバーに変更をコミットします。このワークフローは、マージできないファイルで作業しているアーティストに最適です。開発者によっては、分散型バージョン管理システム(DVCS)を好む場合があります。Unity Version Control なら、1 つのリポジトリにその両方を別個のワークフローとして提供できます。

弊社のウェブサイトは最善のユーザー体験をお届けするためにクッキーを使用しています。詳細については、クッキーポリシーのページをご覧ください。

OK