Hey guys. I have a quick poll about project files backup app that Im considering making specifically for gamedev. It will take you 2 minutes to answer
Auto backup app for gamedev - Online Poll - StrawPoll.com
If you have any question please ask.
Hey guys. I have a quick poll about project files backup app that Im considering making specifically for gamedev. It will take you 2 minutes to answer
Auto backup app for gamedev - Online Poll - StrawPoll.com
If you have any question please ask.
If you use a versioning service like azure devops you don’t need backups
Heres the thing. This app is NOT meant to do what version control softwares do. Version control softwares won’t save you if, for example, your project file as a whole gets corrupted which can happen pretty fast in Unity. Its really meant to be an automated extra layer of protection. And of course if you don’t use any version control software, it can fill in for it.
If it isn’t saving you in this situation then it means you’ve been using version control incorrectly. Ideally you want to make a commit every time you’ve made a change to a project, and you may even want to do it while you’re making progress on a task if for example the change you’re making is a major one that is very involved.
How? To my understanding there version control solutions are not meant for full project backups, but rather for backups of seperate files like scripts and for tracking history of changes and making it easy to revert back to previous versions of certain file.
Meaning if you have a corrupted project files (as in 999 errors when you import some outdated stuff - you know what I mean) that you don’t know how to fix and the only way is to have a fully backed up project file then it in fact wouldn’t save you.
Both Git and Subversion can be used to make full project backups. Git requires the additional steps of setting up Git LFS for large files, but in the case of Subversion it’s capable of it out of the box.
If there is a situation where you need to access an older version of the project then you simply instruct the version control software to revert back to that version. Again this idea of yours is simply coming across as “I don’t know how to use version control properly”.
But thats one of the things Im trying to make more convinient. Fully automated system where you don’t have to worry about making backups. Github for example has 100mb file limit which really limits project backup. Like I said, they aren’t really that convinient for full project backups if you ask me.
My full project backup is simply a one instruction commit. If I want to revert to an older version it’s a one instruction request.
Which solution do you use? Does it have file upload limit? Cause 100mb seems very limiting. Furthermore repository size is usually limited as well
Subversion. There is no file size or project limit. I’m currently using it with a project that is over 100 GB.
Edit: I just searched the project and the largest file we’re currently working with is a 176 MB 8K texture.
Unity if anything, mostly corrupts config files, rather assets on their own.
These are text files. So having versioning and history, you can fix stuff fairly easy.
If not remotely, more trivial way, you can have repo on the local hard drive, like github desktop, and deal with your 100MB file limits. Storing history changes, are of size of KB in most cases. Unless committing big changes / large files.
But what type of files you must have, to be over 100MB anyway? Unless we talk about media files,like videos and 4K/8K raw files?
Well you’d still have to troubleshoot and figure out wheres the problem and which file needs fixing. In my mind its much easier to just revert back to previous backup. Now yes, if your an advanced user, version control can be better, though I think I would still prefer backups in this case. Some people by the way don’t even know how to find which files need fixing and before they figure out through help of others, they would spend too much time The other massive problem I see with git or SVN is that they are complicated and unfriendly solutions for beginners or even intermediates. These are some issues that this app could fill out and why it would fill a hole in a market.
@CakeMonsey So question is, what would make people get convinced, to use some another obscure software, to keep files in backup. Considering beginners, specially if they lacking of expertise, to even backup files before Unity upgrade to next version?
And consider following.
Person migrated project to next Unity version. Month later realizing, something does not work, or it has corrupted files.
So reverting back, by using backup.
How do you track, which files has changed, to investigate the problem?
You want to avoid loosing month of work of course.
Just want to point out that just because you use version control it doesn’t mean your are back uped. If you self host you need to backup the repo. And if youre using a hosting service you need to make sure its backed up (can’t imagine any hosting service wouldn’t do that though). Also if you use git it’s distributed and you can actually just push your local repo to a new endpoint and all history etc will be preserved ![]()
With my current contract I had to teach multiple people how to use version control for the first time, and all of them picked it up very quickly and without any complications. We’re not talking programmers here. We’re talking artists, a musician, and the guy who runs the actual business.
Version control is simply not difficult to learn and I don’t understand the idea that it automatically will be. Game development and the various fields involved in it are far more difficult to learn than version control. Both Git and Subversion are very well documented but the same can’t be said of Unity and Unreal.
Definitely wouldn’t use it.
There’s already git.
I can revert data corruption with a few commands. I can also mess with the codebase however I want and maintain mutliple versions.
…then I can revert it to non-corrupted state using one or two commands in git. No matter how many errors are there, as long as repository has been correctly setup.
you can check which file has been changed by calling “git stat”. It will list everything that has been modified.
Or if you need to find which file introduced a bug, and when, you can do “git-bisect”. This way you will locate the problem even if there was a thousand udpates since it was introduced.
Basically it is a solved problem. There’s no point in writing another tool.
Your concept is a good one, but there are already many existing solutions to this problem. What you’re talking about is just a local, periodic backup tool. If that’s what you want then you don’t have to make one, you can just grab and use an existing one.
However, note this part of your description, emphasis mine:
As a backup system this is of very limited use. It’ll protect me from accidental deletion and project corruption, and that’s about it, where there are many other threats that may cause me to lose work on a computer. Ransomware? Virus? Disk failure? Hardware loss or damage? Theft?
As others have already suggested, just using version control with a remote host already protects me from more than that. If someone throws my laptop into a bottomless pit tomorrow then I’ll have my project back and working again within half a business day of getting a new one. I’ll do a Git pull and it’ll just appear.
The size per “upload” doesn’t usually have to be big because it’s not uploading the whole project, it’s only uploading what you changed since last time, and that gets compressed, and if your workflow is good then you’ll be making lots of small commits rather than large ones. 100mb is usually loads.
Repo size limits are a concern, for sure, but your solution would also hit issues with that as soon as you get to the “cloud” part. Version control helps a lot there, since it only saves change since last time, and it compresses them. That makes version control storage incredibly efficient. I’m looking at a repo now which includes a full, multi-year project history with many hundreds of versions and a bunch of stuff that has since been removed from the project (but is still accessible if we roll back), and the repo is only ~30% bigger than the project itself on disk.
You’re thinking about the right stuff. Thankfully, people have already made tools to solve this problem and a whole bunch more. Due to repo size limits I suggest checking out Azure DevOps and whatever Git client takes your fancy. Less effort than writing a new tool, and a whole bunch of other benefits included.
As others said, remote version control is always plan A.
However, local backups are useful for hardware fails or replacements. Both Windows and MacOS have built in solutions for automatic backups. Mac it’s Time Machine. Windows it’s called Backup and Restore (under System and Maintenance). While I applaud your effort, since these things are mission critical, I wouldn’t consider 3rd party software an option.
Alright. Thanks for the feedback guys. Much appreciated. It still bugs me though. Why did so many people show interest in using it if version control software are basically a superior option? Is it solely due to ease of use it could provide so it would make it easier on beginners?