Unity has seemingly silently removed its GitHub repo that tracks ToS changes

2 years ago (gamerbraves.com)

This could have been done in a much better fashion to achieve the long term desired outcome (more income) while also ensuring continued trust and transparency with their community.

Simply, they could have not made this retroactive on existing released games. Rather just be clear that going forward, games build using the new Unity versions would have a per-installation fee. And they would slowly discontinue support for the older versions on a specific schedule.

There are new devices coming out like the new Switch, the Apple Vision Pro, and then the new features Unity is adding like AI, just add those to the new versions that have the run-time fee. People will upgrade to it on their own terms!

By making it retroactive and forcing it on everyone, they have basically screwed over their existing customers who shipped games expecting a certain cost structure and now it is higher.

Deleting this GitHub license archive repo where they make it clear that their license changes are likely unenforceable is icing on the cake.

EDIT: To remove the claim that Unreal Engine had a similar per-install fee, it doesn't.

  • The problem is that they did it retroactively and they also added a per install/download fee. So if your game has 1mio installs you pad the install fee x 1 Million. Unreal has no install fee like this.

    “A 5% royalty is due only if you are distributing an off-the-shelf product that incorporates Unreal Engine code (such as a game). Provided that you notify us on time using the Release Form, you will only owe royalties once the lifetime gross revenue from that product exceeds $1 million USD; in other words, the first $1 million will be royalty-exempt.”

    Some mobile games have a ton of installs and a very small amount of revenue per user. Those 27cents per install are a lot of money for those type of games and will even make some business models no longer feasible.

    • > Those 27cents per install are a lot of money for those type of games and will even make some business models no longer feasible.

      Exactly. So if they did this in an upfront way, they would have said that starting with Unity 2024 there is this new cost structure. Then game devs can make informed choices if they want to build those types of games on the platform.

      This retroactive stuff is insane and I cannot figure out how a company can make that type of move if they care about their users. Although I think I sort of answered my own question...

      49 replies →

    • > Some mobile games have a ton of installs and a very small amount of revenue per user. Those 27cents per install are a lot of money for those type of games and will even make some business models no longer feasible.

      When you put it that way, Unity could have come out of this price change looking like heroes with better messaging.

      Serious games pay the $0.27 fee moving forward, and (hopefully) that comes with some new value add for end users (such as contractually enforced no advertising, cross-platform something something).

      Ad-supported games use a different engine with different rules, and end users get the “free to play” benefit.

      (The retroactive thing is obviously bullshit; I wonder how many studios will simply refuse to pay and jump ship for future titles.)

      2 replies →

    • If you pay $2k for unit pro it’s a max of 15 cents an install, actually less. And you pay nothing for installs until $1m in revenue and 1m installs in the previous 12 months

      1 reply →

    • > 27cents

      Realistically it’s closer to 3-5 cents per install. Where did you get 27? Even personal/plus is cheaper than that in the worst case (ie. 100% of your users are in NA, the richer parts of Western Europe etc)

  • > Simply, they could have not made this retroactive

    How can they make this apply retroactively though? For already shipped titles, if I'm no longer providing updates anymore, how can they force me to pay money?

    I'm aware that games no longer have a final shipping date, with early access and all, and as a dev I'd likely would want to offer continued support in such a scenario.

    But the way I understand it from the overall public reaction, is that they're trying to charge customers for existing titles, retroactively, in perpetuity going onward. This would be a one sided ToS change which only benefits them, which they push the customer into agreeing. Such a practice is mostly unenforceable in a lot of jurisdictions around the world.

    • Well yeah, that’s what is so mind boggling about the whole thing. They are trying to do something that’s likely illegal in terms of contract law. It’s also just abundantly stupid given the social cost. There was a super clean way to do the whole transition where you announce the changes going forward starting 1 Jan 2024. You show examples of what costs will be and stress that that the pricing is an order of magnitude cheaper than Unreal, and everyone feels like it’s fair (though nobody loves price increases). Someone needs to fire their CEO.

    • They can't force you to pay. The only leverage or legal claim they have is if you want to update your title after Jan 2024, then they can ask you to get up to date on your account.

  • This whole debacle is unreal (pun intended?). I don’t think they’ll be able to enforce this the way they hope to. For example they want to be paid for unity games in subscription services, like xbox gamepass. Meanwhile M$ lawyers are rubbing their hands together in anticipation.

    They’re going to (already have) damaged their reputation beyond repair. This isn’t typical consumer strong arm tactics. Their clients are businesses who already have alternatives. If one of my vendors abruptly changed our agreement like this, there’s no question I’d quietly phase them out ASAP.

    • If they think they can find a court that will actually enforce this change, then they’ll be waiting for Godot.

  • > have a run-time fee, similar to Unreal Engine

    Another comment already said this, but I feel it's worth emphasizing: Unreal Engine does not have a runtime fee. You don't pay per install.

  • > Rather just be clear that going forward, games build using the new Unity versions would have a per-installation fee

    I would still oppose it because I don't want every installer to spy on me as a user. I'm glad it happened in a way that spurred so much resistance instead of a slow frog-boil.

  • > Simply, they could have not made this retroactive on existing released games. Rather just be clear that going forward, games build using the new Unity versions would have a run-time fee, similar to Unreal Engine.

    No no, you don’t understand, that’s exactly what they want

    • It does appear to be what they want, but it is also very likely unenforcible retroactively. So it is likely that they are currently paying the steep repetitional costs of this move without making anywhere close to the additional income that they wanted from this move.

      5 replies →

  • I’ve been asking the exact same question. There is so clearly a better way to have handled this whole thing it makes you wonder whether the person in charge of this transition is simply incompetent, or actually negligent. If I were a shareholder, I might consider suing.

  • I wonder just how much this change is geared at capturing value from what's already out there, i.e. the retroactivity is the point.

    • > geared at capturing value from what's already out there

      This sounds like a plausible motive. There's a handful of huge games using Unity that together generate upwards of 20bln annually, such as Pokemon GO, Honor of Kings, and Genshin Impact. I'm guessing their soundbite of "developers being excited" over the change is with those behemoths in mind, and not the other games that are barely making ends meet.

      These particular successful games are still going to save millions compared to Unreal, while the change means that everyone else would now be more profitable with Unreal. Pokemon GO alone would have made Unreal $100mln+ a year with the 5% royalty, while paying considerably less with Unity's new scheme. Even at a billion downloads it's only $10mln in comparison.

      It sounds like Unity is shifting their focus from the long tail where they were successful charging annual subscription fees (and ads), to the head that's generating orders of magnitude more revenue.

      2 replies →

This video[1] talks a bit about this from a lawyer's point of view and is a really good overview.

For people who are not paying as much attention to this I'd like to summarize the main points of frustration.

1. Unity has just shown they believe they are able, and they are willing, to change the terms on what you have to pay them. What are the bounds to terms like this? What if Unity is tight on money and decide to squeeze developers further? The risk to continuing business with Unity is very high as you have unknown future exposure.

2. The monetization model they've chosen is tied to installs, not revenue. On the initial day of announcement they even claimed re-installs would count but they've since walked that back (or "clarified a miscommunication"). Unity has been extremely wishy-washy on how they even plan to track this mentioning proprietary systems they can't elaborate on and your only recourse is to appeal if you think they got the numbers wrong. This is not a metric tied to your revenue and is difficult to plan around.

There are a lot of people arguing against a strawman of people who don't want to pay unity but that is not at all what this is about. Unity chose a terrible model they can't even explain for how they want to bill people and apply it to all past games that use the engine for all future sales.

This would be similar to if Microsoft said everyone who ever built anything on C# has to start paying a fee for every future install because it includes the .net runtime.

[1] https://www.youtube.com/watch?v=rGMrebXypJo

  • IANAL but isn't this what we have an FTC for? It feels like pretty blatantly unfair business dealings, particularly the fact that it's retroactive

    Literally "I am altering the deal, pray I do not alter it any further"

    • I hope so, but if it’s likely to get smacked down by the FTC, it’s unlikely Unity would try this path. I’m sure this has been in the works for a long time and all the backlash was anticipated - they just expect huge profits on the other side.

      6 replies →

    • The FTC and other such agencies won’t do shit because corporations are the highest authority in the US.

      Every once in a while they’ll pick a “sacrificial lamb” for a slap on the wrist and call it a day.

  • They might have well devised the first of its kind "ransom by installations" in the history of software, by making it possible for attackers to fake mass installations and get gamedevs into fatal debts. And they are taking the executioner role.

    • We've been calling it "Install Bombing" after the common abusive practice of review bombing. Unity claims they have anti-fraud systems in place and you can always appeal with their fraud team but I don't have an reason to blindly trust a black box that when fails makes Unity more money and puts the burden on me to prove otherwise.

      4 replies →

    • This applies to any paid API and is something we check for when we do security audits, definitely not a "first of its kind". It's just not common that APIs that cost 20 cents per invocation are exposed directly to the general public.

  • >Unity has been extremely wishy-washy on how they even plan to track this mentioning proprietary systems they can't elaborate on and your only recourse is to appeal if you think they got the numbers wrong.

    They must know that their methods will ultimately be revealed during discovery during the inevitable lawsuits. So I’m wondering if they haven’t actually figured out how they’re doing it yet.

    • All I can think of is some poor dev trying and failing to explain to the mbas why this can't be done with any precision. Two parallel lines that cross...

  • I am curious -- if you are a business and buy Google Ads, and they tell you how many impressions and clicks you got, are those numbers verifiable? How effective is it at filtering out "bad" clicks, like the ones from a competitor who wants to exhaust your ad money? Is the situation similar?

    • Ah, the difference here is that game developers have alternatives to Unity. You can't verify Google's numbers, but fortunately for them there's no (meaningful) alternative. The advantages of being a monopoly!

  • Not sure why I watched the whole hour's worth of content as I'm not involved tbh, but what I gather is that the whole speech amounts to, in essence, "yes it's legal (unless you want to appeal to empathy from a court); however, Unity is saying that they'll tell you how much you owe them and you have no way of verifying it, so with these one-sided changes blemishing trust while simultaneously asking for your trust in their estimations on how much you owe them... tread carefully"

I posted this a few weeks ago, there’s already a project for tracking the TOS of many companies. This came up when people realized Zoom had done some funny business with their TOS as well. I see Unity isn’t there though, maybe someone should submit a PR.

https://github.com/OpenTermsArchive/contrib-versions

IANAL, but I suspect part of what they're trying to hide is that the old terms [0] specify that while they can change the terms at any time, you may opt to use the old terms as long as you don't update the software beyond the current year (2023.x).

That wording is changed in the new terms [1] to say "If the modified Terms are not acceptable to you, your only recourse is to cease using the Services." Just in case you were wondering how one-sided this new agreement is intended to be.

[0] Section 8, "Modifications": https://web.archive.org/web/20201111183311/https://github.co...

[1] https://unity.com/legal/terms-of-service

  • That was my understanding. They did it (or least claim to have made the change, maybe they left in a loop hole) in response to the Spatial OS debacle. They tried to crush competition in their ecosystem through retroactive TOS changes that time too. Some of the community got rightfully up in arms about it, so they reversed and added these long term licenses. But it seems like that was all just lip service, because here we are right back where we were.

    Overview of the Spatial OS stuff for those that didn’t follow it: https://www.engadget.com/2019-01-10-unity-improbable-epic-ga...

What I hate most about this is that it puts unbounded liability onto developers. They can't control how often their game will be installed in the future. The outcome will likely be that the minute a game falls below a certain rate of sales they will be forced to make it unavailable because they can't risk the ongoing cost of the existing userbase continually reinstalling it. Every time a new platform or device is released, there will be a wave of people shifting their installs which will will generate cost for developers for no return, and windfall profits to Unity for doing absolutely nothing. They get the money even if the user never even opens the app, they just click the button saying "install all my apps from my old device on my new one". Which is what a lot of users will do.

  • > What I hate most about this is that it puts unbounded liability onto developers.

    And Unity can continue to raise the per-installation price as well. If they lose a bunch of customers but want to maintain their current income, why not raise it to $1 instead of just $0.27?

  • Actually, making it unavailable wouldn't even solve the problem, as once you purchase a game, even if it is no longer for sale on Steam, you can still redownload it, including to new devices.

    So if you've ever released a Unity game (even if it hasn't been updated in years), even if you delist your game from the store today, presumably you could still get charged if people who already own your game reinstall it.

    I'm not a lawyer, but I really don't see how that'd hold up in court — you created a product under different terms years ago, and now your product, which isn't even for sale, can be charged for something that your business has no control over. Even if the ToS says Unity reserves the right to change their fees, I don't see how that can apply to products that aren't even being sold anymore.

this is something they want to hide.

https://web.archive.org/web/20220716084623/https://github.co...

We are making games in Unity, and paying per developer per month the highest subscription $180+ for any tool we use. The amount is already quite high and grants us license to use Unity.

Their current move is either because they being extremely greedy, or because they're burning a lot of cash. We make simple games, and we're using Unity because of its community support and assets, not because we love Unity, the company. The community moves, we move.

Now if they're changing the terms arbitrarily, and hide that behind the "I agree" button, it proves that they have turned evil. We, along with several other fellow game companies don't support evil, and already migrating our games to Godot. We were prepared for something like this, but didn't anticipate Unity will flip their face this soon. This move only promotes Godot or Unreal; a far more different result than whatever they expected.

  • There is also Unigine [1] but that has less community around it than Unreal. I am mentioning it because I think it should be known more. It was started by a single russian dev who was initially just writing online tutorials on various OpenGL and physics stuff (frustum.org). Then he decided to make a commercial engine and started a company. Of course their engine evolved a lot since and they have a team of devs now and are no longer based in Russia (and the original dev is no longer in their team I think?). I am impressed by what they have achieved (it must have been super-hard especially in the beginning) and that they continue developing it and the graphical output is quite competitive to the major engines. They are also known for various graphical benchmarks.

    [1] https://unigine.com/

I'm a little confused here. If I released a game a couple years ago when the terms explicitly stated that Unity couldn't retroactively update them but now they changed the no retroactive updates clause, how can they try to apply this when that violates the terms I agreed to?

This seems extremely shady.

I'm surprised they even had such a repo public in the first place.

Every year Apple releases a new version of their Apple Developer Program License Agreement and Paid Applications agreement. I always download both as TXT files and diff against the previous one to see what changed. I practically don't even need to read any of the WWDC news to know what new things they are releasing.

  • That's a great idea!

    It'd be awesome if someone automated that and threw it up on github but that's just me being lazy.

Adobe put a silent kill switch into Flash player, rendering 10 years worth of casual games I'd written immediately unplayable. As a result of Adobe's actions, a whole sector of lone devs and small teams turned to Unity to build games that would've otherwise been built in AS3. I'm glad I didn't end up going that route, but I really feel for the folks who are now getting screwed again.

  • I just got started learning about Flash so I could mod Starfield’s UI. The kill switch thing actually disgusted me, like I had to re-read the article explaining it because I couldn’t believe it was possible, let alone thinkable. All that history, just gone. I spent so many hours in the computer lab at school playing Flash games, man. Glad Ruffle exists.

  • What was the silent kill switch?

    Was it a time based thing that applies to everyone or something?

    Asking because a friend is playing a lot of ancient flash games recently using Ruffle (OSS flash player written in Rust), and doesn't seem to be having problems like that.

    • The last few major versions of Flash Player had a time-based kill switch that made them stop functioning after a certain date. Adobe didn't announce this until well over 90% of people with Flash installed had been auto-updated to one of those death versions. When they announced it, the date was less than a year away, and plenty of people were in the middle of building large projects that would need to be totally rewritten.

      To be clear, Ruffle only [fully] emulates Actionscript 1/2, which was the Flash language prior to 2006. The games you see resurrected in Ruffle are mostly what people associate with the casual single-player Flash games and funky art projects from the early 2000s. Most of my work was in the Actionscript 3 language, which came out in 2006 and featured GPU support, networking via sockets, peer to peer RTMP messaging, and lots of other modern features to make fast 2D/3D gaming and multiplayer possible. With AS3 you could deploy a game with the browser plugin and compile the same code to iOS and Android "native" apps with Adobe Air, which basically shoehorned the plugin into the binaries. Air is still around, but the whole ecosystem is dead.

      When Adobe pulled the plug, I'd just spent almost two years building the second entire game engine I wrote in AS3, this one for open/endless isometric worlds with terrain generation, character spawning, physics, particle systems, 3D embeds, networking, chat, lobbies... and our 3-person team had only deployed our first game with it. The idea of rewriting half a million lines of code in Unity or TS+Pixijs or something else... I just gave up on making games after that.

      Ruffle is a great project for the older Flash stuff, and they've made some progress with coverage of AS3 now, but they don't support a lot of the critical things needed to run these games (particularly with networking APIs and Stage3D), and they probably never will. None of my advanced work runs under Ruffle, not even my old AS3 website from 2009. In theory I could rewrite that code to work around Ruffle's limitations, but I can't even run the Adobe tools anymore to recompile or modify assets unless I go back to an ancient laptop that never got the death-update.

      1 reply →

Just a side thought related to this: can there be a community supported initiative to parse what TOS documents of different companies mean, and specifically, what to watch out for in each company's TOS vis-a-vis what is the norm in a certain industry?

Right now, the "gotcha" power is entirely one-sided. A wiki-like approach towards documenting TOS might make the user better aware of what to really watch out for when using a particular software.

  • I think what you're looking for is TOSDR (Terms of Service, Didn't Read): https://tosdr.org

    It's been going for several years and has very thorough analyses of various ToS, done by volunteers who are often legal professionals.

  • I always thought it would be cool if Steam did that for their games. Kind of like the little feature tags they already use, "local multiplayer," "controller supported," etc, but for EULAs (technically they already track whether there is a third party EULA).

    So you could just look at a game and it'd have bubbles like "phone homes > sends your data > IP, operating system, language," "not responsible for online interactions," etc whatever other legal nonsense they stuff in those things. There's tens of millions of them so I assume they can be compressed into some couple thousand of rote legal "chunks" that can be filtered and sorted on.

  • The main problem with “what to watch out for” is that it seems like every TOS is full of the same BS so your options when you spot something to “watch out for” are pretty slim. (Unless you want to live like the Amish, which tbh is looking pretty attractive sometimes!)

  • Typically that’s what a newspaper is supposed to do. With userbases larger than some countries, it could make sense.

  • (TL;DR: this describes an old project of mine which tried to do something similar, which may be useful as inspiration for such a project. More testing is needed to say whether simple string replacements work sufficiently well, but initial results were promising. These days, LLMs are probably even more promising.)

    I tried making this once for employment contracts, which would string-replace difficult phrases with a version that uncle Jack on his horse would understand. This was back when a computer's understanding capabilities barely amounted to decompose a sentence into what the subject is you're talking about in the first place. However, the simple string replacements worked so well that I figured we should just crowdsource a dozen contracts and that should be able to kill 90% of the difficult language in any employment contract.

    Example replacements: "to come to a transfer of the concerning intellectual property rights" with "to transfer copyright", or "Employee shall henceforth" with "you will" (I have trouble identifying "employee" versus "employer" in texts, so replacing it with 'you' and 'we' is a lot easier for me to read). It also just killed lesser-known words, like replacing "forthwith" with "immediately".

    Example paragraph: If and insofar as Employee as part of the execution of their work activities on behalf of Employer whether or not together with others produces a work or other type of something on which intellectual property rights rest or can rest, Employee transfers these intellectual property rights already now just in case, or alternatively Employee grants an unlimited and irrevocable license and Employee lends at the first request of Employer forthwith all required cooperation to achieve a transfer of the concerning intellectual property rights. (Translated from a Dutch work contract I once received.)

    Its replacement: If you make something during your work for us which can be copyrighted, you always transfer the copyright and grant a license and on request you immediately help transfer the copyright.

    The project never went anywhere because I didn't pursue getting other contracts and seeing how well it works before marketing it as a useful tool for others. The main unknown is whether it would scale, or if the string replacements that work well in one contract start messing things up in others. Nowadays, though, I'd probably start by telling an LLM what kind of transformation it should make and then inputting the contract; that's probably 99% of the result in 0.1% of the time spent.

    • Very interesting :)

      In legal settings, I would rather trust your approach than an LLM. Your approach has "backtraceability" - you can build a log of how each transform worked, from the original, to the final : it's a series of localized transforms.

      LLMs (at least to my understanding) cannot have that, because it is based on a global approach. So there is a good chance that, what it spits out might be readable, but it's one-to-one correspondence with the original legal document may not exist. So it may lead you to a false sense of security.

When I've made enough money, I would like to retire and just develop a free-2-play game. No intention of it making any money. I would happily pay a few thousand dollars for a good engine for that - like Unity. But I would not want to take the risk that my free game becomes wildly successful and suddenly costs me millions. It is very unfortunate, but I will now spend the weekend to learn Godot.

An under-discussed aspect of this pricing structure is the number of older games that will simply be pulled from the (virtual) shelves. I've already seen a few and I fear more devs will follow suit.

The ripples and unintended consequences of this move could really be significant for years.

I got a bill from the guys that sold me my claw hammer. Apparently I have to pay a per nail charge on top of the $40 I paid for it.

"He who controls the present controls the past. He who controls the past controls the future." - Orwell.

I struggle to think of a more well defined "burn the ships" moment in my lifetime. This company has lost all self respect.

Sorry but I cannot help but blame developers again. Again you idiots put all your eggs into one basket, whilst forsaking alternatives, even open source ones because "unity is better." Well close gardens locking you in (or out) is always a risk and instead of calling people like me tinfoil-hat wearing lunatics for sounding the alarm for years, may be you should have heeded it.

Same goes for youtube, discord, zoom, aws. Invest in the alternarives you idiots, don't wait until it's too late. You won't garner any sympathy when they tighten the strings.

  • What are you on about?

    Switching mid development is already prohibitively difficult and you’re talking about putting eggs in multiple baskets as if you could easily mix and match different engines.

    As for alternatives, there aren’t that many with feature parity (or close to it), especially not one that is FOSS. You can mock people all you want with your disingenuous “unity is better” quote, but the sad reality is that for anything serious it’s going to be either Unity or Unreal.

    Even Godot, which is arguably the most fleshed out FOSS option, isn’t viable in its current state and they themselves know it[0].

    So spare me the ill conceived “I told you so” nonsense.

    0: https://godotengine.org/article/whats-missing-in-godot-for-a...

Typical corporate shenanigans. What company wouldn't do this ever? Probably none.

“Why leading development firms are leaving Unity for Godot”

“Thinking of using Unity today? Think again!”

“Unity hates puppies and babies”

I hate the word "silently" in headlines like these. How else are the supposed to do it? By throwing a press event?

  • > I hate the word "silently" in headlines like these.

    Why hate reporting that fairly represents what they did?

    > How else are the supposed to do it? By throwing a press event?

    Sure. That's one way to uphold the standards of full transparency about what changes are happening and when - that Unity promised.

    • Deleting things never makes a sound. The word silently is added entirely for the connotation that it was meant to be secret. Since such an action would never go unnoticed, it's obvious that it wasn't meant to be secret, so that word is clearly misplaced. If the author wanted to imply it was bad, they should just come out and say it, with a word like despicably.

      5 replies →

  • They made a blogpost after their last drama touting how transparent they are going to be forward and how saintly they’ll be and how, in an effort to support these goals they’re making a GitHub repo where you can track changes made to the ToS.

    So yeah, a fucking blog post telling people that they’re pulling the plug on the repo is the least they could do.

    Anything short of that is doing it “silently”, especially considering that the old ToS stated that you can choose to stay on the old ToS if a newer one is detrimental to your interest and the new one removes that.