Update 9/27/2023: At the end of last week, Unity put out an announcement about their planned runtime fee in response to its initial negative reception, saying that they plan on changing the fee’s terms to be something more amicable towards developers. They’ve also provided more details on the runtime fee's FAQ page as to what the updated cost structure for the runtime fee will be. I haven’t had time to fully sit down and digest these changes, but when I do, I plan on posting a follow-up post breaking down the ways in which the new fee’s terms have changed — and how they’ve stayed the same — from what was originally announced when I wrote the initial version of the blog post that follows.
If you follow game developers anywhere across our increasingly fractured social media landscape, you may be aware of a pretty big change in how one of the most popular game engines does business. Namely: Unity is now charging developers a fee on a per installation basis for any game that uses their engine’s runtime.
In simple terms, this is what they’re doing: depending on which tier of Unity you use — Personal, Pro, or Enterprise — you will now need to pay the per-installation fee after a certain revenue and installation threshold is met. For Unity Personal users, this starts after $200,000 in gross revenue and 200,000 individual game installs. For Unity Pro and Enterprise users, these metrics are increased to a million in revenue and installs. After these figures are exceeded, you have to pay a small, flat fee for each individual download: twenty cents per install if you’re using Personal, and between one and fifteen cents per install if you’re using Pro or Enterprise.
Unity Plus, a tier that sat between Personal and Pro that a lot of indie developers enjoyed using because it offered a few popular Pro features without being as expensive, is being eliminated, and devs are being automatically upgraded to Pro and getting charged the increased rate.
Theories abound about why Unity is making this monumental shift in the way it does business with developers: some claim that it’s to push free-to-play mobile games towards using their mobile ad platform, because apparently they’ll waive the per-install fee. Others claim that it’s a tactic created to shore up earnings after Unity made bad bets on acquisitions like Weta in order to make Unity more appealing to visual effects artists.
Whatever the case may be, one thing is for sure: this change is bad for game developers, and it is especially bad for indie game developers.
It means Unity, ostensibly one of your game studio’s business partners, can change their contractual agreement with you at any time
This is, at best, a scummy business move and, at worst, possibly illegal. Unity knew how unpopular this change would be, going so far as to cover their tracks by removing the part of the terms of service that allowed devs to remain legally bound to a previous version of the terms if they never updated their version of Unity. They also removed the Github repo that tracked changes to the terms of service, so that no one could see that this change occurred.
Decisions about what game engine a studio should use for a project are made years in advance of a game’s release. If developers knew that Unity would charge them by the install rate, they would have simply chosen to have gone with a different engine.
Per install is not a reliable way to track revenue share
Over the past few days, Unity has changed course on what they originally considered to be a valid install of your game. First it was going to count reinstalls of your game on the same device, then it wasn’t. Then it was going to count pirated copies or copies you gave away in charity bundles, then it wasn’t. Now it will charge for installs of demos, but only sometimes? This constant revision of their terms is not the practice of a reliable business partner.
It’s also not the industry standard way of tracking revenue share. Most engines and middleware either do a monthly or annual licensing fee or a percentage of revenue after a certain milestone. Unreal does this, requiring five percent of worldwide gross revenue, but only after a game surpasses $1 million in revenue — which is up from from the previous threshold of $50,000 in revenue, and before that metric is hit, Unreal is entirely free to use.
Before Monday, Unity utilized a monthly and yearly subscription model with their different software tiers, but the new per-install fee is done in addition to the subscription fee, not in replacement of it.
Unity’s method of tracking valid installs is unknown to developers
Unity says that they “leverage their own proprietary data model” — essentially a black box — to track installs and to separate legitimate installs from pirated ones. In the case of a traditional revenue share, the developer’s revenue is usually self-reported to the engine licensor, and the revenue split owed to that licensor is negotiated in good faith.
But allowing Unity to dictate your install rate to you in good faith ignores the power imbalance at play. Unity is a multinational company with over a billion dollars in revenue. I am a self-funding developer with a day job and a handful of contractors. If I accidentally underreport the figure I owe to Unity, they are out only a pittance. If they overreport my install rate to me, I may be out of business.
Combine this with the underhandedness of removing their old terms of service from Github, and the evidence starts to mount that you’re not working with a business dealing in good faith.
In certain cases, you could end up paying more in fees than you ever generated in revenue
Unity has claimed that due to the 200,000 and 1 million install and revenue milestones, the new install fee will only ever affect the top ten percent of developers. The problem is that that ten percent includes almost all of the games using Unity that you know and love. There are plenty of small-earning games in the remaining ninety percent, but an overwhelming amount of that percentage is made up of hobbyists, educators, and other developers giving their games away for free.
Because the install fee is a fixed rate regardless of the price of your game, games that sell at lower prices benefit less from the economies of scale that come from having a wildly successful release. For games like Vampire Survivors or Among Us — both made in Unity — their low price is now a detriment, since one to twenty cents is a larger cut of a five dollar game than it is of a sixty dollar game. A more equitable solution would be to keep the revenue share as a percentage of a game’s earnings. That way there’s no possibility for a developer to be liable for fees that cost more than the money they’ve earned.
In at least one case, the new model would in fact do that. This anonymous mobile dev took to Reddit to show that, under the new install fee, they would owe more than their total gross revenue. Even at the lowest fee of one cent per install, against 102 million installs, they would end up owing $1.09 million in fees against their $1 million in revenue, bankrupting them.
Unity is far from a perfect engine — it has multiple rendering pipelines that are not well supported, features are frequently added half-baked and then abandoned, and they don’t dogfood their own engine internally, which leads to a severe disconnect between what features game developers want to see and what the engine-maker chooses to prioritize.
However, the Unity engine helped usher in an era of more accessible game development. There are tons of other engines out there — from GameMaker to Godot — but none of them had the initial versatility and usability as Unity. Heck, even Unreal was far more closed off when Unity came onto the market, but now you can download Unreal for free within the Epic Game Store launcher! And the Unity Asset Store adds a huge range of extensible features by a ton of other developers. Some of which, for good and for ill, get snatched up by Unity and become an official part of the engine.
And Unity allowed myself, as well as so many others, to find an accessible engine to get a start in the industry. Unity is leveraged by so many studios, from indie to AAA, and allows folks in the indie and hobbyist space to potentially find full employment with marquee studios that utilize the same technologies that we do on our side and passion projects.
But now, with this new announcement, developers are scrambling. Everyone is compiling a risk assessment about whether or not it’s worth it to switch engines mid-development or if it’s too late and to stick with Unity for now and eat the costs if their game becomes successful enough.
Some studios like Mega Crit, developers of Slay the Spire, have openly stated that they will be looking to switch away from Unity in the middle of their development cycle for their new game. This is costly, as it requires reskilling your development team on new tools and pipelines, porting your entire game over to a new technology, and learning what from your old processes do and don’t work in a new engine. However, this is ultimately less costly than the potentially bankrupting practice of being charged a fee every time someone installs your game on a new machine.
The announcement also makes our business dealings with potential external partners rockier. Mike Bithell has stated on Twitter that indie devs should consider factoring the costs of switching to a different engine in their budgets. Will that make our games less appealing to publishers, investors, and platform holders because we either need additional development resources and time to switch engines or will incur more fees by sticking with Unity? This is especially alarming with Microsoft and Game Pass, who, according to Unity, will be footing the bill if we come to their platform. Will we see a whole generation of Unity-made games vanish from Game Pass because it’s simply too costly to pay each game’s install rate? Install rates that, I reiterate, Unity is completely determining on their own?
I have spent over ten years working as a developer in Unity, and it absolutely sucks to see a platform utilized by so many bright, creative folks be leveraged to squeeze as much money as possible out of them. I am, unfortunately, on the hook for staying in Unity for Ward Games’ current project — we’re three years into development and I personally feel like the switching costs are currently too high for myself to learn how to port the project to a new engine without external help — but if this current install fee policy remains, I will absolutely be searching for alternatives the next time around.