x


Unity and Source Control (without Unity Pro)

I fully understand that versioning is for the full version only and Unity wants to earn money.

But before we get rich with our game we need a cheap solution. We tried SVN, but run into trouble. Unity seems to mix up things in the asset database.

I tried this guide: http://unity3d.com/support/documentation/Manual/ExternalVersionControlSystemSupport.html

But this seems to be out of date. In Unity PC 2.61 and Unity iPhone 1.5 there is no Edit->Project Settings->Editor.

Is there a way to work as a team in the free version?

more ▼

asked Mar 01 '10 at 10:06 PM

Klaus Ullrich gravatar image

Klaus Ullrich
92 2 3 9

Do you have Unity Pro? As far as I remember SVN support is a Pro feature.

Mar 01 '10 at 10:37 PM StephanK

Just a note for new readers: This is not true anymore. With Unity3D 3.5, .meta support is available in Unity3D free. It can be enabled in Edit > Project Settings > Editor, change version control mode to "Meta Files".

With this change, you can import the whole Unity3D folder into SVN, excluding "Library" and "Temp" folder. On checkout unity will correctly rebuild the Library from the .meta files

Mar 08 '12 at 02:33 AM Tseng
(comments are locked)
10|3000 characters needed characters left

4 answers: sort voted first

Not trivially, no. You may want to check out this post on version control workflow. You will probably need to end up writing your own serialization/deserialization code, or sending around a bunch of unity packages and have one person do the integration.

Updated: you may want to review the UnityTextScene project.

more ▼

answered Mar 01 '10 at 10:25 PM

Ricardo gravatar image

Ricardo
5.2k 20 32 96

(comments are locked)
10|3000 characters needed characters left

Updated for Unity3.5:

All Unity versions (including Free) now support version control.

Steps:

  1. Goto Edit -> Project Settings -> Editor and enable External Version Control support by selecting Metafiles in the dropdown for Version Control.
  2. Then checkin the Assets and ProjectSettings to your SVN but ignore the Library Directory.
  3. Quit Unity and Delete the Library directory.
  4. CheckOut unity from SVN server. Press Option/Alt (recreates Library) and open Unity.

Hope this helps!

Source: http://unity3d.com/support/documentation/Manual/ExternalVersionControlSystemSupport.html

more ▼

answered Mar 09 '12 at 02:11 AM

manavkataria gravatar image

manavkataria
131 1 2 5

Thanks for repeating what I put in the comment above /irony

You don't have to delete the Library/Temp directories, just marking them as ignored is enough.

Mar 09 '12 at 02:29 AM Tseng

Oops, sorry Tseng! I missed that apparently.

Yes, what you said about ignoring Library directory does makes sense. However, deleting and regenerating Library acts as a proof of concept of library regeneration that new collaborators who checkout the project would need.

Given you've already mentioned about Unity3.5 here, does it make sense to delete my above answer? I am new and not used to the protocol.

Mar 09 '12 at 02:54 AM manavkataria

You could at least delete the double post, you posted the same answer twice

Mar 09 '12 at 03:06 AM Tseng

Done/Deleted. And mighty thanks! I had no idea I had a double post. I recently had a lousy net connection day and would have hit a refresh after a failed posting.

Mar 09 '12 at 05:22 PM manavkataria

Upvoting to try to bump this above the obsolete answers.

Mar 09 '12 at 07:16 PM mweldon
(comments are locked)
10|3000 characters needed characters left

A quick fix for this is to use Dropbox. It's not without its flaws, but it works for the most part (and supports things like revision control, deleted file recovery, and file change logs), plus, it's free (you can't beat that!). I've synced about 3 or 4 different Unity games of various shapes and sizes over Dropbox with no major problems.

more ▼

answered Mar 24 '10 at 03:34 AM

qJake gravatar image

qJake
11.6k 43 78 161

What's your process for using Dropbox with Unity? If it's worked for you, I'd be interested to hear about it.

Apr 21 '10 at 02:37 PM scopique

There's no "process", you just drop your Unity project folder into it, and you can sync it. You can even share the folder with friends. The only thing I've found wrong are a few minor hiccups when two people are editing the same scene at the same time, but Dropbox saves file revisions, so if anything goes wrong, you can just revert to a previously working revision. It's not a perfect solution by any means, but it's free, and it's very easy to use.

Apr 21 '10 at 09:34 PM qJake

Thanks a bunch! Quite useful info

Mar 08 '12 at 02:03 AM manavkataria

This is not true anymore. With Unity3D 3.5, .meta support is available in Unity3D free. It can be enabled in Edit > Project Settings > Editor, change version control mode to "Meta Files".

With this change, you can import the whole Unity3D folder into SVN, excluding "Library" and "Temp" folder. On checkout unity will correctly rebuild the Library from the .meta files

Mar 08 '12 at 02:33 AM Tseng
(comments are locked)
10|3000 characters needed characters left

This question is pretty much the same as http://answers.unity3d.com/questions/11075/how-does-unity-free-source-control-go-wrong, with all the same answers.

Couple things not already mentioned:

  • being able to find missing script components is useful, since if someone moves or renames a script, it can break the scene. See this script or this package.
  • saving out tweaked values of component properties is handy for quick movement of data from one person to another, available from the dump-to-file feature of this package.
more ▼

answered Jan 04 '11 at 01:39 AM

yoyo gravatar image

yoyo
6.5k 25 39 84

(comments are locked)
10|3000 characters needed characters left

Updated: With the new Unity 3

We've been working with Unity in our small team here for a few months. The best way we found to work simultaneously is to compress the library folder into a .Zip file, and to commit it along with the Assets folder. On the local machine, you simply extract the library and open Unity. So you any modification to the code is controlled. You only need to create a new Library.zip once in a while, to integrate the settings made using the inspector. For example, if someone attach his new script to an object in a scene, if he does not commit a new library, it will still work but the script won't stay attached on your teammate's machines. So if that script is important for everybody's work, you just need to compress your library folder and replace the old one.

The worst thing that can happen is to obtain a conflict with the library.zip, but it is pretty easy to get around it by having someone integrate the modifications.

Note: We are using SVN subversion and Unity 3.

more ▼

answered Nov 03 '10 at 06:23 PM

VoidQC gravatar image

VoidQC
1 1 1 3

(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x52
x50

asked: Mar 01 '10 at 10:06 PM

Seen: 15415 times

Last Updated: Mar 09 '12 at 07:16 PM