Before you write a single line of code or open a terminal, you must configure two settings inside the Unity Editor.
| Tool | Best for | Key feature | |------|----------|-------------| | (with LFS) | Small to medium teams | Free, fast, industry standard | | Plastic SCM | Unity-first teams | Built-in scene/asset merging | | Subversion (SVN) | Large binary assets | Locking for non-mergeable files | | Perforce Helix Core | Large teams / AAA | Fine-grained permissions + asset locking |
Unity hides .meta files by default. These files contain unique IDs (GUIDs) that tell Unity which file is which. If you don't commit these, references between scripts and scenes will break when someone else pulls the project.
Multiple developers editing the same file often overwrite each other.
Merging scenes ( .unity files) is notoriously difficult. If two people move the same cube in a scene, Git cannot automatically merge it.
Unity projects are unique because they contain massive binary assets (art, audio) alongside text-based scripts. Without specific settings, version control systems will break your project.