Or, a slightly more nuanced take on Unity’s latest pricing model
Unity is great.
The product, that is. The Editor and runtime. It is one of the most flexible and performant game engine solutions out there. It targets a huge number of platforms, from consoles to the web. It’s also more than just an engine - much of the functionality present in the current Unity versions is the kind of thing that I’ve spent years of my life creating at other companies, and it’s available to developers - for free! (more on that in a minute).
I’ve been a Unity user since 2009 (version 2.x) and have used Unity commercially since 2010 (Version 3, and every version after that). I have recommended Unity as a development environment to multiple companies. When we set up BossAlien, Bangs, George and I went all-in on Unity as the engine of choice for creating our products, leading to CSR Racing and the resulting sequels.
Since moving on to found Evryway, I have used Unity for every single project apart from two (which are using web technologies directly) - literally dozens of different applications covering AR, VR, mobile, web, desktop, with clients ranging from government agencies to huge international corporations, down to tiny prototypes for personal use.
I’m a big fan.
Unity is schizophrenic.
The company, that is. Over the years (certainly while I’ve been using it) the company has shifted from being funded by developer licencing fees to - well, currently who the hell knows where the revenue is coming from? digging into their latest quarterly report isn’t exactly crystal clear, there’s a whole slew of different revenue streams grouped under somewhat opaque terms such as Create and Grow and Muse and Sentis.
There was a period right at the start where the priorities of the company matched those of the average development team. Making great tools enables great products, developers pay a fee to use the tools, everyone wins. Of course, it’s hard to sell something more than once, so after a few years, Unity moved from a perpetual licence model (which I have, personally, and it cost me thousands of dollars) to a subscription model - pay yearly. Pay by the seat. Give us more money every year please.
One can’t be too hard on this model - after all, if you can get away with it, why not? All of the good companies are doing it (Adobe, Autodesk, Oracle, etc). And supporting a product as complicated and wide ranging as Unity does require investment. Without some form of revenue share, developers can be making huge amounts of money off the products created with the tools, and Unity doesn’t get a sniff of that.
Can you imagine if you wrote a great book in Microsoft Office and they started demanding a cut of the revenue? Hold that thought.
Right about this time, it also became clear that actually, this wasn’t really their primary revenue stream. The primary revenue stream was Enterprise licences. Charge large teams large amounts of money for support, and ka-ching.
Of course, this introduces a fundamental tension into the product. Simply put, you are better off not fixing problems as they occur, because you can bill someone for support to fix them later.
As someone who paid for this (and then stopped paying for this, because the help wasn’t worth the cost), it became very clear, very fast, that if you were not paying for support, you were going to get very little help with your issues and problems. I’m incredibly lucky to know lots of people who are working for, or who have worked at, Unity, and often I could go via back channels to discuss an issue or get something fixed, but if you go in via the front door - good luck with that. Forums that go nowhere. Help pages that have broken links. Features that are released half-baked, and get worse as time goes on, but are intended to replace some other broken system which is now officially deprecated.
The stability of Unity (the product) has hugely improved over the last few years, but from version 5 to version 2018 it was a totally different story, and supporting something like CSR Racing across multiple platforms, utilizing lots of the built-in technology - suffice to say, I’m bald and grey for a reason.
But that revenue stream still wasn’t enough. Unity wanted a cut of your revenue.
Unreal engine already decided to do just that. Then Fortnite happened, and suddenly Epic had literally billions of dollars to throw at engine development for Unreal, and at this point, Unity is fucked. Because they can’t compete in R&D budget, and they can’t compete on looks, and they already have a perception (right or wrong) for being the platform you go to if you want to make free to play shovelware using asset flips and kitbashing from the Unity Asset Store (another revenue stream that brings tension to developers).
Now, as soon as John Riccitello took over as CEO, anyone with a view to his history knew the road we were all about to travel. I was working at EA when he was president, and his deep knowledge of baked goods informed the strategy of one of the largest games publishers in the world. He’s a smart guy, for sure. And he wants to pump this company, goddamnit, and sell it for the absolute maximum he can achieve, and move on to the next big thing after that.
Looking for other revenue streams, Unity has branched out into cloud services, advertising, enterprise tools and technologies, and all sorts of additional services that have very little to do with just making good games. And they want developers to pay for all of this stuff, somehow, somewhere (especially if it’s “free”).
A massive acquisition spree later, and we’re looking at a company with about a zillion different divisions, targets, goals and client bases, perfectly timed for the end of the cheapest debt market in history and the impending inflation apocalypse.
This is filled with so much WTF that my WTF meter is spinning backwards.
I get it, I really do. Unity wants more money, and they can only rinse developers so hard up front, and they want the tools to be available to as many people as possible - and Unreal’s up one end squeezing, and tother end is being pushed by Godot and the like.
But installs? Are you kidding me?
Who the hell thought this was a good idea?
Much of the scurrilous gossip I’ve been bantering around today has been about how this has to be a PR Bomb - deliberately ridiculous news intended to allow for a few backwards steps, to the point everyone says “well, those changes aren’t so bad compared to that ridiculous bullshit a few days ago”. One has to hope, I guess.
On the plus side, if these changes do go ahead as advertised, it might kill the free-to-play shovelware market - at least, the slab that’s actually making money. So, I guess not most of it.
But, back to revenue share. I can certainly see how, if each player of a game is actively costing Unity money (for example, if they’re using leaderboards, or cloud storage, or other online services that have a tangible per-user cost), that Unity can and should feel justified in charging some per-user fee at some point.
And of course, if the other players in the market are selling their product “free up front, pay later when you get rich”, why wouldn’t you want a slice of that too?
But this sort of nonsense only flies when there’s really no other alternative out there. Just because it’s becoming normalized by everyone who can do it, doesn’t mean recurring subscriptions and revenue share and other blood-from-a-stone mechanisms are good, especially not for the developers (and ultimately players).
Blender is a thing, now. Remember Lightwave, then 3DS Max, then Maya, then what the hell Autodesk? Software changes, and alternatives appear, and then they git gud, and then your market is gone. Because you killed it.
I really hope that Unity backpedals on this. Just go for a revenue share model, figure out something that balances the books so we can all carry on using the *actual tool we want to use (because it’s great) and stop making lives harder for everyone.
And to all my mates still working at Unity - please don’t take any of this as a personal attack, you know I still love you ;)
what does 3 Billion in goodwill buy you, exactly?