After discussing with artists and programmers, one of the issues with working with others in Unity is that there is no standardised brainless version control. I would suggest that Unity Asset Server module be made available as a baseline unity feature for free and pro to encourage higher adoption rates in collaborative environments. A lot of people don’t understand what it is, or how it could benefit them.
Any mid-sized team will understand and pay the one off fee per seat, but I doubt this is the majority of your users.
I wonder how many customers actually are using Asset Server right now. It can’t be enough to pay for the development of it, so it could be a big deal in terms of drawing people to Unity and working within Unity.
In any case this doesn’t affect me, I am merely sharing my thoughts on the matter of it being a baseline feature of Unity and a feature that competitors fail to capitalise on.
Asset server + Collaboration changes could have a very positive effect on how many people glue to using Unity.
Hey, I’ve recently set up Unity with GIT and it works quite well for now. May do a video about how to do that later (now I’m working hard on my game and don’t have time.)
I’ve used TFS 2010, 2012 and now I’m using TFS 2013 RC and it works really well but it takes some discipline and people who don’t use TFS in their day to day activities and aren’t familiar with it may make some crucial mistakes such as adding files or assets and not getting them added to source control. The online hosted version of TFS is free if you don’t have access to a server solution.
Visual studio also now has GIT support as well which works really well. I have no experience with the Unity Asset Server so I can’t really comment as to the differences between it and TFS / GIT / Subversion other than that it integrates natively.
I don’t think making Asset Server free is a good idea. As far as I’m concerned Asset Server needs to go away. There’s nothing that it does that tools like Perforce don’t do better, except having a slightly lower learning curve, but honestly like 95% of the learning curve in Perforce is only on the system administrator’s end - once you’ve set it up and turned on the Unity integration it’s very easy to work with (albeit not without a few bugs still). I’d rather Unity spent their time and money on things they stand a chance of competing at.
Git is not workable for artists / people working on non-code things. You need smaller checkouts and you need locking support. I say this as the lead on a project with a 201GB git repository (i.e. a 201GB .git folder). Been there, done that. Not doing it next time.
I think Unity should strive to make the best environment for developing content, and not solve/re-solve/re-invent basic infrastructure things like Version Control. It should integrate happily with any of the dozens of versioning technologies out there, including CVS, GIT, Subversion, Mercurial, etc. If there are issues using these industry standard tools, work on fixing Unity, not fixing the concept of version control.
I have to say despite the fact I should know better, I am a big fan of Unity’s Asset Server.
The main thrust of having an internal version control that just works is that everyone will be able to use it without additional training within Unity. As I understand it most version control systems require extensive setup and administration, or paying for a server to host it for you, rather than just running it and getting on with it (Unity).
I’m not sure that works well for the majority of Unity users who might not be too technically savvy. I don’t see why both solutions wouldn’t exist, I’m just pointing out that both solutions can coexist.
If we’re really going to talk about only doing something you do well then we might as well just remove Boo and JS while we’re at it (I wouldn’t mind) and only support Perforce.
Setting up basic version control is easy, and free, and there are several options. Git is probably the quickest and easiest. It requires far less technical savvy than using Unity. When you say “running and getting on with it” it sounds more like you are talking about backups. Version control isn’t an automated background process, nor should it be.
Having worked with many of the above methods, I still prefer Unity’s version due to the ease and being fully integrated. Granted I am probably not the norm, but I would love to have their solution as part of a pro license or free license. It definitely isn’t worth $500 per seat, even if I do like it. Alternative solutions work just fine.
It is a very nice integration, especially for handling unity-centric assets and big binaries. And of course everything is better if it was free, but since this a just a better solution to existing ones, it seems pretty reasonable that it is a Pro feature. (though I would agree that the additional licensing on top of Pro is a little awkward).
Though it is definitely a mid range solution. More than needed for a very small team or one person needs, but also not robust/flexible enough for larger teams/projects. Personally, I would love to just see that type of in-Unity interface separate from the vcs.
Yeah… I’ve used both and didn’t find setting Git up to be any harder than setting up the Asset Server. Plus, Git in my experience has been by far the more reliable of the two. I spent far more time administering our Asset Server than I’ve spent administering our Git, and we’ve been using Git for longer than we used the Asset Server. Plus, the Asset Server lacks a lot of functionality that is standard in every other decent VCS that I’m aware of, including fundamentally useful things like branching.
Also, while hippo clearly isn’t in the market, the availability of so many free or cheap external Git (and other) hosting services is a huge plus. We have our own server at work, but for my hobby projects I use a freebie account and it’s great.
I also agree that Unity should focus on what they do best rather than reinventing wheels. I think it’d be far more beneficial to pick an existing 3rd party VCS solution and provide in-editor tools and official documentation than it would be to put more time into the Asset Server. Yes, the Asset Server is far and away better than using nothing, but my understanding is that it was created because Unity didn’t play well with 3rd party systems at the time rather than because they thought they could do it better. Now that Unity is nicely compatible with other VCSs I personally think it’s pretty near a no-brainer to use one of those. Here’s a few reasons off the top of my head:
Asset Server can’t store stuff that’s not in a Unity project. It’s pretty common to have a bunch of living collateral that goes along with a project, why version it separately (or not at all) when you can chuck it in the project’s own repo?
Many options for hosting. Run your own in house or online, or use one of the many great existing services, many of which are free.
Data in the Asset Server can only be read/written via the Asset Server. (This was a headache for me on a number of occasions where the Asset Server service stopped responding for whatever reason. With Git we can just point our clients directly at the repo and we’re rockin’, where with the Asset Server someone had to stop work there and then and resolve the problem.)
Branching sounds crazy and daunting, but it’s not that difficult and it’s incredibly useful. The only way to branch with the Asset Server as far as I can tell is to temporarily stop using it or to clone the repo (which I don’t remember there being a tool for). For significant changes one of those things would make merging back a nightmare and for all practical purposes the other would make it impossible.
Anyway, while I have no problem with using Unity+TortoiseGIT+BitBucket, I think unity should cut the middleman and offer built-in client for most popular version control systems. At least Git/SVN, maybe hg and cvs (but not required as very few people use those nowadays).
Did you manage to resolve the problem where Unity Version control gets slower and slower on every check-in and get?
There came a point after six months of work, the Unity Version control took hours to do an update. Few days later, we switched to SVN and never looked back.