Source Versioning with the unity free version

Hi,

currently I’m doing just tutorials but I wonder already how to tackle the versioning of sources / assets if you just have the free version of unity.

I’ve read already some answers in UnityAnswers but I’m still confused about this topic. With monodevelop it should not be a problem to connect to SVN. Is there any feasible way to do this also for the non-script assets or does it make simply no sense…and if not how do you tackle it…just making regular backups?

Thanks for your inputs.

It makes no sense cause you can’t change stuff from different ends, the library will blow up on all others end if you are not on unity pro and have vcs support enabled

I also dont understand this. I dont see any reason why I cant have my Assets folder be a working-copy of a subversion repository. (of course it would be annoying to have these .svn directories hanging around in my project window in Unity.)

Can someone explain the technical reasons why it “blows up”? I would like to understand and not just take it for granted.

Because the library folder does not respect external changes pretty well. if you change something on another machine and commit it, there is no guarantee that the references etc stored are the same for this project → boom (missing reference, errors and other things)

the library cache folder etc are monolithic basically, no 2 distinct entities are meant to mess in it (thats why you can’t open 2 editors for the same project either - the same problems)

But as always, feel free to try it out and see firsthand what can happen and what not, will give you more insight and also a better, intuitive understanding than stuff on the board :slight_smile:

yeah, give it a try. I advise you to back up your project first, though.

I’ve tried it in the past. It works perfectly for code, and it works perfectly for assets… until this happens:

Bob gets latest
Bob starts working on stuff
Joe gets latest
Joe starts working on stuff
Bob commits his changes
Joe tries to commit his changes, but is forced to update. BOOM! Conflicts!
Joe tries to resolve conflicts. Oops, they’re all binary files; no can do.
Joe is forced to revert all of his changes just to get his copy working again.

It’s the most stupid setup imaginable, and it’s completely unacceptable that any team larger than one person cannot sync files using source control without buying Pro. Yes, I’m complaining directly to you, Unity folks. Fix it.

The only workaround I’ve found is to have each team member export their work as Unitypackages and consolidate them into a single, official build.

In short, It works ok if you’re the only developer.

If there are more developers than that, links between objects/components and parameters are lost when you try to integrate another guys changes.

They have a 5 Part explanation on how they handle source control with the free version.
http://bitflipgames.com/2010/09/13/tips-for-working-with-unity-1-source-control/

They basicly have a dedicated build machine. That’s probally the way I would go to.

Its no bug, its by design.
Anyone able to hire a team of 3-5 persons where it starts to become relevant is legally required to get pro anyway and this little limitation ensures that you don’t smart-ass out of it by only using remote workers sneaking through the gray area

But unfortunately it impacts upon Indies and freelancers negatively

There is a massive difference between finding 3-5 people willing to help out, and being able to afford $2000+ per person. :frowning:

I don’t begrudge unity of course.


My advice is as much as possible work on completely different things, and have 1 person integrate it all together.

I would argue very much that anyone with a team of 3-5 people can afford Unity Pro. I’m a hobbyist with a budget of zero, so my teams consist of close friends, not hired helpers. I had to cancel one of these projects that had only two people (!!): myself as programmer and lead gameplay designer, and a friend as artist and level designer, because we simply had no good way to share work.

I’m mostly happy with the Pro-only features as a Free user, but source control being Pro-only is unacceptable. It’s just bad business to essentially force* any team larger than one to pay >$1k per person.

*Yes, there are ways to share assets without Pro but they’re mostly a tremendous pain in the rear.

Agreed, hobbiest might fail on that end.
But UT has to pay 100 or so workers, with another 30-40 positions vacant just on the dev side and hobbiest dreams at $0 just don’t pay them, no matter how you turn the tide and the small revenue on the asset store does not work as a replacement for pro licensing (I conclude the “small revenue” from the fact that brady made most in Q1 2011 and that were a mere 15k, which means that UT made only 6k on that end … at 10 times that we would be starting to at least approach a level where UT could consider dropping pro altogether in favor of more customers on the store, but not with such sales figures as the Asset store has at the time going by such numbers)

And if you agree that VCS is pro only really doesn’t touch me much I fear, I was already unpleased to find out that VCS became a pro feature, not an AS only feature as I still feel that the Asset Server support lacks seriously for the fee asked for it (the 2.0 server upgrade didn’t bring much aside of windows support and installers that are broken on nearly all 3 platforms - the client side hasn’t gotten any of the crucial and long requested functionalities at all, not even basic scene merging or prefab conflict resolution).

and no I don’t think its bad business because the moment UT removes that requirement, and there i’m willing to bet money on, we will see plentoras of sucky wanna be teams that buy 1 pro license for build server and otherwise use free. some already do this totally illegal measure at the time as I know out of experience.
I assume that similar things are the reason why the binary format is there and not plaintext, cause technically plaintext would only have one drawback, thats load time, anything else is better (as compressed directories on win and osx would get the filesize lower than what they are at the time), but the moment its plain text it will be missused.

Blame it on smarty pants, illegal “I don’t give a shit on your future” wanna be devs etc that you have to pay or the fact that you expect your boss to pay you too for the work you do all day.
Just cause you don’t use unity professionally does not mean that you are entitled of hundreds of thousands of man hours for free as your financial success is no condition and criteria on the value of other products, otherwise cars would be free with all the drinking, siffing, stupid people that actually own and drive cars :wink:

Also, don’t forget: There must be serious reasons to update to pro, otherwise the other 480k free users won’t do it and if they don’t do it, there is no money for the next unity version. We that own pro didn’t upgrade just for the fun of it and neither will you and if you say flat out that you don’t intend to do it, then it would be your problem as you get what you pay for and $0 only entitles persons to get what the dev decides to give you for not paying his efforts.

Bringing up this topic all 2 months btw won’t change it, it leads to the same kind of discussion and the same conclusion and that is thta it does not change it - pay or life as “hobbiest that works on his sparetime with 1-2 friends” where package export - import and some basic coordinate on who works on what is more than enough to work together

I don’t really understand your post; did you type it quickly? Correct me if I’m wrong, but the main point of your post was that I, as a hobbyist with no budget, have no right to demand features. Am I right? I really don’t want to argue against a post I misinterpreted.

The point I’m trying to make is that source control is not some thing that only pros can use, like RenderTexture effects, profiler, etc. Even one-man teams should, in theory, use source control. Two-man teams are impossible without some form of sharing, and package sharing just seems like a huge unnecessary pain, especially compared to the rest of Unity’s workflow, which is the easiest thing I’ve ever seen.

You say that I can’t expect UT’s hard work for no cost, and you’re right. I was stunned when Free got basic Beast support and other nice features in 3.0. The thing is, Unity’s already implemented text-based metadata for Pro. They would literally have to flip a switch and Free users would get it. They’re only limiting it because they see it as something only Pro users need… and I’d like to know where they got that idea.

Let’s also not forget the reason Unity Indie went Free in the first place: they want to spread the word about Unity and get it in the hands of hobbyists, so that when/if they succeeded and started making some money, they would immediately want to buy Pro. That’s good marketing; it’s the first thing I’ll do if I make $1500 from a game. I think source control support fits in that role nicely. One-man coding armies don’t make it very far in the gaming world, so why make it so tough on small teams?

There are other free game engine with similar capability as unity which have fully functional VC support for free perhaps try them if Unity doesn’t do the trick for you…

If they start bleeding users because of lack of features like this it will eventually force them to address the issue actions always speak louder then words :wink:

Another way to look at the “incentive” to buy the pro licensing is that it is in Unity’s, and their customers, best interest to transition from small developer in the garage with little to no funding, to a self sufficient developer actively developing commercially viable games, as quickly and efficiently as possible.

It’s always seemed to me that this “incentive to buy pro” for extra features is a foolish and unnecessary distinction. Either people have 1.5K, 3K, or 4.5K dollars per license to risk spending on the product, or they don’t. I’d venture to guess that the number of individual people or teams who can conceivably make a game that is commercially viable, but don’t have the money to spend on Pro licenses, far exceeds those that can afford the Pro license right off the bat, feature delta or not. So every feature you exclude from the free version is just putting those that can’t afford the Pro license at a disadvantage with those that can, and making the transition to “commercial developer” that can and will buy the Pro license, that much more difficult. It also requires that Unity internally control far more versions of the product than is necessary.

I can understand holding back features that require external licensing deals (like Beast), but for simple features that are or have been in the product for a while, are in competitive products, and are developed by Unity, it doesn’t make sense to me to exclude them from the free license, because I think the number of people who will gather together 1.5 or 3K or 4.5K of their own cash and take the risk, to get the extra features, are few and far between. But then again, I’m the type of person that would have preferred to have all the home grown Pro features and pay a $200 “indie” fee (similar to the way it used to be with the feature limited version), then upgrade when I hit the 100K in revenue mark, even at a higher price than what they charge now.

Anyway, I’m sure it’s something that would be interesting to research from a market standpoint. I can certainly get by with the free +iphone basic license I have now for the near future.

I don’t get to use unity much except for fun on my own because there is no way to collaborate with my developer friends I’ve met over the years. It’s not easy to make money as a game dev doing your own thing and without collaboration it’s unlikely that many people will have the skills to produce anything worthwhile without spending years learning both coding and art.

In order to justify purchasing something, you have to be confident of getting a return that will pay back your time and expenses even if it’s just a couple of $ an hour and the chances of most individuals getting $500 let alone $1500 from their first couple of games is pretty remote on the pc or mac without either a LOT of time and talent and being competent at marketing which is a difficult job all by itself.

Unity is pretty much the only game dev solution I know of that has a weird directory structure that makes using version control prohibitive. Not just by the way the engine was designed internally, but by design and using a simple hack added to the pro version to get around it.

I’m a big fan of unity and it’s simplicity and how it empowers the individual developer. But no VSC makes the free version all but useless asanything but a demo disguised as a free solution for those on a limited budget. Very few individuals have all the skills necessary to produce a finished product on their own.

A quick search for “subversion” will give you the following thread in which I describe how I overcame Unity’s hatred of free version control:
http://forum.unity3d.com/threads/43876-can-I-use-subversion-to-manage-my-unity-files?p=279261&viewfull=1#post279261

@Tysoe: If unity is pretty much the only one, I have the feeling that you didn’t try many other engines in the higher class sector (comparable to Unity, not comparable to Impact 3D or Visual 3D) then.

There are “indie with no serious aspiration” engines that don’t have the limitation, thats true, but if you go upward from Unity instead of 3 steps back you won’t find engines that don’t have similar limitations and most of them don’t offer any $0 license at all (nor even $1500 / seat one time licenses)
UDK is the only case that even offers such a license where broke / “I don’t want to pay” devs can even get their hands on and as far as I’m aware, UE always has been an even larger hell on earth when it comes to VCS than any other solution as you can use what UE offers inbuilt or nothing and perforce costs more per year than Unity Pro for a normal indie team license wise cost one time.

I cannot - and would not presume to - speak for UT, but I would guess that you’re close, but not quite right. They’re not limiting it because they see it as something only Pro users need, but rather because it’s something people might be persuaded to buy Pro for. They could get that idea from everyone who complains that it’s not in the free version. So ironically, the more you tell Unity to “fix it”, the more you convince them that their policy is working. Is my guess.

I think the “missuse” aspect is a strong reason its not available in none pro either, as otherwise a team of free user + 1 pro build server would feed whole remote teams and stuff like that.
The only way to overcome that will not be opening up VCS but bringing asset server to the free licenses either directly or as an addon license and then sell “# of users” licenses for the server side, hosted by UT in a cloud or something similar outside the reach of the end user for missuse