There really should be some kind of lock you can put on certain folders or files in Unity

I genuinely intend this helpfully, though it’s going to sting:

But you don’t have them “sensibly backed up” because you’re “going to have to place [your] prefabs all over again”. Backup isn’t about files, it’s about avoiding lost work, and what you’ve described there is precisely that - you’ve lost work because that particular piece of work was not backed up - not “sensibly”, not at all.

You’re fooling yourself if you think otherwise.

Not “extra copies”. Do you realise that manually moving copies of bits of your work around is itself a great way to lose or damage it?

Once when I was young I was using manual backup/version control - I’d keep a dated copy of my project at the end of each day. One day I messed something up and needed to revert. Not a big deal, that’s a part of why you keep versions, so you can experiment and revert at will. But… oops! I copied the wrong way! Instead of copying the old good project over the new stuffed one I copied the stuffed one over the good one. So I had to revert to my version from the day before that, and lost a whole day of good progress.

Don’t do that. Don’t put yourself at risk of doing that. Because…

… there are exactly features to help out with this stuff. They’re called version control systems and, honestly, if you’re still talking about making copies of files after all the things people have already said in this thread then you’re just not listening.

Sign up for Unity Collab or Visual Studio Online or Bitbucket or some other online version control provider and make life easier for yourself.

(Just make sure that if they’re free they offer private repositories!)

5 Likes

???

You don’t have to use a third party tool. You can run version control locally and still get benefits. I frequently do this on some of my projects that aren’t worth the ten minutes it takes to set up a remote repo.

And if you are just being tinfoil hatted about putting your work on a server somewhere, you can still use manual backups on top of a version control system. No third parties involved.

2 Likes

Assuming that your backup process actually works then what do you have to lose from giving it a try?

1 Like

Bitbucket. Sourcetree.

All Version Control programs are technically third party tools. So, if the dude has “not invented here” syndrome, he won’t have any software to chose from.

3 Likes

I think there’s a more crucial problem here–the recycle bin restore bug. It’s perfectly reasonable to assume that restoring a recycled file will not do the opposite and obliterate it forever. If the solution to the problem is to just have better file management, that’s kind of not a solution at all.

If there was a game-breaking bug that deleted your save data and only triggered if you fell into lava, that’s like saying that the solution is “to not go in lava because you should’ve known better”. Everyone should be keeping good file management, but from Unity’s point of view, you can’t expect every user to know to keep backups and use version control, and you shouldn’t use that as an excuse for not fixing bugs. That said, I’m sure a Unity dev will look into this soon.

Sure. But Unity is also a third party tool. So is Windows/Mac/Linux. I figured the guy was opposed to hosting on a third party server, not just using a third party piece of software on their own computer.

That’s not actually what happens. (And you can confirm this in a couple minutes via version control). Deleting a folder will cause Unity to delete the meta data file. Restoring the folder will cause Unity to create a new meta data file. This has the effect of erasing any import settings, as well as assigning a new GUID.

For assets this is a pain. Unity references assets by their GUID, so changing it breaks all inspector references to an asset.

But I’ve honestly never had an issue with a folder meta data. Folders have no import settings. And Unity doesn’t normally reference folders directly via their GUID. So there is no harm from deleting an entire folder from the project then restoring it.

1 Like

I had impression the issue was with actual software solution and not with the server, although I might be wrong about it…

But then again, “no 3rd party tools” can easily lead to “make your own microchip today using silicon you mined yourself!”

2 Likes

Of course, you can’t use third party tools for the mining. So you’ll probably want to start with mining iron. Which requires bronze tools to get started. So you’ll want to start there.

I feel an infinite regression coming on. Or at least a 13.82 billion year one.

Confession - Hello all - I’m an artist and - I manually duplicate my project folder every evening after working (I know it’s wrong). :sweat_smile: Luckily this has not bitten me so far.

Eventually I’m going to move on to proper backing up / versioning - I considered Git? because Kiwasi wrote a detailed setup which I saved for later - but it seemed a bit too involved, too much, too much - IM(artist)O.
I really just want to point it at a certain directory - set it and forget it - but I haven’t found one that is that simple yet.

Anyone have suggestions for an artist friendly version controls system?

Not git. Git doesn’t perform well with large binary assets, like texture or sounds. You can easily explode a tiny project into a massive multi gig affair by including binaries.

I would tend to submit text based assets (code, prefabs, scenes, metadata ect) to git, and use a more traditional system to back up binaries.

TL;DR I have no answer for you.

1 Like

What exactly did you find “unfriendly” about it?

All version control systems are fiddly to initially learn. Once you understand how they work they’re all pretty similar to use in principle. The catch is getting over the initial hurdles, which I think might be roughly similar in terms of difficulty regardless of the system you go with.

(That’s assuming you go with something modern / current. Old systems… well… some of them are a different story.)

Perforce is the industry standard, for pretty much this reason.

Also, unlike Git, people can pull down only the parts of a project that they need to work on rather than the whole thing. In Git you’d manage that by having multiple repos, in Perforce everything is in one repo and you just indicate what interests you and what doesn’t.

The catch with Perforce is that while licensing is free (I think) for small teams, managed hosting is nowhere near as readily available. For Git there’s no shortage of people who’ll give small teams quality hosted tools for free, but I’m yet to find the same for Perforce.

That said, so far I’ve not actually had a practical issue with Git for game projects, and there’s always Git LFS as well. It’s ubiquity, availability of tools, and low cost of entry still make it a winner for many projects.

1 Like

Like others mentioned, art assets aren’t always the best fit for version control, exactly. You probably have all sorts of versions of an image, perhaps source art is in some vector format the game engine doesn’t natively read so you have to export it to PNGs anyway. This is all a great case for proper incremental backups.

If using macOS there’s Time Machine, which makes incremental snapshots of whatever you let it, including the whole OS if you like. Windows 10 has a thing - not as good as the thing in 7, but it’s still a thing, and it backs up files. Whichever OS you have, there’s a built-in tool to at least back up your home directory.

But that’s only local backups. It’s strongly recommended to also have an offsite backup. You could do this by backing up manually a second time at the end of the day and shipping a drive to a different office with a fire safe. Yes, the good, old sneakernet method :slight_smile:

A better option, if you actually care about your stuff, is a service like BackBlaze. At $5/month or $50/year (both per computer) you’ve got unlimited space for personal projects. If you start requiring collaboration and/or more than two computers per person you might have to look into running your own cheap server (Hetzner.de is great).

The Unity project should of course be in version control. Ignore the Library, commit pretty much everything else and just work off prototype art as long as possible so that you don’t make too many changes to large binary data. And of course look into Git LFS if not using Perforce, as @angrypenguin mentioned. Watch this intro video to Git LFS to see how easy it is.

Running your own Git server is fairly easy with GitLab Omnibus packages, and really easy and lightweight with Gogs (which builds and runs on anything, in case you want a Windows service).

Version control on a server makes switching computers easier too. Work, commit, push, switch, pull, continue. Git has branches, so you can make an experimental branch and go wild, destroying any scripts you have, then check out the stable branch to get things back to normal if things didn’t work out.

1 Like

We use Git LFS works perfect! But. We buy all our assets, so not many versions of each binary file. Sometimes we modify .fbx or a texure so some versioning is there, but offcourse not close to as if a artist was doing it from scratch. That said LFS works brilliant for us

I use blender just fine, I could never understood why people find it complex, but now I have used source tree and git for Ludum dare in a team and I have no idea what I was doing even though it seems all I need to do was push and pull.

And also perforce when I was in the industry but then there was a professional baby sitter and tools to hie the complexity.

I kind of use dropbox, but is there a dumb version of these things?

If you’re on Windows 10 and are using git, and lots of large files are slowing down git’s responsiveness, you could try Microsoft’s Git Virtual File System, which is a thing that allows you to not actually have everything in your repo on the local file system.
It’s made to allow Microsoft to have all of their code in a single git repo and still have git be relatively fast. Details.

1 Like

You explained it well fiddly. As I said I’d really like to just point the version control to a local directory and not worry about it - unless I need it. As a solo dev - I can’t be bothered with options I don’t need - so they should just be hidden or excluded. I don’t enjoy push/pull type workflows. But with incremental versioning (default for my workflow) like a system that records changes to files every 5-15 minutes, that should be just invisible to the user - that is the kind of system I’d like to use.

In a previous life I worked in a team who used SVN, and once learned - I modified the process to just pull a local copy, work on it until finished and pushed it back up onto the repository. Its just different for art content - especially when working in 3D where the scene has a large quantity of file dependencies, audio, textures, skin, rig, proxies, xrefs etc. That usually causes issues with standard version control systems.

I also worked on a team who used MS Project, though I don’t know the back end on that project - I believe it was handled/set up manually by one of the programmers.

Didn’t someone else mention team viewer or something from Microsoft? Team service? Is that version control?

Thanks for suggestions - all.
I’ll look into GitLFS -
I just have trust issues - especially with OS backup systems - I do back up locally and offline as well - weekly just in case.

You can get GIT LFS for free over at gitlab.com

Team Foundation Server is a humongous framework that tries to do everything, including version control. Here’s a blog post that details Microsoft’s move to git, and it has a list of the things TFS does:

  • Source control
  • Work management
  • Builds
  • Release
  • Testing
  • Package management
  • Telemetry
  • Flighting
  • Incident management
  • Localization
  • Security scanning
  • Accessibility
  • Compliance management
  • Code signing
  • Static analysis
  • and much, much more

If you want the cloud version, that’s “Visual Studio Team Services”. When something has That Many Uppercase Words in it’s name, you kinda know it’s a bit too corporate for anything with less than 50 employees.

1 Like

I realise I’m necroing this thread a bit, but I just thought I’d let you know after doing a ton of level design and getting back to where I was before, I have done a full project backup on a separate folder to make sure this disaster doesn’t happen again.

No need for fancy third party tools, just making sure that all my hard work is double copied this time :stuck_out_tongue: