1
0
Fork 0
isopod.cool/blog/posts/unity_runtime_fee_and_proprietary_software/index.php
will 9be2f36883 v3.1 - Minor overhaul to the entire site
- Removed some unused files
- Updated the blog post layout to have all the navigation
- Replaced hovertext in blog posts with footnotes
- Seaonal pride captions on homepage
- Updated /etc/quotes/
  - Background color is now actually reminiscent of Discord
- Total overhaul to /uses/
  - Added sub-page for my computer
- New markup for blockquotes that css-tricks.com says is more semantically correct
- More difficult captcha on the guestbook (answer remains unchanged)
- New blog post about DMs on the fediverse
- Blog now has links to each year
- Removed journal. I barely used it and it was redundant anyway
- Removed the TODO list that I wasn't using from /etc/
- CSS overhaul:
  - Cool new hover animation on navigation links
  - Centralized most color definitions to root variables, and a couple other things too
  - Standard font is now B612 mono
  - complies with prefers-reduced-motion
  - Light theme and low contrast mode in the works
  - Made tables more consistent, and the one on /about/ no longer looks like doodoo
  - Accent borders on headings and such-like
  - Main header & caption are now left-aligned instead of center-aligned
  - Isopod letterhead moved from left side of header to right
  - h1 made smaller, h2-6 changed back to default sizes
  - Adjusted a couple background positions to improve readability
  - Got rid of the checkbox-hack dropdown navigation on mobile, because it kind of sucked
  - Regular body text no longer has text-shadow
- probably some other stuff I forgot about
2024-07-08 03:47:39 -06:00

55 lines
11 KiB
PHP

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>The Unity Runtime Fee and Proprietary Software</title>
<link href="/style.css" rel="stylesheet" type="text/css" media="all">
<link href="/blog/comment/comments.css" rel="stylesheet" type="text/css" media="all">
<style>
h1 {
background-image: url('unity.svg');
}
</style>
</head>
<body>
<?php include($_SERVER['DOCUMENT_ROOT'] . '/nav.php'); ?>
<h1>isoblog</h1>
<h2 id="caption">The Unity Runtime Fee and Proprietary Software</h2>
<?php include("../post_dates.php"); ?>
<p><a href="https://archive.ph/gBpXw">Well this fucking sucks.</a></p>
<p><strong>[UPDATE 2023-09-23]</strong> This policy has changed significantly for the better since this article was written, and I wanted to update this post for completeness, but I'm leaving the original article alone because I think it's important for people to know everything Unity <em>tried</em> to get away with, and not just what it ended up doing. I've added my thoughts on the changes to the end of this article.</p>
<p>The company behind Unity, an extremely popular game engine used to make <a href="https://store.steampowered.com/curator/39750107-Games-Made-With-Unity/">some games you may have heard of</a> (including about a fifth of my Steam library, for reference), has just announced a new fee for developers using their engine.</p>
<p>In essence, as of next year, developers will owe Unity a fee for every time their game made with the engine is installed after certain retroactive revenue and install base thresholds. There's various different tiers of this, but for the free plan you and I would be using it amounts to $0.20 per install after the first 200,000 installs and $200,000 of revenue.</p>
<p>Side note - How these installs are counted is left intentionally vague too, so it's unclear whether it's a severe violation of user privacy or vulnerable to abuse by maliciously performing repeated reinstalls of a game, or perhaps both. Plus, this also means that even pirated copies might count towards the total.</p>
<p>I won't mince words: <strong>this absurd pricing change has the potential to sink a lot of small game development studios</strong>, especially those working on games that are extremely popular or not aggressively monetized.</p>
<p>For example, Among Us has over 500 million downloads on the Google Play Store alone. Under this pricing scheme, that would cost its developer, Innersloth, $100,000,000 on the free plan, or a paltry $5,000,000 if they're using the if-you-have-to-ask-you-can't-afford-it Enterprise plan. I don't have access to Innersloth's financial data, but that's probably at least a year or two of pay for all of their employees at the absolute minimum, more if they're on a cheaper plan. I seriously doubt they can afford this.</p>
<p>That's an extreme example, but I think it gets the point across. If you don't believe me, take it from developers on Twitter (via <a href="https://archive.ph/IQPjW">u/Sparky2199</a>):</p>
<a href="devprotest.png"><img src="devprotest.png" alt="Compilation of various twitter posts from indie game studios using Unity complaining about the change."/></a>
<h2>The obligatory free software soapbox moment</h2>
<p>As angry as I am about this, I do feel kind of vindicated, because here's the thing: something like this was always going to happen. Not because Unity in particular is a <em>bad</em> company (although it is), but because it's a <em>for-profit</em> company, and especially because it's one with shareholders to please.</p>
<p>Capitalism demands infinite growth, but there's a finite number of people to sell a game engine to, so at a certain point Unity has no choice but to start trying to squeeze more money out of its existing customer base (or expand the customer base by, say, trying to cater to filmmakers). Though certain internal factors definitely sped up the process of reaching this point, Unity was bound to get desperate enough to try some shit like this eventually.</p>
<p>And that's the danger here. When you become reliant on something in order to do your work, you're inherently gambling on it being still around and usable until you're done. In the case of proprietary software (and cloud services, but that's a different rant), you're betting on the company not changing the software or the terms of the license on you, or going under, or just deciding the software isn't worth it to maintain anymore. In Unity's case, we're seeing what happens when you place a losing bet. Suddenly the company hates you and you've gotta migrate to something else, and if you can't you're SOL. Sure, an open-source project might die off as its developers lose interest or can't work on it anymore, but then somebody might fork it, or you have the right to maintain it yourself, if you can. Only proprietary software can suddenly decide you're not <em>allowed</em> to use it anymore.</p>
<p>Videogames in particular are hit especially hard by this - they often take years to make, and are often incredibly complex, to the point where porting a game between engines can be harder than making it to begin with, so choosing an engine is a <em>huge</em> commitment that not every studio or developer can afford to go back on. Something like this can easily kill a project, both financially and from simple loss of motivation.</p>
<p>This problem isn't unique to Unity, or to game engines. We've been watching this play out across the industry for as long as there's been an industry, except normally companies boil the frog a lot more slowly and in ways that are a lot more subtle. Google didn't go from world's best search engine to mega-monopolistic adware provider overnight. To extend the metaphor, Unity just tossed a grenade in the pot.</p>
<p>It's my opinion that all proprietary software will die this way in the end. The structure is fundamentally unsustainable. You can't have infinite growth. At some point all the proprietary software and services that are commomplace nowadays with their ad-supported business models and predatory pricing schemes and suspiciously high marketing budgets will wither and die, having made themselves intolerable to even their most loyal customers, and most of the survivors will be open-source projects. Not as sleek or sexy or well-advertised, as they'll have had less incentive to appeal to new users, but fundamentally sustainable, having had <em>no</em> incentive to appeal to shareholders.</p>
<h2>An attempt at optimism</h2>
<p>In this particular case, I don't think this is gonna stick. Unity's runtime fee is absurd, and I think they know it just as well as all their moderately high-profile customers on Twitter do. Unity has already started to walk back some of the more extreme parts of the initial plan, as you can see on archived versions of the posts: <a href="https://archive.ph/gEckm">Blog post (Sep 12)</a>, <a href="https://archive.ph/gBpXw">Blog post (Sep 14)</a>, <a href="https://archive.ph/HYTq5">Forum thread (Sep 12)</a>, <a href="https://archive.ph/eByMm">Forum thread (Sep 14)</a>. Unity also has some customers that are bigger than them and notoriously litigation-happy, namely Nintendo (with Pokemon BD/SP and Go, plus a couple Mario mobile games) and Disney (also with quite a few mobile and console games). Unity's CEO also sold a bunch of stock in the company in the lead-up to this announcement, which, since the company's stock price dropped <em>significantly</em> after the announcement, might actually constitute fraud. You know, from federal crimes! Basically, this initial announcement was probably an attempt to see how much they could get away with, and Unity's probably fucked if they stick to their guns on this.</p>
<p>On the technical side, if you're a budding game developer, Unity isn't your only option. My top recommendation is <a href="https://godotengine.org/">Godot</a>, a free and open source game engine that's recently taken steps to increase its funding in a way that's actually sane and not cartoon villain behavior. It also supports C# by default, since you probably got used to that with Unity. There's also RPG Maker and Unreal Engine, the latter of which I imagine a lot of studios will be switching to soon.</p>
<p>Finally, if you've been eyeing a game that uses the Unity engine, you've got until the end of the year to install it without incurring that fee for the developer assuming this change goes through. So I'd check for that. By my understanding you'll have to run it at least once before then, too.</p>
<h2>Update as of 2023-09-23</h2>
<p>Good(?) news! Unity's responded to community feedback and it's actually... better than I expected. You can read the full post <a href="https://archive.ph/rLi8u">here</a>, but I'll summarize the changes:</p>
<ul>
<li>No more runtime fee for the free Personal tier</li>
<li>Revenue cap for the Personal tier doubled and mandatory splash screen removed</li>
<li>The runtime fee now only applies starting with the next LTS release in 2024</li>
<li>The runtime fee is now capped at 2.5% of total revenue, and all relevant data is now self-reported instead of a "proprietary data model"</li>
<li>Just like, a straight up apology at the beginning of the post</li>
</ul>
<p>This is all good. These changes remove all of the most devastating knock-on effects of the original policy, and I think this is actually a <em>better</em> deal for free users than before.</p>
<p>That said, my original point still stands. Unity is still squeezing more money out of its userbase in a way it hadn't previously, and it could pull some shit like this again at any time. Just because it caved this time, doesn't mean there's anything stopping Unity from making more horrible retroactive policy changes in future. Unity has destroyed a lot of the trust it's built with its community - a lot of developers won't trust Unity not to screw them over in the future, and in my opinion they'd be right not to.</p>
<p>It's my hope that a lot of game developers will take this opportunity to ditch Unity for something better. At the very least, I don't think we'll see many games de-listed like Cult of the Lamb <a href="https://archive.ph/4xyTO">threatened to do</a>, since existing games can just not update their Unity release. A lot of games may still be forced to move engines if they don't want to deal with this, though. For example, support for new consoles, OS versions, etc. probably won't be backported to old Unity versions. Games that continually add new content or aren't finished yet will probably eventually start encountering issues resulting from this.</p>
<?php include("../../comment/form.php"); ?>
</body>
</html>