Well there goes either the 2nd or 3rd project of mine. I don’t understand why unity3d is now corrupting my projects. I’ve been working on a concessions sim for the past 3-4 months now and today Unity decides to crash every time I try to start the project. I can’t access it at all now. I created a new concessions sim project and copied the files over. Terrain data is corrupted, unity lags horribly when only running my concessions sim project. All models, texture data, and prefabs were reset. More than 50-60 hours of work down the drain. I can’t seem to catch a break. Its’ one thing or another.
I’m thinking my hard drive might be dying too. Could this cause random file corruption deletion? I might go out and buy another hard drive today.
I’ve managed to mitigate these sorts of issues by telling Unity to make text meta-data, then if a project gets corrupt like it seems to every other day, one can simply delete the entire Library folder and re-launch Unity. It takes a long time to re-import everything, but everything will be as you left it.
I have regular backups, cloud sync, version control and an extra paranoid measure: Export parts of projects as packages. I can roll back from anything one way or another
And now you learned why you should make a backup after every important step
I usually pull two or three backups per session. Sometimes its over 10 backups a day. And from time to time i clean up the backups, keeping only every 10th, and when 50 is full every 50th. That way i can be sure that theres always a way back. I work since over two years now at my project. And this has saved it more than once now.
The suggestions above are all approved, its part of being a dev. From when I started 20 years ago things have improved a ton, even back in the Unreal1 days you could corrupt your entire level by building the BSP data, I think I had 200 different versions of one level because of this, no auto back up. They have free to use version control software out, use it. Only other thing I can say is that my hands are so used to hitting control s every few seconds I can’t really think of how not to do it, its very sad to me.
I don’t need to do anything but leave the external HD connected…
Mac’s Time Machine does it all for me.
Often I try something new on a script and when I see that I did a total mess I know I can open Time Machine on the last our mark and the old working script will be there.
Get a 250gb SSD, install windows 7 and all programs on it and use a 1TB HDD as a secondary to store all your crap - music, models, pictures, project directory, etc… Get a large power backup that doubles as a surge protector. Backup to an external HDD weekly or more if necessary (doesnt sound like you need to backup more than that.)
What cloud do you use? I used dropbox all the time for my regular backups but it did a number on my internet speed. What do you mean by version control? I use github for storing my scripts.
At the beginning of the year I bought a 1TB hard drive for my steam games. I don’t mind paying 90$ for another 1tb hard drive, ill just have to buy more NZXT rack mounts to use it. Universal power supplies are a little pricey. At the moment i’m not in the best position to buy one. Thanks for the suggestions!
Take it easy. No need to be sarcastic. I’m no wheres near knowledgeable about computer parts repair. I’m assuming its’ dying because of the awful whirling noise coming from it and the amount of random files that keep disappearing from the hard drive. If its possible i’d like to make it so my PC does an auto backup once a day. I did start coding a program to do this but lost interest half way through.
I use my own cloud - with ownCloud
It works exactly like Dropbox, except I’m using the storage on my own server instead of paying for 100GB increments.
For code I have my own GitLab instance running.
Current hard drives should be really quiet, but a few years back you could get really noisy ones. Then there are 10k rpm drives which are even louder. But if it is louder than your CPU, GPU and PSU fans it’s time to consider swapping them out. Invest in some Acronis imaging solution or whatever (I dunno what works best on Windows) to smooth the transition. Then you don’t need to reinstall.
There’s a built-in backup solution you can schedule in Windows. Since Windows 8 (at least) it only backs up select user areas, though. See Acronis solutions for proper system snapshots
So this is what you probably need:
Low-level disaster recovery: Some form of disk image tool (Disk Utility does the job on Mac)
System settings: Built-in Windows backup (or Time Machine on a Mac)
Your projects: The system backup, copying to a sync folder (this is important; if you work out of a sync folder it syncs your mistakes!), version control (every time you finish a function or method is good to commit a change, in my opinion, and push it to the online repo as often as you can be bothered) and branching.
If you start experimenting with something that diverges from the original plan it’s recommended to simply copy the project and give it a different name. It’s worth it in case it doesn’t pan out.
Finally I recommend having a system drive with all the software, but relying on a secondary drive/partition for the actual projects, if you can. If there is a disaster that destroys the OS you can quickly pick up after reinstalling OS + Unity.
Yeah. Edit - Project Settings - Editor - Version Control → Meta Files
Once you do this, Unity doesn’t need the Library to store metadata links anymore. It still needs it as an asset cache etc but you can delete the entire folder if it ever gets corrupt (for me this is always the reason Unity crashes on start-up) and it will just rebuild it next time you open, without losing anything.
Also makes Unity play nice with any version control software (just tell your version control software to ignore the /Library and /Cache, and all metadata will be preserved in your version control automatically via the new meta files.) I use Plastic SCM for the nice GUI and super easy checkins and updates.
I had a similar problem when importing new Prime31 plugins - the project crashed on each subsequent load. It was fixed easily enough by manually deleting the Library folder and then restarting Unity, it’ll reimport everything though.