Team Development Extreme Frustration

I’m at my wits end trying to do team dev work in Unity. I’ve spent hours upon hours researching Git, Plastic and even the legacy Team Asset server built in to Unity.

I’ve found lots of other people with the same question, “How do teams work on the same project” but what I’ve found is that there are at least a hundred solutions and a hundred ways to go about each solution but they either go into intricate detail assuming the reader has deep knowledge in source control serviceX or they simply say, “Oh just use Git” as if all you do is install Git and go about your development and it all magically works, it knows where to push to, what to ignore and merge conflicts are just a scary story you tell your kids to keep them from turning into coding nerds when they grow up.

There doesn’t seem to be much from the guys at Unity either, I’ve found vague instructions on Unity’s site on how to set it up the various source control apps and tie them into Unity but don’t go into work flow, or best practices. Can a 5 man team all make edits on one scene file or prefab? Can artists edit a single png at the same time?

TLDR; Does anyone know of a good write up of using Unity in a 2+ person team. Best practices, how to use source control, how to set it up from scratch, how to avoid merge conflicts, do’s and don’ts?

For PNGs: Keep assets on DropBox (not git) and have your artists in a skype chat, irc room. Dropbox works great since it is instant. Which means you get the changes and notifications instantly, your artist can see that a colleague has edited player.png, he can backup his work, reload player.png and paste back his changes etc.

When assets are final, add them to git.

For Git: Learn keep-theirs and keep-ours for merging your scenes (and how they work differently when rebasing). Make sure 1 of your members knows git, in-and-out, rebases, interactive rebasing etc. Make sure that people pull when you tell them too. Their are some parts that you can merge manually, learn the text-file format.

TL;DR; Their is no ultimate perfect solution, because their is no ultimate perfect solution. It sucks, takes time and you will loose work someday sometime, it is part of the learning process.