Unity’s Price Change: A Late Look

Unity has, in many ways, shot itself in the foot.

In modern game development, game engines are a big investment and making an engine capable of using today’s hardware to the fullest is a tough task. As far back as the PS2 era of gaming, engines made by a third party have been rising in popularity for taking a lot of the hardest puzzles out of game development. From Renderware to Unreal to Unity, game engines are a big business and the vast majority of games are built on an engine framework that is not exclusive to just that one game. Even in big development studios, engines are made to be used on multiple projects – Frostbite for EA, Creation Engine for Bethesda, and RAGE for Rockstar. Engines, especially for 3D, require a ton of work to build, require programmers with a lot of skill in advanced mathematics to bring 3D to life, and each platform supported adds layers of complexity to the code and process of building an engine suitable for them all.

Unity engine powers a large number of games. A big part of the indie surge has been easily-accessible engine technology, which Unity was at the forefront of. Unity got picked for a lot of reasons – modern coding support via C#, strong 2D and 3D capabilities, and relatively low pricing for what is provided. If you’ve played a game in the last 10 years, there is a greater than 50% chance that it was built on Unity, even some surprising games. Blizzard’s Hearthstone? Started life as a Unity game. Most VR games? Unity. Pokemon Go? Unity. Unity’s access to personal and small studio licensing have made it ideal, and the pricing model for Unity was very forgiving, as it only required playing licensing per seat after reaching certain revenue breakpoints, which made it a good option compared to other engines like Unreal, whose model is a free engine in general but with revenue splits on games made with the engine, meaning that your payout to Epic for Unreal scales up the more successful your game is, while Unity’s pricing stays flat as a per-seat license subscription paid monthly or annually. Unity also generally supports indie-style games better, with better integrated VR support and much-easier 2D implementation for retro-style games and mobile platforms. Unity also pushed and pioneered a lot of changes to game development, like introducing a centralized asset store that offers premade game-ready assets that work with the engine, which has become a common feature of major engines now.

However, like with many businesses, Unity started with a mission and as it became clear that mission was highly profitable and leaving money on the table, the vultures started to swoop in.

In 2014, Unity hired former EA executive John Riccitiello to serve as CEO. Riccitiello, perhaps famously, was in charge of EA during one of their most anti-consumer eras, with the company winning multiple Worst Company in America awards during that time and being the tip of the spear behind the short-lived “online pass” idea, where physical games came with one-time codes to enable their online features, so if you bought a used game at Gamestop or other retailers, you’d then have to pay for an online pass DLC, usually around $5, to reactivate those features for the game. I wonder how Unity became so money obsessed, hmm.

In the last several years, Unity has focused on a lot of monetization and funding. Riccitiello led two different funding rounds for the company and went public in August 2020. The company has gone on an acquisition spree as well, buying up companies that offer smaller pieces of an ecosystem, like chat, online community platforms, monetization solutions including ads, multiplayer game hosting, and various other technologies. Riccitiello has been outspoken in public about where he sees gaming, opining that developers making games without monetization in mind are “fucking idiots,” which certainly did not endear him to the community around Unity, technology that powers a lot of passion projects and games that people make for the sake of the art or idea. We’ll be talking about Mr. Riccitiello and securing the bag later in this post as well.

This phase was the start of Unity flying red flags, and it endured a minor controversy in 2022 when the company announced it would be acquiring software firm ironSource, whose first product InstallCore was infamously labeled as malware since it was used to stealthily load malware on PCs and was eventually blocked by several PC protection suites, including the one built into Windows. Aside from malware, their core contribution is mobile advertising and advertisement effectiveness monitoring, an effective black box that surely won’t come up again as a part of this story (spoiler alert – we’ll revisit this). Unity has become more about money, chasing a lot of ad technologies and monetization tactics alongside the core engine offering, trying to encourage developers to chase the bag (coincidentally, developers making more revenue increases the odds they’ll hit thresholds past which they need to pay for the engine licenses). Unity also started engaging in margin chasing practices like layoffs, reducing their global workforce by 8% (approx. 600 jobs) in May 2023.

But as long as these things existed apart from the core engine, options you could choose rather than forced parts of the engine, developers were still keen to use Unity, and it still offered advantages over the competing engines in the space, which had grown more competitive as newer offerings like Godot have started to increase in popularity while offering similarly unrestrictive licensing.

The Dreaded Runtime Fee

In an announcement on September 12th, Unity announced a handful of pricing changes for developers. While these changes leave per-seat pricing alone, they remove the Plus plan for new Unity subscribers, which takes a transitional option off the table for developers who make enough to have to pay but don’t need a full Pro or Enterprise license option. The worst part, however, is the announcement of the Unity Runtime Fee, a charge that is levied by Unity on developers past a certain revenue and install-count threshold and charges qualifying developers a fee per installation of their Unity game. Not per sale, not per license – per install. If you pay for a higher-tier Unity license, the threshold at which this kicks in is higher, but across the board, this fee applies.

If you haven’t already been online in discussion about this, it becomes obvious fairly quickly in its own right how stupid this is, yeah? Install count is a bizarre metric, one that especially screws over free-to-play and web games since F2P is, well, free to download and install, and web games are, per Unity’s definition, set to count as an install each time the game files are executed on a machine which means that running a web game is counted as an install each time you run it, including refreshing the browser and reloading the files for a game you’re already playing. Even on desktop PC games or console games, you could orchestrate a campaign to bankrupt an indie dev you decide you don’t like by simply uninstalling and reinstalling their game constantly, or installing it on multiple devices. Hell, even for a game you like and a developer you want to support, if you install their game on all your eligible devices to enjoy any time, you are eating the profit margins on a game! It wasn’t hard for multiple indie studios to do the math and find scenarios where this fee would take a popular game they’ve released and make it not only financially unsuccessful, but actually make selling it cost the studio money solely due to this pricing, which is not a good situation for an engine to put you into!

Further, the install metric raises questions about the safety and security of Unity, because this announcement indicates that Unity can and is already able to track installations of games using the engine. How they’re doing this is a black box, but it’s not hard to see the ironSource fingerprints all over that, since the big backbone of their tech was monitoring for ROI analysis. When asked, Unity would only say that it is proprietary tech they are not disclosing, which is, obviously, kind of a bad idea given that developers need to trust the platform and related technologies.

If that wasn’t enough already, Unity also went to GitHub around June 2022 and removed their repo for tracking license changes, which means that ToS updates are no longer centrally tracked and transparent from Unity. In the process, they removed a ToS term that allowed developers to use the ToS from the version they were developing on, provided it was a current-year version of the engine or one marked as Long-Term Support (LTS), with this clause being removed on April 3, 2023. With these removals and the terms put forward for the Runtime Fee, not only is this a future pricing increase, it is retroactive so that any game under Unity licensing that meets the thresholds would be subject to the fees, including the install charges.

When they started catching flak for these changes, Unity responded by apologizing for “confusion” in the community (how condescending!) and clarified the terms, which indeed confirmed that most developers were NOT confused and that Unity was performing a shameless cash grab. The appearance of a cash grab was not helped by numerous members of the Unity executive team, including CEO John Riccitiello, dumping shares of the Unity stock prior to the announcement. In the two-week period prior to the announcement, 3 executives alone including Riccitiello dumped 108,000 shares of Unity stock, a stock which is, as of this writing on 9/18/2023, drastically dropping in value, going from $38.97 the day of the announcement to $33.45 today.

Developers shared their stories including one-image pleas for Unity to change course and noting how big of a liability using Unity would be, and Unity has promised an announcement tomorrow, 9/19/2023, with changes to this controversial rollout. But will it be enough?

Developer Trust and Keeping It

Unity may be in a worse position than before even if they completely revert the pricing changes and offer incentives to stay with Unity. Developers using a third party engine need to have a few key things in order for the transaction to be beneficial and continued – they need a good platform to build on, solid support, and trust. Trust is, arguably, the most important of these, because software changes with each release and an engine with issues can be smoothed out over time or allow a developer to flex their coding muscles to guide it to working for their project, but trust is hard to gain and even harder to regain. Unity stepped on that trust in several ways with this announcement and the accompanying news, changes, and ToS updates.

Firstly, removing the ability to maintain the ToS tied to the version your project is made under means that you cannot trust that the terms will remain consistent, which makes evaluating the business end of game development difficult. Unity was popular because it was cheap and predictable, because the per-seat license fee and nothing else meant you could project how successful your game would need to be in order to make enough to exceed license cost and become profitable. That fixed, static pricing was a boon over percentage-based models like Unreal Engine because of this predictability.

Even then, a fee change with enough time to implement and only applying to future versions of the engine would be fair enough and allow developers to finish existing projects and make a choice about future development based on the changes. Unity gave developers a strong-arm approach, with only about 4 months between the announcement and the applicability of the new terms and costs and the announcement that the Runtime Fee charges for installations would be retroactive, judged on existing projects and charged on them too. Imagine being a small developer with a Unity game nearing the finish line and knowing that your entire business model is about to be upended. Imagine being a publisher who works with and helps small indie studios knowing that they may not be a good investment if they use Unity anymore. These aren’t hypotheticals either – numerous devs fit the first category and Devolver Digital, an indie publishing house that works with small teams to get their games out, vaguely noted that they needed to know engine choice on submissions to them as “important information.”

Outside of the gaming-specific implications, the issue here is a simple one – trust in a business partner. If you have a company on-board to help you release a product, you want them to be a good partner that understands your business and works with you to reach a favorable outcome. If your copy paper supplier suddenly jacks up prices 300% with no chance to stick to existing agreements and then states you are confused when you quite-clearly understand the implications for your business, you’d find a new supplier. In games, this isn’t as easy, because porting between engines is a lot of work, not to mention that what each engine supports is a bit different. Unreal Engine is a C++ engine while Unity is C# and Godot supports both.

Unity is a technology provider and I don’t want to pretend it’s easy work. Engines are the hardest and most misunderstood parts of video games, and what Unity offers is a good product overall. It got popular because it was cheap, but it stayed popular because it is a reasonably good engine and offers a wealth of features and large community that’s likely done something you want to do in it. It’s struggled to keep pace with Unreal on features, as Unreal adds a ton of powerful features that bring modern graphics technology to developers of all sizes alongside a monthly rotation of free assets and favorable license terms that reduce payouts to Epic, provided you list the game and sell it through their storefront. But Unity had the impression of stability, rarely rocking the boat for developers and making staying with them a reasonable, intelligent business decision.

With these changes though, they’ve eradicated that trust in the eyes of many. The rapid change in pricing undermines trust, the use of covert monitoring of installation and other telemetry data that allows them to bill for installations really breaks trust, and Unity has been trying with acquisitions to build a walled garden ecosystem to trap developers in a fully-Unity development process, with discounts to the egregrious Runtime Fee for each of the tacked-on extras you use, which developers are righly questioning as traps. Unity provides a good product that removes a lot of burden from developers, and under the old model, they remained popular because the relationship was symbiotic and there was a degree of respect for the business on both sides – developers paying Unity for proper licensing and usage and Unity giving developers good tools with reasonably good documentation and regular updates. Unity as a business needed to make some changes to become profitable, and while that sucks, I think developers would have easily stayed on-board for better-implemented pricing increases – well-communicated, documented and distributed well in advance, and with a clear eye for the symbiotic relationship between engine and developer.

Instead, Unity pissed off everyone using the engine, has lost trust and understanding, and will likely see a downturn in usage as developers seek new tools and engines and turn their projects away from Unity altogether. Hell, it may not even be that hard – Brian Bucklew, developer of indie early-access hit Caves of Qud, a Unity game, live-tweeted over the last weekend as he ported Qud from Unity to Godot, a process that took him 16 hours from start to bootable game. Caves of Qud is noted as an outlier in how well it fits the transition, but still – there is a real example of a developer being able to get their game from Unity to Godot in a relatively small amount of time.

For a lot of developers, especially the market that has been so effectively captured by Unity, trust in the engine provider as business partner is crucial, and by acting in this way, Unity has lost that trust, probably forever. They have stalled on even confirming changes, taking nearly a week to even acknowledge the genuine anger and destruction of trust their decision engendered and even still not saying directly that they plan to revert the change, with most “scoops” and rumors still pointing to them keeping some form of the Runtime Fee. Even if they do revert fully at this point, Unity has gone from symbiotic relationship to parasitic, attempting to pad their bottom-line and create shareholder value by destroying the businesses of hundreds of indie developers. By some metrics, Unity accounts for 70% of the market, and while it is clear that this emboldened them to make a brash and awful set of decisions, they clearly miscalculated here.

Will Unity rebound? I mean, maybe. For some developers, the effort to port games to another engine or discontinue sales of Unity games to reduce potential Runtime Fees (as the Cult of the Lamb developer threatened) is too great or otherwise limiting on their business and so they will continue with Unity. For developers with projects about to release, a lot hinges on what Unity says tomorrow (as of this writing) about their response to the reception of this disaster policy, and I expect that a lot of devs will still commit to releasing nearly-finished games because of the amount of work involved. However, the problem for Unity exists as a long-term threat, and they picked a lousy time to make these changes – when Unreal is still relatively popular and gaining in the indie space, when Godot is becoming the new indie darling engine used by more and more games, and as new engines and technologies emerge that threaten Unity’s existing position. They may not lose a ton of studios today, tomorrow, in the coming months and years. But the loss of trust is hard to calculate, and I suspect that games entering development are likely reconsidering their engine choice or making the decision to commit to a more stable and communicative partner.

One thought on “Unity’s Price Change: A Late Look

  1. On top of all this, you’re not even counting the inevitable class action lawsuit filed by investors against Unity based on Riccitiello and Co. doing the classic insider trading maneuver. It’s not merely a bad look, but that soon before a major announcement such as this stinks of insider trading hubris. And if investors were strung along thinking that Unity was going to reap “huge profits” in the future based on Riccitiello’s promises and this was what happened… Yeah. Riccitiello looks like a Grade A Idiot.

    Like

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.