> ## Documentation Index
> Fetch the complete documentation index at: https://docs.diversion.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Coming from perforce

このガイドでは、Unreal Engine プロジェクトを Perforce から Diversion に移行する方法について、機能比較と段階的な移行プロセスを含めて説明します。

## 移行を検討する理由

Diversion は Perforce と同じ中核的なバージョン管理機能を、いくつかの重要な改善とともに提供します：

* インストールサイズが小さい（クライアント側、サーバーのセットアップは不要）
* **コミット** 速度が大幅に高速\
  *(Diversion はバックグラウンドで継続的にアップロードします。コミットとは、履歴にスナップショットを保存する瞬間のことです)*
* 必須のワークフローに焦点を当てたシンプルな UI
* アーティストや非技術系のチームメンバーにとって優れたユーザー体験

## 機能比較

| 機能                   | Perforce                | Diversion                                         |
| -------------------- | ----------------------- | ------------------------------------------------- |
| **クライアントインストールサイズ**  | 大きく複雑なインストーラー           | 小さく簡単なインストーラー                                     |
| **学習曲線**             | 急峻で圧倒される UI             | 直感的で洗練されたインターフェース                                 |
| **コミット速度**           | 標準                      | 大幅に高速                                             |
| **ビジュアル差分**          | ✅ 利用可能                  | ✅ 利用可能                                            |
| **変更リスト管理**          | ✅ 利用可能                  | ✅ 利用可能                                            |
| **ロックモデル**           | ハード（排他的）ロック             | ソフトロック（ブロックしない） + [ハードロック](/ja/hard-locks)（オプション） |
| **リビジョン制限**          | `+S` ファイルタイプ（最新 N 個を保持） | [リビジョン制限](/ja/advanced/revision-limits)（ブランチセーフ）  |
| **履歴追跡**             | ✅ 完全な履歴                 | ✅ 完全な履歴                                           |
| **Unreal Engine 連携** | ✅ ネイティブプラグイン            | ✅ ネイティブプラグイン                                      |
| **ユーザー体験**           | 複雑でツール重視                | クリーンでアクション中心                                      |
| **アーティストフレンドリー度**    | 非技術系ユーザーには難しい           | あらゆるスキルレベル向けに設計                                   |

## ソフトロック vs. ハードロック

Diversion は、ファイルが編集中であることを自動的に示します（**ソフトロック**）— 明示的に編集権を取得する必要はありません。

**ブロックされることはありません**：プロンプトから編集を確認して先に進むことができます。

チームメイトのバージョンがコミットされていた場合、それを自分のブランチにマージできます（同じブランチで競合がなければ自動マージ）。

一部のチームではハードロックが必要な場合があります。排他的なファイルロックの構成の詳細は [ハードロック](/ja/hard-locks) をご覧ください。

**なぜ重要か：**\
Perforce では、ファイルの編集権を明示的に取得する（チェックアウトする）必要があります。他の誰かがロックしていて解除できない場合（休暇、病気など）、デッドロック状態になります。\
Diversion では、バックエンドが自動的かつ暗黙的にアクティブな編集を示し、作業をブロックしません。

***

## 移行オプション

Perforce にプロジェクトがあり Diversion に移行したい場合、2つのオプションがあります：

<img src="https://mintcdn.com/diversion-2/zdFp0wmCrPve5JMp/images/perforce_comparison/image5.png?fit=max&auto=format&n=zdFp0wmCrPve5JMp&q=85&s=bd9d6d8a38664160b309c178701f5c14" alt="" width="400" height="276" data-path="images/perforce_comparison/image5.png" />

**オプション 1: P4 からのインポート** – 完全な Perforce の履歴を引き継ぎます。`+S` 保持ルールは Diversion の [リビジョン制限](/ja/advanced/revision-limits) として引き継げます。このプロセスの完了については Diversion チームにお問い合わせください。

**オプション 2: 新しいリポジトリを作成** – 履歴なしで一からスタートします。すぐに使い始めるにはこちらのほうが早くセットアップできます。

このガイドでは、オプション 2 を使用します。ローカルの Perforce プロジェクトパスを参照します：

<img src="https://mintcdn.com/diversion-2/tNxAwm8NrThaCp35/images/perforce_comparison/image1.png?fit=max&auto=format&n=tNxAwm8NrThaCp35&q=85&s=a67a544b389960f840d7daba6f326d0e" alt="" width="1117" height="556" data-path="images/perforce_comparison/image1.png" />

以前 Perforce で使用していたプロジェクトフォルダーを見つけたら、Diversion で **Create from Existing Folder**（既存のフォルダーから作成）を選択します。

<img src="https://mintcdn.com/diversion-2/zdFp0wmCrPve5JMp/images/perforce_comparison/image48.png?fit=max&auto=format&n=zdFp0wmCrPve5JMp&q=85&s=4701eee640b2098b8b74dd2890c227be" alt="" width="1390" height="922" data-path="images/perforce_comparison/image48.png" />

選択したパスからワークスペースがローカルに作成されると、メールアドレスを指定してコラボレーターを招待できます。

<img src="https://mintcdn.com/diversion-2/zdFp0wmCrPve5JMp/images/perforce_comparison/image6.png?fit=max&auto=format&n=zdFp0wmCrPve5JMp&q=85&s=3f597bc86f144931ff93250574a18e46" alt="" width="1479" height="762" data-path="images/perforce_comparison/image6.png" />

コラボレーターをプロジェクトに招待するのは簡単です。

<img src="https://mintcdn.com/diversion-2/zdFp0wmCrPve5JMp/images/perforce_comparison/image54.png?fit=max&auto=format&n=zdFp0wmCrPve5JMp&q=85&s=a5b826e3db0f1d992d0292c2c1618ec8" alt="" width="1479" height="762" data-path="images/perforce_comparison/image54.png" />

ワークスペースがセットアップされたら、リストからプロジェクトを選択するだけです。Diversion はプロジェクト管理パネルを自動的に起動し、履歴に何をコミットするかを正確に選べます。

<img src="https://mintcdn.com/diversion-2/tNxAwm8NrThaCp35/images/perforce_comparison/image17.png?fit=max&auto=format&n=tNxAwm8NrThaCp35&q=85&s=e09b17fc7396cf61e8a94221890ce981" alt="" width="1479" height="916" data-path="images/perforce_comparison/image17.png" />

Unreal、Godot、Unity を使用している場合、Diversion は `.dvignore` ファイルを自動的にセットアップし、エンジンによって一時的に生成または再構築されるフォルダーをスキップします。

<img src="https://mintcdn.com/diversion-2/tNxAwm8NrThaCp35/images/perforce_comparison/image11.png?fit=max&auto=format&n=tNxAwm8NrThaCp35&q=85&s=0f089d87f27df5e357418cf556eef162" alt="" width="1479" height="916" data-path="images/perforce_comparison/image11.png" />

## コミット時間

Diversion では、ワークスペースは継続的にクラウドと同期されます。**コミット** とは、履歴にスナップショットを保存することを選ぶ瞬間のことです。Diversion のアーキテクチャのおかげで、大規模な UE プロジェクトでもコミット操作は高速です。

5.6 以降、Diversion は UI からのより高速なコミットのための専用の **Commit** ボタンを備えています。

<img src="https://mintcdn.com/diversion-2/tNxAwm8NrThaCp35/images/perforce_comparison/image29.png?fit=max&auto=format&n=tNxAwm8NrThaCp35&q=85&s=3ae5a9e4d95baa89b6f89b50aa954a6b" alt="" width="1479" height="916" data-path="images/perforce_comparison/image29.png" />

Perforce と比較して、コミット速度は大幅に高速です。

プロジェクト全体がわずかな時間で履歴にコミットされました！

<img src="https://mintcdn.com/diversion-2/tNxAwm8NrThaCp35/images/perforce_comparison/image19.png?fit=max&auto=format&n=tNxAwm8NrThaCp35&q=85&s=113a26bf95810083af65450c14655f3f" alt="" width="1479" height="916" data-path="images/perforce_comparison/image19.png" />

これで、プロジェクトはローカルマシンとクラウドの両方に存在し、共同作業の準備が整いました。

<img src="https://mintcdn.com/diversion-2/tNxAwm8NrThaCp35/images/perforce_comparison/image36.png?fit=max&auto=format&n=tNxAwm8NrThaCp35&q=85&s=ddcdc6aa918a8906909c4f4ec9744e7f" alt="" width="1462" height="783" data-path="images/perforce_comparison/image36.png" />

***

## Unreal Engine 連携

Diversion を Unreal Engine と統合するには、[FAB](https://www.fab.com) にアクセスし、「Diversion」を検索してプラグインをダウンロードします。

<img src="https://mintcdn.com/diversion-2/zdFp0wmCrPve5JMp/images/perforce_comparison/image42.png?fit=max&auto=format&n=zdFp0wmCrPve5JMp&q=85&s=fd729f180c311a8c236f47634e11d62c" alt="" width="1999" height="1048" data-path="images/perforce_comparison/image42.png" />

プラグインは Diversion Version Control パネルからダウンロードとインストールされます。**Install to Engine** をクリックすると、Unreal Launcher と統合され、すべての Unreal プロジェクトで Diversion のサポートが有効になります。

<img src="https://mintcdn.com/diversion-2/zdFp0wmCrPve5JMp/images/perforce_comparison/image44.png?fit=max&auto=format&n=zdFp0wmCrPve5JMp&q=85&s=aa0c61bef5bd113a6c589e1b48b4414e" alt="" width="1663" height="717" data-path="images/perforce_comparison/image44.png" />

Unreal Engine の Plugins パネルを開き、検索バーに「Diversion Version Control」と入力し、プラグインを有効化して Unreal Engine を再起動して変更を適用します。

<img src="https://mintcdn.com/diversion-2/tNxAwm8NrThaCp35/images/perforce_comparison/image20.png?fit=max&auto=format&n=tNxAwm8NrThaCp35&q=85&s=26a67456d63362feac9fd95bbf10d777" alt="" width="1999" height="1085" data-path="images/perforce_comparison/image20.png" />

Unreal Engine のメインツールバーから、**Tools > Change Revision Control Settings…** に移動し、バージョン管理システムを Diversion に設定します。

<img src="https://mintcdn.com/diversion-2/zdFp0wmCrPve5JMp/images/perforce_comparison/image7.png?fit=max&auto=format&n=zdFp0wmCrPve5JMp&q=85&s=03e8fa78cb6eb6c1029124e6ecfd281e" alt="" width="1999" height="1071" data-path="images/perforce_comparison/image7.png" />

Diversion がアクティブになり、プロジェクトのバージョン管理を行う準備が整いました。

<img src="https://mintcdn.com/diversion-2/tNxAwm8NrThaCp35/images/perforce_comparison/image21.png?fit=max&auto=format&n=tNxAwm8NrThaCp35&q=85&s=7a0e1f4909acd64d51c9b175fe2a1624" alt="" width="1999" height="1074" data-path="images/perforce_comparison/image21.png" />

***

Diversion をバージョン管理プロバイダーとして選択すると、Unreal Engine は構成を自動的に検出し、手動セットアップなしで接続を確立します。

<img src="https://mintcdn.com/diversion-2/tNxAwm8NrThaCp35/images/perforce_comparison/image12.png?fit=max&auto=format&n=tNxAwm8NrThaCp35&q=85&s=98fbeb2d3272f111450fec23afe6b4e7" alt="" width="1999" height="1078" data-path="images/perforce_comparison/image12.png" />

Unreal では、**Revision Control > Check In** が **コミット** を実行します。\
Perforce では、排他ロックが **チェックアウト** に相当します。Diversion は **ソフトロック**（ブロックしないインジケーター）を使用し、マージベースの共同作業をサポートします。

<img src="https://mintcdn.com/diversion-2/tNxAwm8NrThaCp35/images/perforce_comparison/image33.png?fit=max&auto=format&n=tNxAwm8NrThaCp35&q=85&s=066a5639ddf2590157366bc5da09eecb" alt="" width="1999" height="1078" data-path="images/perforce_comparison/image33.png" />

ファイル比較は Perforce の最も強力なツールの1つです。Diversion でも同じメリットを得られます。**Revision Control > Diff Against Depot** に移動して、ローカルファイルとリポジトリに保存されているバージョンとの違いを視覚的に確認できます。

<img src="https://mintcdn.com/diversion-2/tNxAwm8NrThaCp35/images/perforce_comparison/image22.png?fit=max&auto=format&n=tNxAwm8NrThaCp35&q=85&s=fdad5c4d594db27f5de19bbe98c4eb23" alt="" width="1999" height="1077" data-path="images/perforce_comparison/image22.png" />

Diversion では、各ファイルに加えられた変更を視覚的に確認するための同様の差分パネルが提供されます。

<img src="https://mintcdn.com/diversion-2/zdFp0wmCrPve5JMp/images/perforce_comparison/image9.png?fit=max&auto=format&n=zdFp0wmCrPve5JMp&q=85&s=0f8b541e921a9c9e7c688116ace02c7a" alt="" width="1999" height="1079" data-path="images/perforce_comparison/image9.png" />

保留中の変更を確認するには、インターフェース右下の **View Changes** パネルを開くか、Tools メニューから移動します。

<img src="https://mintcdn.com/diversion-2/tNxAwm8NrThaCp35/images/perforce_comparison/image18.png?fit=max&auto=format&n=tNxAwm8NrThaCp35&q=85&s=cb2d7c2407d444eeb66fdf451f865295" alt="" width="1999" height="1074" data-path="images/perforce_comparison/image18.png" />

**View Changes** パネルには、シーン内のすべての変更済みアセットが表示されます。エントリをダブルクリックすると、Content Browser 内で自動的に配置されます。

<img src="https://mintcdn.com/diversion-2/zdFp0wmCrPve5JMp/images/perforce_comparison/image53.png?fit=max&auto=format&n=zdFp0wmCrPve5JMp&q=85&s=6368d306eb7f04889173dad92129bb82" alt="" width="1347" height="786" data-path="images/perforce_comparison/image53.png" />

各ファイルには、ブランチ全体で行われたすべての変更を示す完全なインタラクティブな履歴が含まれます。

<img src="https://mintcdn.com/diversion-2/tNxAwm8NrThaCp35/images/perforce_comparison/image37.png?fit=max&auto=format&n=tNxAwm8NrThaCp35&q=85&s=89219e5d33df806ee62cf2cb8cce2ea2" alt="" width="1611" height="917" data-path="images/perforce_comparison/image37.png" />

リポジトリに送信する前に、変更内容を要約するために Changelist の説明を変更できます。

<img src="https://mintcdn.com/diversion-2/tNxAwm8NrThaCp35/images/perforce_comparison/image25.png?fit=max&auto=format&n=tNxAwm8NrThaCp35&q=85&s=eb7c4aac2737aced63939dc0d52683e4" alt="" width="1548" height="945" data-path="images/perforce_comparison/image25.png" />

Unreal Engine インターフェースから直接、Changelist を視覚的に検証したり、ファイルの変更を元に戻すことができます。

<img src="https://mintcdn.com/diversion-2/tNxAwm8NrThaCp35/images/perforce_comparison/image2.png?fit=max&auto=format&n=tNxAwm8NrThaCp35&q=85&s=a4f484da9cadd9d1c16e0d185d081596" alt="" width="1999" height="1075" data-path="images/perforce_comparison/image2.png" />

変更をすぐにコミットするか、後で送信するために説明を付けて Changelist を保存できます。

<img src="https://mintcdn.com/diversion-2/tNxAwm8NrThaCp35/images/perforce_comparison/image35.png?fit=max&auto=format&n=tNxAwm8NrThaCp35&q=85&s=42f8427afaacd49f092ee29a17a14e24" alt="" width="1999" height="1077" data-path="images/perforce_comparison/image35.png" />
