After experimenting with Unity for a while I've finally built a simple game that I want to continue working on. Before I spent too much time on the game I wanted to make sure that I had a backup of the project. The options seemed to be to upgrade to Unity Pro and use the integrated version control, use GIT as an external version control system, or just backup to Dropbox as many small developers seem to do. I don't need Unity Pro at this point and I wanted to use a version control system instead of just a Dropbox backup so I choose Git and Bitbucket.
Here are the steps I followed to add my existing Unity project to version control using Git and then push it to Bitbucket.
- In Unity under Edit/Project Settings/Editor, I selected a Version Control mode of Visible Meta Files and an Asset Serialization mode of Force Text. I then saved and closed my project.
- I created a Bitbucket project and downloaded and installed SourceTree to use as a Git client. During install I skipped the 'Clone project' and 'Install SSH Key' steps.
- In SourceTree, I selected Clone/New, Create new repository, and then set the destination path to the path of my existing Unity project.
- I setup my .gitignore under Repository/Repository Settings/Advanced using: https://github.com/github/gitignore/blob/master/Unity.gitignore and setup my name and email address under Tools/Options.
- I used Repository/Add Remote to add my remote Bitbucket repository. I copied the URL from Bitbucket into the path field and added the name of the project.
- I then used Commit to commit my work and Push to push it to Bitbucket.
- Finally, I checked Bitbucket to confirm my files were there and cloned the project on a different computer to make sure everything was working properly.
I have been working with Unity, Git, and Bitbucket for a few weeks without any problems. I'm not much of a fan of SourceTree and would probably just use the command line if I was developing on Linux. I'm using Windows and I find myself typing unix commands into the Windows command prompt whenever I try it so I will stick to SourceTree for now.