Binary-aware diffs
Block-level diffing for .uasset, .umap, .fbx, .png. No more "binary files differ."
Binary diffs that don't OOM. Lockable .umap files. Branch merges that don't ship a stale lighting bake into the build the demo lives on.
Diversion replaces Perforce with a distributed object store that diffs binary assets at block level — not text. Each .umap, .uasset, and Blueprint is tracked atomically. Branches are cheap. Locks are first-class. Builds don't lie.
See how it works →
Block-level diffing for .uasset, .umap, .fbx, .png. No more "binary files differ."
Lock any binary before editing. Your whole team sees who holds the lock in real time.
Merge detection knows which lighting bake is freshest. No silent stale-bake shipping.
Push 50 GB in one commit without client-side OOM. Distributed cache layers close to your farm.
diversion sync, diversion lock, diversion branch. Drop-in replacement workflow for P4 users.
Native post-sync hooks for Unreal Automation Tool and Unity Cloud Build. No custom scripts.
diversion diff HEAD~1 — City_Hub.umap. Block-level output: which mesh chunks changed, which mip levels are new, which LightingData asset was swapped.
$ diversion diff HEAD~1 -- City_Hub.umap
+ BLOCK 0x0000 +17.3KB ████████████░░░░ mesh/SM_BuildingA_LOD0
+ BLOCK 0x1200 +42.1KB ██████████████░░ mesh/SM_Tower_Facade_LOD0
+ BLOCK 0x2800 +8.9KB ██████░░░░░░░░░░ texture/T_Window_Glass_N
- BLOCK 0x1A40 -9.4KB ░░░░░░████████░░ texture/T_Concrete_Worn_M
- BLOCK 0x3F80 -14.2KB ░░░░████████████ mesh/SM_Pillar_Broken_LOD1
± BLOCK 0x3120 ±2.1KB ░░░░░░░░██████░░ lighting/LightingData_Layer0
± BLOCK 0x4400 ±0.8KB ░░░░░░░░░░████░░ lighting/ShadowMap_Partition_3
+ BLOCK 0x5600 +21.7KB ████████████████ navmesh/NavMesh_Ground_Floor
--- 28 blocks changed +89.4KB added -23.6KB removed 2.1MB total delta ---
| Feature | Diversion | Perforce Helix Core | Git LFS |
|---|---|---|---|
| Large binary support (>50 GB) | Block-level delta | OOM-prone at scale | HTTP bottleneck |
| File locking | First-class, real-time | P4 exclusive checkout | Not supported |
| Branch cost | Instant, ref-based | Full copy on branch | Git lightweight |
| Merge intelligence | Detects stale bakes | Manual resolution | Binary conflict only |
| Learning curve (P4 migration) | CLI parity, same mental model | Familiar if already on P4 | Requires git + LFS setup |
| Pricing model | Free tier + $19/seat | Enterprise, >$1K/mo | Free via GitHub |
We synced a 180 GB depot in under 4 minutes. P4 would have been 45. The lock system alone saved our level designers from a week of merge hell.
Ironvault Games — 40-person indie studio
The lighting bake detection during merge is the killer feature. We used to discover stale bakes the night before a demo. That's gone.
Nightframe Interactive — Unreal-focused team
Diversion is for Unreal/Unity teams of 5–50. Not code-only git hosts. Not AAA enterprise Perforce.
Get Early Access