Revision Control and Asset Management

Revision Control or Version Control or Source Control and, related, Asset Management refer to managing and in particular keeping track of changes to documents, source code, ... in general: information that is contained in folder and files on computers.

See Revision Control in Wikipedia for a broad overview and a list of commonly used terms. The following introductions might be more directly useful:

Use your media competence to decide what parts are useful information!

Currently suggested revision control systems:

Tools:

    • SourceTree (interface for git and mercurial)

Free or "Free" Hosting:

    • BitBucket (git or mercurial)

    • GitHub (git, free hosting only for publicly visible repositories)

    • Kiln (git and mercurial)

    • Assembla (git and perforce (and subversion))

Assorted Tips:

    • When putting Unity into version control: Configure your project to use visible meta files and force text-mode asset serialization. (Edit -> Project Settings -> Editor, then in the Inspector: select "Visible Meta Files" under Version Control Mode, and "Force Text" under Asset Serialization)

    • This ensures that the meta-data about project files is put into separate *.meta files and it is thus tracked in version control and shared between everyone. This prevents, for example, unassigned scripts on different computers. Further, text mode provides more useful information about changes in the version control system.

    • Set up a suitable "ignore" files for your Unity project in git (e.g. .gitignore, .gitignore) or mercurial (e.g. .hgignore, .hgignore).