The Downfall of Unity

It finally happened. In retrospect, there were many early signs that something of this caliber was going to happen at some point, but I don’t think anyone was ready for such a big hit, so soon and so strong.

I’m writing this post on the aftermath (or what it feels like) of the Unity Runtime Fee fiasco. Things may have changed or evolved since then, but I thought it would be useful to be part of the discussion in some way, even if I’m shouting into the void.

I wanted to provide some insight into the whole situation from the point of view of someone who started their career in the games industry with Unity many, many years ago and holds this company and its engine very close to their heart.

But also do it from the point of view of the actual real-life effects and changes it brought with it on a personal level, and not the financial burden or the price changes, which seems to be what everyone is focusing on.


The Money


For that though, we need to go a bit back in time and talk about money first. I know I said I didn’t want to get into financials on this post, but I think it’s important to understand how Unity was monetizing the engine back then, as it’s quite different from the current Unity subscription tier system we know today.

Originally, (and by that I mean Unity v3.x) Unity would allow anyone to export their projects for standalone platforms (PC, Mac & Linux) without having to pay anything, while they would charge for all the other platforms, separately.

If you wanted to export for Android, iOS, Windows Store or Windows Phone (🪦) you had to purchase a license for each one, individually, and alongside that also pay for a “Unity Pro” subscription. The price back then was as high as $75 per month per platform + $75 a month for the “Pro” tier.

That meant that if you wanted to make a little game for mobile and target all major platforms, you would be looking at $300 a month (yes, I’m counting Windows Phone. Or $225 without it).

There was a Personal (free) edition, but it would not allow you to export to any mobile platform. Essentially, if you wanted your game on mobile, you had to pay.

This may seem an insane price, as the current price, (that is, the one before the announcement) is $2040 a year, or $170 a month. That’s a major price difference (and I didn’t even factor in inflation, as these prices are essentially 10 years old or so).

The difference here was, that Unity would also sell major Unity versions per year as lifetime licenses, which would cost $1500 for Pro + any extra export platform for another $1500. This meant that you could just pay Unity for the software in advance, get all the tools you needed to make your game immediately, and stay in that version (and up to 1 year of updates) at no extra cost, forever.

Original Unity pricing

Not only was this business model much more friendly for everyone who didn’t want to tie themselves to a subscription, but it also incentivized Unity to keep pushing the engine towards new features every year, trying to push those who purchased the lifetime license into renovating or switching to the subscription model (which brings more revenue in the end).

Then things got better before they got worse.

Around 2016, Unity reworked its entire pricing, similar to what happened recently, but this time was to make the whole system much more affordable and simple to understand, not the other way around.

They also slashed their prices considerably, going down to $125 a month for Unity Pro, they got rid of the add-on prices for platforms (essentially, all tiers, including free would now have support for all platforms), and overall simplified the entire pricing structure. And that was a good move.

They did get rid of the lifetime license, but is not as bad as you may think. Instead, they moved it behind the Unity Pro subscription, where now you had to be subscribed for 24 months, at which point you would receive a perpetual license for the current Unity version available, regardless if you kept paying or not. And this would keep happening every 24 months (or until they changed the terms, foreshadowing).

They also introduced for the first time Unity Plus, a subscription tier aimed directly at all those developers that kept playing around in the engine all these years, but that didn’t want to (or couldn’t) afford the quite high prices to go “fully professional”. Unity Plus, at only $35 a month, allowed anyone to feel like they were part of the professional branch (no splash screen, access to cloud services) without having to fully commit to it (including a raised $200,000 revenue limit).

And I would argue that this, in the end, is what mostly mattered. It felt like Unity really cared for the little guy, and that all the changes they did made sense. Unity Plus, alongside the changes to the pricing structure was the stepping stone many developers took to fully immerse themselves into the ecosystem, and most likely helped create many of the studios that still exist to this day. Even though Unity at the time was growing fast, it didn’t leave behind anybody and was fully embracing the community that put them in their advantageous situation in the first place.


The Community


I got into Unity at a very young age. I started playing around with many engines, specifically something called “001 Game Creator” (I checked, and they are somehow still around) and another 3D engine of which I forgot the name, and even after an exhaustive Google search I managed to find nothing about (If a “Buggy 3D tutorial” rings any bells, from around 2014, please let me know the name of the engine because is driving me crazy). But, to be honest, they were never going to succeed in comparison to Unity.

Although I tried to like them (and did some basic stuff in them, to which I don’t think any surviving screenshots exist) Unity was the engine that put me in the position that I am now. It was my entry gate into game development, my little sand pit where I could explore and learn the basics of not only game engines, but design, UI, UX, and many many other useful skill sets.

And it seems like that was not my isolated experience, but rather the development path that many people that are now in the industry took.

Even back then, when Unity versions came in single digits (I started with v3.8!), and the Windows editor was a “new thing”, the engine felt like the right place to be. For such a small “indie” and early software, the community behind it was quite huge and active. You could ask questions on their forums and get a decent reply in a couple of hours. But for the most part, you didn’t even have to ask anything, because most likely someone else already asked and got an answer before you.

As I grew in the industry, and my knowledge expanded, so did Unity. The engine grew from the indie and hobbyist scene into the AA and AAA markets on PC, while taking over the entire (very young at the time) mobile market by storm, as it was the only game engine at the time that could fight the proprietary and native engines of the big studios and publishers, and it wasn’t based on Flash (Steve Jobs hated it, so the iPhone never actually supported it).

But, even though Unity was in an amazing position at the time, and could have milked every single developer using it, it didn’t. Why? Because they cared. They cared for the community, and the community reciprocated in waves.

If you tried to get started in any other engine or software at the time, the amount of resources available was extremely limited. You would even get Google results about Unity when searching how to fix your issue in Unreal or GameMaker. It was the engine for students, hobbyists, developers and professionals. For everyone. It just worked.

And then they went public.


The IPO


An IPO, or “Initial Public Offering” is the first step (not always though) that a company will do before ending up in the stock market. We need to understand that the situation we now encounter ourselves, didn’t happen this week, last month, or a year ago. These things, even though they seem like it, don’t happen from one day to another.

In my opinion, we can trace the start of the current issues all the way back to 2018, with the release of the Unity Hub.

For those that don’t know, the Unity Hub is the launcher that allows you to install and manage your editor installs, projects, and more importantly, licenses. Even though at the time I welcomed this addition to the software suite as a way to cut down on the clutter of having many icons on my desktop for each version, this was the start of the control-driven era that Unity was embarking on, as they were getting ready to go public.

Any publicly traded company has a single target in mind: Growth. A public company that has no growth is a dead company, and therefore no one will want to buy it. Or at least that’s how the stock market seems to operate, as stupid as it sounds. Therefore, if Unity wanted to appeal to investors, it had to grow, and it had to grow fast.

Unity as a company had its vision in an IPO way before the Unity Hub in 2018, as the current CEO was put there in 2014 just for that goal, so arguably this all started many many years ago.

Why do I mention all of this? Well, because a public company will by default have to shift its core goals to growth and profit if they want to succeed, and that means that the original vision and the community behind it will become a second-class citizen to all this.

Fast-forward to today, and Unity is now a profit-focused business, with many investors and much less control over what they can and cannot do (even less after the IronSource merger, but that’s off-topic). Increasing revenue streams and improving current ones are part of the core duties a public company should focus on, and honestly, I don’t blame them for that.


The Fee


I’m going to play devil’s advocate and be the one to say that I don’t blame them for the changes they are trying to impose now. I don’t think the runtime fee is such a big deal, or as crazy as it seems. Unreal has had a royalty-based system since the start, and 5% is no small number.

Let me be clear though. Do I believe that using “installs” is a good metric, or that the prices listed in the table (a very badly designed table, by the way) make sense? Of course not, that’s just borderline insane. It’s clear that internally this was all orchestrated by financial people with revenue in mind, and not a single developer was able to do anything about it.

As I said, I won’t get into why this is very, very stupid (there are much better write-ups about this, with fancy graphs you can go look at) but I think is important to point out, again, that it is very stupid. In the same way, artists are not running marketing campaigns, and developers are not making art, financial people should not be making decisions about how to monetize and run a developer ecosystem.

And, to add to the fire they got rid of Unity Plus, the original stepping stone for many indie developers into the industry. They literally put the “Made With Unity” splash screen of shame behind a $2040 paywall.

Going back on topic though, asking for more money for something that is driving a multi-billion dollar industry, shouldn’t be (and is not) the core issue here. The main issue is that Unity is not driving anything anymore, and I don’t think they realized that just yet.


The Problem


If you use Unity professionally or just play around in it, you’ve probably realized that update after update, it seems the new and “industry revolutionary” features they used to push and be the main drivers of, started to silently disappear.

Go to any old release notes blog posts from the Unity 5 era, and you will see what I mean.

Don’t get me wrong, there are many new “things” currently going on at once, it’s not like they stopped R&D, but none of them are good enough for production, or stayed stable long enough for anyone to learn how to even use them.

I still remember when new features like the progressive light-mapper, the switch to uGUI from GUI or the implementation of Vulkan would drive the new versions of Unity. There were major changes to the engine that were feature-ready and production-ready on day one (minus some bugs).

Instead, what do we seem to get now? Addressables, Scriptable Render Pipelines, DOTS & ECS, UI Toolkit, new Input System etc. to mention a few. All of which are amazing new features, arguably bigger than what we used to get, but they all came in horrible state:

  • Addressables never really replaced any other asset management system.
  • SRPs segregated the community into multiple different incompatible shader pipelines
  • DOTS changed so much over the years that it became a joke
  • The UI Toolkit still does not even support animations.
  • The new Input System is still disabled by default and must be enabled on demand.

What’s the thing that all these broken or forgotten “new” features have in common? Lack of commitment. Unity hasn’t committed to any of them. None of these things replaced any of the features they were aiming to “improve”, but rather became “the next big thing” that was eventually forgotten a couple of years down the line.

Unity has grown so much, and went into so many different industries and markets, searching for that growth, that has lost itself in the process.

The Unity website seems to change designs every couple of months, pivoting between games and “real-time applications”, or RT3D (I hate that acronym). No one seems to know what Unity is supposed to be anymore. They started to target the big industry, cinema and interactive markets, architecture, etc. They tried to appeal to everyone, to be the “engine for everything”, and in doing so, lost the amazing niche position they had as the #1 mobile engine and indie community-driven engine.

As I said, Unity has not been driving any innovation in the industry for years now. Unreal has gone out and pushed things like Nanite and real-time lighting out, implemented new technologies like ray-tracing and DLSS into the engine and overall pushed for the future of standalone gaming where it is now the main driver.

The community knew that, but they stayed by Unity’s side, many hoping it was just the growth phase, and that eventually, they would come back to gaming. But that was the mistake we made.

We got complacent.


The Downfall


Unity thought they were untouchable, that everyone would just bow at them and accept the changes they imposed, because well, they were the only engine to use, like Adobe or Steam are the destination of designers and gamers, respectively. Sadly, that couldn’t be farther from the truth, and better yet, now everyone can see that.

I’m gonna speak for myself here, but I believe this may resonate with a lot of people: We have buried our heads under our entitlement of “I know Unity, and I don’t want to learn anything else”. We didn’t want to learn Unreal because “Unity can do it too”, and Godot was nothing more than a “nice project that is not ready for production anyway”.

Remember when we used to create new engines for each game we made? We got so complacent in the comforts of Unity that we let a company control our ideas, revenue streams and overall game design. And what Unity did now, inadvertently, is free all of us from this mind prison we put ourselves into.

I feel like for the first time in many years, many of us are back in the wild, discovering the hidden and underrepresented side of game development. All the amazing open source (or not) engines available in today’s world, things that no one would have even thought about researching before are in everyone’s mind today.

We live in such a time and age where hundreds of other smaller, niche engines exist. Niche engines that will most likely cover your exact game idea or project. We have AI chatbots that can reply to our questions and write code for us, programming languages that are getting easier each day, smarter compilers and game development barriers so low, that making a new game is as easy as opening Roblox and dragging two cubes together.

I personally feel the rush again of learning something new, getting frustrated by C++, amazed by GDScript, or going back to basics with Lua. I feel that part of me that was “settled” into Unity getting up from the philosophical sofa they were stuck in for many years, and exploring the outside world.

What does that mean for me? Well, I’m going to explore what’s out there, port some stuff to Unreal, make some games in Godot, and try to understand what Defold is.

It doesn’t matter if Unity reverses every single change today (and based on the last official messaging from them, it seems they won’t) the damage has been done. Damage that for them may be fatal, but that for us signifies a second chance.

I’ve been forced out into the wild, but I like it here. I don’t think I’ll be back anytime soon.