Udacity VR Jam Log 2 — Merging Woes and a Solution (Finally!)
A couple of days ago, I posted about the Udacity Virtual Reality Jam. A couple of teammates and I are making a game for it. We have been putting off merging our hard work because of the dreaded merge conflicts that were ahead of us — merging Unity scenes.
Unity scene files contain so much information that it’s hard to merge. We started out using git, which works fine for scripts… it falls very short (and gives up) when trying to merge scenes. I was off to research. Some googling took me to Unity’s documentation for smart merge as well as a couple of other posts about Perforce and PlasticSCM. Both sounded good, until I got to the costs. I kept looking, sure that there’d be some thing that would work.
I stumbled across a plug in UniMerge. At $15, I thought it was worth a try. Reading through their documentation, they expected that we’d have two copies of an object in the scene, or two copies of the same scene. It would show the differences, which is great, but I didn’t have two copies. I could have just made a copy of everything and then renamed renamed it. Pulling in another feature branch would ideally not create merge conflicts and I could have two copies (of EVERYTHING) in the project. Then, I’d be faced with the daunting task of going through every object and scene comparing and then deleting. Way too tedious. There must be a better way.
I finally reached out to various places — the Udacity slack channel, even a Unity Facebook group I’m in. Many offered suggestions. Some just posted the same research that I’d come across. (I can do my own googling, thank you.) Someone mentioned Unity Collaborate which is in beta right now. A service made by Unity for the exact purpose I needed? Yes, please!
Setting it up was easy. Using Unity 5.5.0 or later, here’s a link that will help you. https://developer.cloud.unity3d.com/collaborate/
I had to download Unity version 5.5.0x1. (NOTE: Without this version the other steps will look like they work, but you won’t actually be able to publish anything.)
After you’ve installed the correct Unity version, go to your services tab within Unity. Click on Collaborate and turn it on.

Once you’ve turned it on, you’ll see a “Collab” drop down in the top bar. That’s what you’ll use to sync or publish, view your history, or invite collaborators.
Add or change anything in the project and the icon next to Collab will change to a blue arrow, indicating you have made changes. Click on “Collab” and you’ll see a publishing drop down. Fill in your commit message. And click publish now.

You can see what changes you’ve made to a single file...

Or you can revert your changes to a single file.

At the bottom, you can invite teammates and set permission levels by adding their email…

Or view your history.


Long story short, I think this very well may be my new favorite feature in Unity!
