Unity doesn't have a backup solution, be careful you should have your own!

Hi all,
This recommendation is for newbies like me.
Be careful! Because of Unity’s inner mechanics (which I criticize actually), your library may get twice bigger or trice bigger than it should be. (if you ask my opinion quadrise actually).
And your project which is normally not bigger than 20-30gb can be 100 gb or more easily which makes it really hard to have several backups (at least 3 version) in different places (cloud, external storage and your computer).
Therefore you should do what I do.
In your project, there should be a folder which is named like this (assuming your game name is FunnyRabbit) MyFunnyRabbit (it should be unique).
And you should put every file belongs to you and also you should put every file you modified from the packages you have downloaded from assetstore.
This process makes really easy the refactoring process which is inevitable for a beginner indie game developer.
Refactoring:
1- Make new project
2- İnstall all packages you used from assetstore.
3- Rewrite every project settings you need (Layers, tags, Physics (which layer interact with which layer) and special settings you made before.
4- Now transfer your MyFunnyRubbit folder into new project (becarefull it can be more than 8 hours in some cases consider this while planning.
5- Build your project. (it will take also hours)
5- Start happily with reduced-size project.

Unity should NOT have a backup solution. They’re not backup software. It is game authoring software.

Any properly-designed software development process involves source control.

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.

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):

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

7 Likes

believe me, my technique is much simpler and still works and it doesn’t have 3. party needs. It is newbie heaven.

No, seriously, use source control.
It’s standard in the software development industry in general, and once you start using it, you’ll wonder how you ever worked without it before.

I, too, put off on learning how to use source control because “eh, manual backups work well enough”, but it is so much more than that and well worth the time to learn.

3 Likes

how about getting rid of the fear of “my project will be stolen?”

You’ve discovered a very, very complicated way of deleting the Library folder. If it’s gotten too large due to keeping around stuff it doesn’t need to, you can just delete it and let Unity regenerate it.

If you want a backup of your project, you can safely just copy the Assets, ProjectSettings, and Packages folders. The rest of them gets generated from those.

Or you can use source control which is easier to use, takes less time, and requires a whole lot less harddrive space. Collaborate is built-in, and not complete shit if you’re just a single developer.

2 Likes

Stolen?! By who, “Ze Germans?!”

Nobody cares about your project, code has no value.

Proof: you can already download gazillions of open-sourced games with amazing art and code and features and gameplay.

Take one, any one, and try and make some money.

You’ll soon find what I mean: code has ZERO value.

https://www.youtube.com/watch?v=2oK_trZhVdk

2 Likes

It is called UNITY collaborate and it sucks royally because it gets stuck in a loop of forcibily reverting your code sometimes and nothing you can do about. Fix that bug and I’d pay for it again.

I’m actually learning java SFTP so I can roll my own version control…

You don’t need to pay for anything. Use git or even SVN, you can host either locally or online.

Your project sounds enormous - I don’t know how typical that is. For me, because my games are simple enough, I don’t bother with source control after having notable issues with it years ago (Windows 7 and SourceTree). I simply use 7-Zip to zip up the project root folder excluding all folders except Assets and Project Settings. This excludes all the build files and VS files etc.

To restore, I just decompress this folder somewhere new and open it within Unity Hub. All the files get built again and the project is perfectly restored. I can then compare the old the new, restore a missing file, or whatever, but in truth I’ve never had to do any of those things and all I’ve really done is use these backups to try different versions of Unity.

A Unity project that is 1 GB zips down to 170GB where I can back it up to Google and OneDrive.

I have separate zips for audio and art asset development files.

So yes, a backup is imperative. The simplest way in theory is source control, which I’ll look into trying again. But if Source Control is too much or too scary, there’s nothing complicated to Unity’s project structure and you’re actually overcomplicating things. Indeed, clearing out VS build files is a way to fix some issues, so backing them all up can even be counterproductive.

That said, I’m still using 2019. Dunno if packages are handled differently in 2021 that they need backing up. FOr me, all packages reside in Assets and any modifications I’ve made to them are present in the restored asset scripts.

Git does not have the feature that COLLAB does of updating assets along side code. If collab wasn’t buggy, I’d still be paying for it. You can use GIT ANNEX, but for some strange reason, it takes 4 gb of memory to run on the server, and that is expensive. I spent 3+ months trying to integrate GIT. It was not the correct solution for me, so I am rolling my own.

If you mean storing large binary files, you can use git LFS. Did you try using Gitea as a server? SVN also deals with binary files quite well, and learning how to set it up will take far less time than some contrived FTP solution.

2 Likes

If you mean storing large binary files, you can use git LFS. Did you try using Gitea as a server? SVN also deals with binary files quite well, and learning how to set it up will take far less time than some contrived FTP solution.

I assure you people have told me this for a year. But despite having paid consultants on my own specific project, GIT, GIT HUB, GIT for servers, GIT Annex, etc are not proper, we spent about 3 months on and off, after about 3 months of it, and it just isn’t proper for my specific solution. GIT has problems handling large files even Annex chokes on some of my files. Also I simply want to update assets as done, keep some redundancies. Really, my home brew stuff is top notch, professional grade, sometimes better than anything out there… I rolled an entire game server that doesn’t crash and serves SHTTP from raw sockets. Please leave me alone and do not call my software contrived, that is an insult even if you didn’t mean it. You’re coming from a position of not understanding my own technological needs or knowing why GIT is failing for my project, right? So please do not be condescending when you don’t even know what is going on that others with solid technical knowledge have looked at.

Well, it’s your time, do with it what you think is best for you. If you want to spends months reinventing the wheel instead of making games, so be it.

Did you even look at SVN or perforce (which is free for 5 or less users)?

If you have such massive files in such large quantities, Perforce is the tool for that and it’s what most large studios like EA, Activision, Ubisof, etc, use. It’s the only source control solution which doesn’t duplicate files in the client, and it’s possible to create server side scripts to limit how far back history goes for specific file types and folders in order to keep storage under control.

Did you even look at SVN or perforce (which is free for 5 or less users)?

First off, I have absolutely nooooooooooooo idea why you’re arguing with me. I didn’t come here to pick a fight, and as I said before stop bothering me. I just gave advice for UNITY on how to fix their UNITY COLLAB. All they need is a button to say,“FORCE COMMIT AS MAIN” Because I actually liked Collab and would have paid the 10$ every month for decades, but it’d get in a feedback loop of non stop pushing old versions to your workplace so you could never edit code, because it gets in a non stop revert status. I did not ask for help, and I already told you it was a failure of my business to even try another version control, literally wasted hundreds of hours and we got no where.

And secondly, there is a opportunity cost involved in learning other’s techs. It will probably take at least 2 hours to read their documentation and fiddle with stuff with this perforce thing(took hundreds with git), and if I want something changed, I can’t. Meanwhile, I could have my version control with the features I require running at a basic level in under an hour or two, and since I coded it, I can expand it easily for new features.

Please stop fighting with me.

I’m “arguing” because your OP gives bad advice, and you self identified as a newbie (to then reveal yourself as a genius who can create outstanding solutions faster than it takes to learn existing ones which are used widely across the industry).

Other newbies should be advised use source control, not “backups”. Source control is industry standard practice for a reason and not knowing how to use it lowers one’s hiring potential.

Also, Unity Collaborate is by far the worst source control solution ever. It’s appalling Unity charges for it with the multitude of fundamental issues it has.

I’m “arguing”

Exactly. I’m glad you agreed with me. You’re arguing on an internet forum when someone said to stop harassing em twice. You’re being rude. Do you realize this? Now take a look at your life and wonder if harassing people on the internet out of hate is the way to live your life. This would be the third time I’m asking you to stop harassing me on this forum. If you continue, I will search for moderation tools to report you. Normal people do not keep attacking other people in needless arguments. I didn’t come for an argument, I didn’t come saying I’m a noob. I said that UNITY Collab has a bug that if fixed, I’d pay for if fixed. I’m helping UNITY devs make a better project and you’re treating this like a hate rally.

Again, do not respond, this is the 3rd time I’m asking you to stop attacking me.

An argument isn’t necessarily aggressive or ‘picking a fight’. Any intelligent debate will involve logical arguments.

You posit an idea about how to handle backups (for new developers). Neto_Kokku is offering a counter-argument that your suggestion isn’t a good one. The discussion then proceeds, or should proceed, discussing the pros and cons.

This is a discussion forum. You should be willing to discuss your ideas which includes debating them with people who disagree with you and/or are trying to understand precisely what it is you are trying to do.

You’re not being attacked, you’re contradicted because you offer poor advice.

Solutions to your and mfatihbarut problem do already exist like Git + LFS or PlasticSCM. Use them. They are recommended by professionals because they work.

SVN has been around for decades, and works just fine no matter the file size. Every Linux distro includes an SVN server for free.

Not sure why everyone loves to reinvent the wheel.