プログラマー向けバージョン管理
最も貴重なリソースである「時間」を取り戻す
Unity の DevOps ソリューションなら、リスクを負い、実験、革新、制作という重要なことに力を入れることができます。プログラマーとアーティストのワークフロー間のギャップを埋めるために構築された強力なバージョン管理ツールの使用を開始しましょう。
プログラマーにとってのメリット
Plastic は、他の VCS と比較して、膨大なサイズのファイルのチェックインと更新を 5 倍から 8 倍高速で処理できるため、多数のモデル、マテリアル、メッシュを簡単に処理できます。スケールが大きくなればなるほど、Plastic は優れたパフォーマンスを発揮します。
SemanticMerge は Unity のコードアウェアなマージ技術であり、C#、Java、VB.NET などの言語に対応します。構文を解析することで、通常は手動でのマージを必要とするコードのマージの 16% から 30% を自動化します。
Plastic のブランチエクスプローラーは、リポジトリのブランチとマージの履歴を可視化します。こちらのビューを単一のファイルまたはディレクトリで使用することで、その履歴を確認し、コードに対して加えられた変更を把握できます。
異なるワークフローを、同じリポジトリで。アーティストはシンプルになった直感的なワークスペースで作業することも、Unity でプログラマー向けの機能を使用せずに作業することもできるので、トラブルシューティングにかける時間を減らすことができます。
チームによっては、分散型バージョン管理システム(DVCS)の強力なブランチング機能とマージ機能の力を借りる必要がありますが、各マシンにリポジトリのクローンが作成されることは望んでいないことがあります。Plastic SCM なら、集中型で作業するか分散型で作業するかをチームが選択することができます。一部のチームメンバーは集中型、その他のメンバーは分散型で同時に作業することも選択できます。
ブランチングやマージの成功パターンは、ブランチを迅速に作成できるかどうかにかかっています。ファイルの数が千を超えるコードベースでも、このプロセスには 1 秒もかかりません。Plastic SCM なら、ファイル数がブランチ作成の妨げになることはありません。
Plastic SCM は他のバージョン管理システムとは異なり、新しいブランチの作成が既存のブランチをコピーすることに依存することはありません。代わりに、新しいブランチは特定の変更セットからプロパティーを継承します。このプロセスはコードベース内のファイル数とは紐つけられていないため、1 つのブランチのファイル数が 500,000 を超えるような巨大なプロジェクトでも、かかる時間は常に同じ(数ミリ秒)です。
Xmerge は Plastic SCM のビルトインの 3 方向マージツールであり、言語に依存しないリファクタリングのサポートを備え、最も複雑なマージの競合も即座に解決できます。また、Araxis、Beyond Compare などのサードパーティ製のツールを簡単に組み込むこともできます。
Git のエコシステム内の任意のツールを、そのツールのネイティブの Git 機能を使用して、Plastic にすぐに接続できます。こうすることで、Plastic を使用しているチームが、Git のために特別に開発されたすべての DevOps、CI、プロジェクト管理の統合のメリットを享受できます。
Plastic SCM の GitSync を使用すると、Plastic と Git 間で双方向同期を実行できます。Plastic は Git のネットワークプロトコルと通信し、リモートの Git サーバーに対してパッケージとマージのプッシュ/プル(またはその逆)を行います。これにより、Plastic GUI を Git クライアントとして使用できます。Plastic と Git の構造は多少類似しているところがあるため、その間ですべての変更セット、ブランチ、マージを交換することができます。
GitServer は、サーバー側の GitSync に対応するものです。Git プロトコルを使用して Plastic SCM をリポジトリに対応させることで、Git との相互運用性ループを閉じます(Git と HTTP に対応しています)。
クロスリンク、つまり Xlink は、本質的にマージアウェアな Git モジュールです。さまざまなリポジトリをリンクし、さまざまなプロジェクト間で共有されるコンポーネントの階層を作成するのに使用します。
Xlink は、異なるリポジトリ上(場合によっては別のサーバー上)の特定の変更セットをポイントする、特殊なディレクトリエントリです。Xlink のコンテンツは、ユーザーのワークスペースに透過的にダウンロードされます。
読み取り専用の Xlink は、変更されることがほとんどない依存関係を処理することを目的とする一方で、書き込み可能な Xlink は、複数のリポジトリを備えたコードベース全体にわたる並行開発を可能にします。Plastic は、書き込み可能な Xlink のブランチングとマージに対応します。
Plastic SCM にはソースコードを保護するための幅広いセキュリティ機能が備わっています。コードベースのセキュリティを確保するだけでなく、ポリシーやセキュリティに関わるベストプラクティスをチーム内で守らせるために、リポジトリ、ブランチ、ラベル、パスにパーミッションを設定します。
Plastic SCM はさまざまなゲーム開発シナリオに対応するよう最適化されており、Unreal と Unity の両方をサポートしています。Unity を使用して制作する場合は、Unity のパッケージマネージャーからバージョン管理パッケージを直接入手しましょう。誰でも簡単に理解して使用できる、システムに深く埋め込まれた高い柔軟性と信頼性を誇るバージョン管理ソリューションなら、本当の意味でプロジェクトを共同で所有することができます。
CodeLens は、Visual Studio 2022 の Plastic SCM 拡張機能の一部としてインストールされるようになりました。メソッド、プロパティー、型の上に Plastic SCM のデータポイントを作成すると、その要素内で最後に加えられた変更の一覧(最大で 10 個)が表示されます。これは Plastic SCM 内のセマンティックテクノロジーを活用し、ファイル内の注釈付きの要素に影響を及ぼす変更のみを表示します。この機能は、Plastic SCM ワークスペース内のセマンティックが有効なファイル(C#、C、C++)にのみ表示されることにご注意ください。
さまざまなゲームでの活用事例
Unknown Worlds が『Subnautica』を複数のプラットフォーム向けに制作するのになぜ Unity と Plastic SCM を選んだのか、その理由をご紹介します。
Sycoforge が Unity のツールをどのように活用して拡大するプロジェクトのスコープを管理し、ゲーム開発のスピードアップとイテレーションにプレイヤーのフィードバックを生かしたかをご覧ください。
作業者自身がオーナーである協同組合型のスタジオがどのようにして制作プロセスにてアーティストとエンジニアの足並みを揃えさせているのでしょうか?KO_OP が Plastic SCM をどのように活用してコラボレーションを強化したかをご覧ください。