I need a hassle free "time machine" style backup for my ongoing developing projects

Long time ago I developed a project on a mac, and I really enjoyed the time machine backup which saved my ass more times than I can count.
But now that I’m developing stuff on the PC I’m finding that I quickly running out of space if I keep making backup copies of the current prooject in case I mess something really bad which can happen from time to time. Unfortunately full backups are very large and very inefficient.
Is there a solution that I don’t have to spend too much time implementing? Again I really don’t have the time to commit learning an overly technical solution. I’m a single person trying to tackle everything. Something efficient like the time machine would do. Let me know if you have any ideas. thanks.

Version Control.
GIT is good solution, PlasticSCM is another. And there are others.
They are not like Time Machine, and aren’t hands off, but they are the VC is standard in software development. It is the best solution. It’s something you should learn, it isn’t difficult but it is one of those core skills.

5 Likes

Also if you set up backup besides the version control, you should exclude the contents of the Library folder. There is nothing in there what cannot be recreated based on the other files.

2 Likes

Building on ZG’s suggestion above, definitely worth getting git set up. And adding to what Lurk says, let me tack all this extra standard blurbiage on to help you get started as smoothly as possible:

BEGIN Uncle Kurt’s standard ra-ra-ra source control blurb:

Please consider using proper industrial-grade source control in order to guard and protect your hard-earned work.

Personally I use git (completely outside of Unity) because it is free and there are tons of tutorials out there to help you set it up as well as free places to host your repo (BitBucket, Github, Gitlab, etc.).

As far as configuring Unity to play nice with git, keep this in mind:

Here’s how I use git in one of my games, Jetpack Kurt:

Using fine-grained source control as you work to refine your engineering:

Share/Sharing source code between projects:

Setting up an appropriate .gitignore file for Unity3D:

Generally setting Unity up (includes above .gitignore concepts):

It is only simple economics that you must expend as much effort into backing it up as you feel the work is worth in the first place.

I close with a timeless quote from StarManta:

“Use source control or you will be really sad sooner or later.” - StarManta on the Unity3D forum boards

1 Like

Thank you all for the suggestions. I guess I’ll bite the bullet and try Git. I’m sure I wont regret it. Just need to put that time aside in to learn the ins and outs.

Indeed. It may baffle you a few times but the good news is that it’s SUPER popular so there’s tons of help out there. Learn the terminology so you can search for help well: push, pull, fetch, diff, merge, status, etc.

Always commit early and often, comment well for each commit, then push to remote storage, either another computer on your own network, or those providers I listed above. As long as you are doing that, it becomes really hard to lose your hard work. Every time you clone a git repo, you are making a full (compressed) copy of the entire history of the repo back to the first commit.

Alright I’ve set up a local Git repository for my current project and I can honestly say, it was criminal of me to not have used anything like that in the past. I would have saved me at least 2 years worth of work, from all the stuff I spend my time working on. Thank you all for convincing me to try it!

1 Like

It keeps paying dividends far into the future… let’s say you want to try something really dangerous with your code, a new feature you’re not sure about.

Make a branch, go nuts for a few hours, committing, testing, committing, testing, cut a build, send it out and think about it for a while… weeks even!!!

Meanwhile your main work line is “Safe” back in the master branch and you can always go back and work there.

When and if you decide to keep the experimental branch, merge it in to main, bam!!!

If you decide to drop the experiment, just leave it there for future reference.

1 Like