Subversion and Unity Projects

I’ve had a bit of experience with Unity Pro and loved the version control system integration, but am now not using Unity Pro anymore and am finding it difficult to know how to properly use Subversion to store my project.

The times I have used version control it has failed some time into the project often because files were included and monitored by svn that later would be erased by Unity (temp files, etc).

Does anyone have any advice on how to set up a unity project to work with Unity? (which folders/files to include and which to ignore, for example)
For your information, I’m looking to store the project, in it’s entirety, in one repository, for the ease of going back and forth between a fellow developer and I.

Thanks in advance.

There is a page in the documentation about it: Using External Version Control Systems with Unity.

There is also already a topic on Unity Answers: Version control workflow.

So basically, you should add to the versioning everything from Assets/ and ProjectSettings/ but nothing from Library/. Don’t forget to activate the .meta files and to add them to the versioning.

reminder: since Unity 3.5, meta files are available with the free (indie) version.

You might appreciate Good SVN by Just Good Design on the Unity3D Asset Store

When we first started out using SVN we ran into multiple conflicts every time the project changed. For that reason, Good SVN broke down the commit functions into 3 main categories - all at the push of a button.

  • Update/Commit Assets for code you’re working on or any file in the Assets directory.
  • Update/Commit Project Settings for things like input settings, publishing settings and so on
  • Update/Commit Files for items you’ve selected in Unity3D’s Project window (or right-click and item)

Because these are the things you’ll use on a daily basis there was no need to commit the entire directory every time you make a change. If that is something you need, we also added a SVN > External Folder > {Command}

Like most of these Windows solutions Good SVN uses TortoiseSVN. Good SVN can also be used on the Mac with TortoiseSVN and CrossOver. See this 12 for more info.