Stop losing work to scene & prefab merge conflicts.
When two people edit the same scene or prefab, Git hands you a wall of fileID: 1001
and guid: a1b2c3β¦ with no hint of which GameObject is in conflict. Easy Merge Conflict turns
that into a readable, side-by-side list β and merges scenes, prefabs, materials, Animators,
Addressables and .meta files without the silent data loss of Unity's default merge.
One real Addressables .asset conflict, two ways. On the left, exactly what Git leaves in your
file. On the right, the same six clashes resolved as readable Ours/Theirs choices.
The same structural merge handles whole scenes & prefabs β resolved by GameObject, with a reconstructed Hierarchy of the merged result.
m_LocalPosition on Player is a
side-by-side pick, while the Light only ours added and the Camera only theirs added are kept
automatically β and the reconstructed Hierarchy shows exactly what the merged scene will contain.Pick a side per object, click Apply & Stage β it writes the merged file and runs
git add. Non-conflicting changes from both sides are merged for you; you only decide what truly clashes.
Instead of parsing the corrupted <<<<<<< markers in your working copy, it asks
Git for the three clean versions of the file β base, ours, theirs β and diffs them structurally, by object,
property, list element and field.
Merge, rebase, cherry-pick or revert that touches a Unity YAML asset or a .meta file.
Tools βΈ Easy Merge Conflict lists every conflicted asset with readable names and a per-file count.
Pick Ours/Theirs per conflict, then Apply & Stage. Finish the merge (commit) in your Git client.
Every fileID and guid resolves to a real GameObject, component or asset name β with type icons and thumbnails.
When two people each add a different child, component, material property or Addressable entry to the same object, both are kept β the data loss that makes default scene merge so risky, gone.
Importer settings merge per field. On a GUID clash you pick a side and references to the other GUID are repointed across the project β so nothing turns into a βMissingβ reference.
Git flips βoursβ/βtheirsβ during a rebase. The tool detects rebase / cherry-pick / revert and relabels the buttons so you never throw away your own commit by reflex.
A Unity-like tree built from the merged result β so objects only the other side added appear too, and anything the merge would drop is flagged before you write.
Backs up the file before Apply, validates the result re-imports cleanly, warns about broken references, and offers one-click Restore.
Any asset Unity serializes as text β plus .meta sidecar files.
.unity.prefab.asset.mat.controller
.overrideController.anim.mixer.preset.mask
.spriteatlas.renderTexture.terrainlayer.lighting.meta
.meta importer settings + repoints GUID-clash references project-widecommit / --continue / --abort β you finish in your Git clientUnity 2022.3 or newer Β· Git on your PATH (or point the tool at a git binary) Β· Assets serialized as Force Text (Unity's default for source control).
.meta GUID conflict?.meta itself is staged.Available on the Unity Asset Store. Import it, hit your next conflict, and open Tools βΈ Easy Merge Conflict β there's nothing to configure.