How do I use mergetool with in Unreal to diff text?

I’m attempting to use mergetool in Unreal. I’ve set the “Tool for diffing text” to be mergetool, and it finds the exe. However, when I attempt to diff in engine, it says “Soure filename is needed”. After reading Unreal’s source code, I’m guessing this is because mergetool expects every argument to be a named parameter (-s mySource.cpp), while Unreal expects the diff process to just take in the two filenames as the first.

Is there a work around for this? How can I make mergetool work in Unreal?

Hi,

According to the Unreal Plugin readme, text diff for assets is set up as follows…

Text Diff of any assets
To configure a text diff for any uasset (not only Blueprints) use this command instead

“C:\Program Files\Epic Games\UE_5.0\Engine\Binaries\Win64\UnrealEditor-Cmd.exe” “C:\wkspaces\ProjectName\ProjectName.uproject” -NoShaderCompile -run=“DiffAssets” %1 %2 DiffCmd=“C:\Program Files\PlasticSCM5\client\mergetool.exe {1} {2}”

Hope this helps!

Hey @NickWinters , I think that what you are seing is perhaps a change in behavior of the “mergetool.exe”.

I configured it in the Unreal Editor like you I suppose and got the same error:

But even the instructions from the README above doesn’t work, like you stated, missing the -s and -d flags

I and Ollie are going to reach out to the devs.
Sébastien

edit: the other alternative is that the doc of the plugin is wrong in the first place, in which case it’s not a regression but more of a missing feature