Unity offers an
Asset Server
Legacy - An asset and version control system with a graphical user interface integrated into Unity. Enables team members to work together on a project on different computers.
More info
See in
Glossary
add-on product for easy integrated versioning of your projects and you can also use
Perforce
A version control system for file change management.
More info
See in
Glossary
and
PlasticSCM
as external tools (see
Version Control Integration
for further details). If you for some reason are not able use these systems, it is possible to store your project in any other
version control
A system for managing file changes. You can use Unity in conjunction with most common version control tools, including Perforce, Git, Mercurial and PlasticSCM.
More info
See in
Glossary
system, such as Subversion or Bazaar. This requires some initial manual setup of your project.
Before checking your project in, you have to tell Unity to modify the project structure slightly to make it compatible with storing assets in an external version control system. This is done by selecting
Edit->Project Settings->Editor
in the application menu and enabling External Version Control support by selecting
Visible Meta Files
in the dropdown for Version Control. This will show a text file for every asset in the
Assets
directory containing the necessary bookkeeping information required by Unity. The files will have a
.meta
file extension with the first part being the full file name of the asset it is associated with. Moving and renaming assets within Unity should also update the relevant
.meta
files. However, if you move or rename assets from an external tool, make sure to syncronize the relevant
.meta
files as well.
When checking the project into a version control system, you should add the
Assets
,
Packages
and the
ProjectSettings
directories to the system. The
Library
and
UserSettings
directories should be completely ignored - when using .meta files, it’s only a local cache of imported assets.
When creating new assets, make sure both the asset itself and the associated
.meta
file is added to version control.
Example: Creating a new project and importing it to a Subversion repository.
First, let’s assume that we have a subversion repository at
svn://my.svn.server.com/
and want to create a project at
svn://my.svn.server.com/MyUnityProject
.
Then follow these steps to create the initial import in the system:
Create a new project inside Unity and call it
InitialUnityProject
. You can add any initial assets here or add them later on.
Enable
Visible Meta files
in
Edit->Project Settings->Editor
Quit Unity (this ensures that all the files are saved).
Delete the
Library
and
UserSettings
directories inside your project directory.
Import the project directory into Subversion. If you are using the command line client, this is done like this from the directory where your initial project is located:
svn import -m"Initial project import" InitialUnityProject svn://my.svn.server.com/MyUnityProject
If successful, the project should now be imported into subversion and you can delete the
InitialUnityProject
directory if you wish.
Check out the project back from subversion
svn co svn://my.svn.server.com/MyUnityProject
and check that the
Assets
,
Packages
and
ProjectSettings
directory are versioned.
Open the checked out project with Unity by launching it while holding down the
Option
or the left
Alt
key. Opening the project will recreate the
Library
and
UserSettings
directories in step 4 above.
Optional:
Set up an ignore filter for the unversioned
Library
and
UserSettings
directories:
svn propedit svn:ignore MyUnityProject/
Subversion will open a text editor. Add the Library and UserSettings directories.
Finally, commit the changes. The project should now be set up and ready:
svn ci -m"Finishing project import" MyUnityProject
Tutorials
Community Answers
Knowledge Base
Forums
Asset Store