プログラマー向けバージョン管理

開発をよりスマートにする秘訣は、適切なツールチェインです。クリーンなコードの作成に集中できるように、誰でも使えるバージョン管理ツールを活用して、効率的な開発パイプラインを構築しましょう。

こちらの詳細なベストプラクティスガイドを活用してバージョン管理をマスターし、プロジェクトを設定しましょう。 詳細を見る

最も貴重なリソースである「時間」を取り戻す

Unity の DevOps ソリューションなら、リスクを負い、実験、革新、制作という重要なことに力を入れることができます。プログラマーとアーティストのワークフロー間のギャップを埋めるために構築された強力なバージョン管理ツールの使用を開始しましょう。

『Lost in Random』プロモーションアート

Zoink! 制作『Lost in Random』

プログラマーにとってのメリット

Plastic SCM 大量のファイル
バイナリファイルのサイズが大きくても問題なし

Plastic は、他の VCS と比較して、膨大なサイズのファイルのチェックインと更新を 5 倍から 8 倍高速で処理できるため、多数のモデル、マテリアル、メッシュを簡単に処理できます。スケールが大きくなればなるほど、Plastic は優れたパフォーマンスを発揮します。

時間を節約してタスク切り替えを最小限に抑える
時間を節約してタスク切り替えを最小限に抑える

SemanticMerge は Unity のコードアウェアなマージ技術であり、C#、Java、VB.NET などの言語に対応します。構文を解析することで、通常は手動でのマージを必要とするコードのマージの 16% から 30% を自動化します。

Plastic SCM ブランチエクスプローラー
コードの変更履歴を把握する

Plastic のブランチエクスプローラーは、リポジトリのブランチとマージの履歴を可視化します。こちらのビューを単一のファイルまたはディレクトリで使用することで、その履歴を確認し、コードに対して加えられた変更を把握できます。

Unity バージョン管理のワークスペース
開発者以外にも対応する別個のワークフロー

異なるワークフローを、同じリポジトリで。アーティストはシンプルになった直感的なワークスペースで作業することも、Unity でプログラマー向けの機能を使用せずに作業することもできるので、トラブルシューティングにかける時間を減らすことができます。

主な機能

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

Plastic SCM と Gluon

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

チームによっては、分散型バージョン管理システム(DVCS)の強力なブランチング機能とマージ機能の力を借りる必要がありますが、各マシンにリポジトリのクローンが作成されることは望んでいないことがあります。Plastic SCM なら、集中型で作業するか分散型で作業するかをチームが選択することができます。一部のチームメンバーは集中型、その他のメンバーは分散型で同時に作業することも選択できます。

Unity Plastic SCM でのブランチの作成

応答性の高いブランチング

ブランチングやマージの成功パターンは、ブランチを迅速に作成できるかどうかにかかっています。ファイルの数が千を超えるコードベースでも、このプロセスには 1 秒もかかりません。Plastic SCM なら、ファイル数がブランチ作成の妨げになることはありません。

Plastic SCM は他のバージョン管理システムとは異なり、新しいブランチの作成が既存のブランチをコピーすることに依存することはありません。代わりに、新しいブランチは特定の変更セットからプロパティーを継承します。このプロセスはコードベース内のファイル数とは紐つけられていないため、1 つのブランチのファイル数が 500,000 を超えるような巨大なプロジェクトでも、かかる時間は常に同じ(数ミリ秒)です。

Unity バージョン管理での 3 方向マージ

3 方向マージ

Xmerge は Plastic SCM のビルトインの 3 方向マージツールであり、言語に依存しないリファクタリングのサポートを備え、最も複雑なマージの競合も即座に解決できます。また、Araxis、Beyond Compare などのサードパーティ製のツールを簡単に組み込むこともできます。

詳細を見る
Unity と Git バージョン管理

Git エコシステムを有効活用する

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 に対応しています)。

Unity バージョン管理のセキュリティ権限

アクセス制御、暗号化、セキュリティ

Plastic SCM にはソースコードを保護するための幅広いセキュリティ機能が備わっています。コードベースのセキュリティを確保するだけでなく、ポリシーやセキュリティに関わるベストプラクティスをチーム内で守らせるために、リポジトリ、ブランチ、ラベル、パスにパーミッションを設定します。

詳細を見る
Unity エディターと Plastic SCM

エンジン内で作業する

Plastic SCM はさまざまなゲーム開発シナリオに対応するよう最適化されており、Unreal と Unity の両方をサポートしています。Unity を使用して制作する場合は、Unity のパッケージマネージャーからバージョン管理パッケージを直接入手しましょう。誰でも簡単に理解して使用できる、システムに深く埋め込まれた高い柔軟性と信頼性を誇るバージョン管理ソリューションなら、本当の意味でプロジェクトを共同で所有することができます。

Visual Studio CodeLens - Unity バージョン管理

Visual Studio と CodeLens

CodeLens は、Visual Studio 2022 の Plastic SCM 拡張機能の一部としてインストールされるようになりました。メソッド、プロパティー、型の上に Plastic SCM のデータポイントを作成すると、その要素内で最後に加えられた変更の一覧(最大で 10 個)が表示されます。これは Plastic SCM 内のセマンティックテクノロジーを活用し、ファイル内の注釈付きの要素に影響を及ぼす変更のみを表示します。この機能は、Plastic SCM ワークスペース内のセマンティックが有効なファイル(C#、C、C++)にのみ表示されることにご注意ください。

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

Subnautica

Unknown Worlds が『Subnautica』を複数のプラットフォーム向けに制作するのになぜ Unity と Plastic SCM を選んだのか、その理由をご紹介します。

Return to Nangrim

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

Goodbye Volcano High

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

プロジェクトに Unity のバージョン管理を設定する

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

よくあるご質問

JIRA やその他のツールと統合できますか?

はい。Plastic は、JIRA、Rally、Bugzilla、Polarion など、各種問題追跡ツールやプロジェクト管理ツールと統合できます。新しいツールを追加することはそれほど難しくはないので、社内ツールに関する質問であっても、お気軽にお問い合わせください。

どの IDE と統合できますか?

Plastic は、Visual Studio Code、Eclipse、IntelliJ、Android Studio などのよく使われる統合開発環境(IDE)に対応しています。これら以外の IDE を使用している開発者でも、透過的な SCM を利用して、移動および名前が変更されたファイルやディレクトリなど、ワークスペース内のあらゆる変更を検出できます。

どの CI ツールや DevOps ツールに対応していますか?

Plastic をビルド内の各種ツールと統合し、お使いの DevOps ライフサイクルに対応するようエコシステムを展開できます。Unity のバージョン管理システムは、Unity Cloud Build、Jenkins、TeamCity、Atlassian Bamboo、Maven、CruiseControl に対応しています。

どのコラボレーションツールに対応していますか?

Unity のバージョン管理システムなら、Slack、Discord、Webhooks などのツールのトリガーと通知を設定できます。

バージョン管理の履歴をインポートできますか?

Plastic は、Git によって作成された事実上の業界標準である fast-import 形式を使用して、任意のバージョン管理の履歴をインポートできます。Git にインポートできるものであれば、すべて Plastic にインポートできます。Unity はこの手法により、Hg、Subversion、CVS などのバージョン管理システムからの移行を支援してきました。また、Plastic は fast-export 形式(GitSync 以外)へのエクスポートにも対応しています。これのおかげで、Plastic から離れて作業する必要が一切なくなります。

Git や Perforce に接続することはできますか?

Plastic のリポジトリと Git や Perforce との同期を保ち、事実上の業界標準である fast-import/export を使用してインポートとエクスポートを行うこともできます。Git と GitSync に関する詳細についてはこちら、Perforce と P4 Sync についてはこちらをご覧ください。

Windows、Linux、macOS に対応していますか?

Plastic SCM は複数のプラットフォームに対応するバージョン管理システムです。クライアントとサーバーは Windows、Linux、macOS で実行可能で、その他 Unix プラットフォーム用のソリューションもあります。Plastic SCM の大きな売りの 1 つはパフォーマンスであり、3 つのメインプラットフォーム(Windows、Linux、Mac)は高負荷下でも確実に高いパフォーマンスを発揮します。

チェックインして Plastic Cloud Edition とマージできますか?

はい、チェックインしてクラウドに直接マージできます。

Plastic SCM はどのような組織を対象としていますか?

Plastic SCM は、アーティストのワークフローを容易にし、サイズの大きなファイルやバイナリでも処理できることから、3D プロジェクトやゲーム開発プロジェクトに取り組んでいる組織やスタジオから信頼を集めています。KO_OP はその中の一社で、Plastic を活用することでアーティストとエンジニアの足並みを揃えさせました。詳細については、こちらのケーススタディでご確認ください。

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

OK