I have a few questions and concerns about editing my unity project from 2 different machines (one at a time, I’m the only user). Right now I have the exact same version of unity on my desktop and my laptop, and I’m using bit torrent sync to synchronize my project folder between them.
This setup works… But it’s not perfect. Every time I switch machines, unity takes a VERY long time to load the project (and I have SSDs on both computers) and will spam me with many “the handle is invalid” error messages, which thankfully allow me to skip through. Once the project is finally loaded, I’ll get some warnings about the lightmap snapshot being inconsistent with files missing. I also sometimes get other errors about metadata or something.
Despite all these errors and warnings, everything works fine as far as I can tell. I’ve been doing this for months now with no ill effect. Should I be concerned though? Is there a better way for me to accomplish this? And finally, is this allowed under the unity free license? (V5.3)
Have you looked in to using GIT with a private repository? Git is a great tool for managing code versions. When you program with git you basically keep your code and log all the changes. One thing I like about git is the ability to branch your code; Meaning, if you are working on a new feature, do it in a branch and merge it to the master. This makes coding more clean, gives you the ability to revert mistakes and find bugs easily.
If you are not familiar with the code version control concept, i’d suggest searching youtube for “GIT tutorial”. I personally learned a lot from https://www.youtube.com/channel/UCshmCws1MijkZLMkPmOmzbQ
There are several git repository services, for example (free): http://bitbucket.org
It might take a couple of hours or more to learn the concept, but I now find it difficult not to work with git once I learned the concept. Having a master branch, feature branches I create and to ‘tag’ versions which are final is a great tool. Moreover, in the case of the files of different computer, git has a feature called ‘gitignore’. It’s a file telling git not to monitor specific folders and files, so you can keep track of only the code and when you open in a new computer all the temp / computer specific files won’t follow you.
(A Good gitignore file for unity: https://github.com/github/gitignore/blob/master/Unity.gitignore).
The only problem (which is solvable) is having very big resource files (graphics, sounds…). The solutions to this is to add them to gitignore and pull them from another place. A solution to this is to use https://git-lfs.github.com/
I havn’t used it but it’s the first result when searching in google.
Hope this helps.