Has anyone ran into this error? It is stopping me from merging a branch. I’m not sure if something isn’t setup correctly or what. Any help would be appreciated.
Hi @KnightFire2 , I’m sorry that you keep running into this error while merging your branch. Could you give me a few more details? Your Unity Editor version, your Version Control package version, and your OS? Did you install the Plastic SCM client from the Unity Plugin or from the Plastic SCM website?
Hey Ryan,
I chose to accept only the source changes so that nothing would change to get past this error. I was using Unity version 2021.2.19f1 so it would seem it is looking for the YAMLMerge in the wrong place. I don’t really now how to fix that. I have also updated to the latest LTS version of Unity in order to have a more stable version. I’m not sure that will fix the issue in the future. For the plastic version it should be the latest version. I’m on 11.0.16.6949. I’m running Windows 11 20H2 as well.
In the Plastic SCM Preferences menu, can you go to the Merge Tools tab and edit your .prefab/.unity merge rule to use the UnityYAMLMerge tool under 2021.2.19f1? You should find the UnityYAMLMerge tool under the following directories:
PC: C:\Program Files\Unity\Hub\Editor\UNITY VERSION NUMBER\Editor\Data\Tools\UnityYAMLMerge.exe
Mac: /Applications/Unity/Unity.app/Contents/Tools/UnityYAMLMerge
Can you check if this path from the “client.conf” is right in your Unity installation:
C:\Program Files\Unity\Hub\Editor\2021.3.1f1\Editor\Data\Tools\UnityYAMLMerge.exe"
Unfortunately, this appears to be an issue with the Unity Smart Merge tool rather than the Plastic client but I will try to help as best I can. Merging scene files has been an age-old problem for Unity developers due to the file format used (YAML). I suspect that Collaborate also suffers from the same behaviour.
Plastic SCM does not fall back to binary choice when this external merge tool fails and you will need to do this manually. To do this, I would suggest reordering the list of merge tools you have configured so that the “binmergetool” is listed above the Smart Merge tool temporarily so you can complete the merge. This will mean that the default binary merge tool is used and you will be able to select “Theirs” or “Mine” as you would have done within Collaborate.
Please check the following screenshot: Plastic GUI → Merge tools. Set the binary merge tool as the first one:
IMPORTANT: Not sure if you are using file locks in your Plastic repository. It’s very important to enable them to avoid merges with binary files in the future:
Thank you so much for the detailed information and explanation for my issue! This definitely helps a lot! I never used Collaborate I have just jumped in Plastic this year. I did notice I have to manually pick which changes to keep and I will have to play with that to see which choices give me the desired outcome.
To my knowledge I am not using file locks in my repository. I will definitely look into that.
I switched around my merge tools to mimic what you had set up in your picture. Are there anymore that I need to add or do these four get the job done?
It looks good at least to avoid the issue with the merge via UnityYAMLMerge. Please let us know if we can still help.
You have gone above and beyond my expectations! Thank you so much for your in-depth help. I really appreciate it!