Breaking free from Unity
Published by James on 16/09/2023Howdy, Kinoko fans! It’s been an eventful week, hasn’t it?
For the benefit of anyone who is somehow not in the loop, a quick recap: on Tuesday, 12th September, Unity Technologies, the software company behind the popular Unity game engine, announced a new pricing model. In short, the new terms dictate that games which have been installed (yes, not purchased, but installed) more than 200,000 times and have gained more than $200,000 USD revenue in the last 12 months will be liable to pay the new Unity Runtime Fee, which can be as much as $0.20 USD per install (yes, again, not purchase, but install).
Now obviously, 200,000 installs and $200,000 USD revenue are not small figures – and if you pay for a Unity Pro subscription (currently €1,877 EUR/year per developer, or $2,003 USD/year), these thresholds increase substantially to 1,000,000 on both counts. On the surface (and to Unity Technologies’ minds) this sounds perfectly reasonable. For Unreal Engine, Unity’s primary competitor in the 3D space, Epic Games take a flat 5% cut on any revenue above $1,000,000 USD. Some studios could run the numbers for their games and calculate that this still makes Unity’s offering a considerably cheaper one than Unreal Engine’s.
But it isn’t just the numbers that have attracted the ire of the community, studios big and small alike. It isn’t unacceptable for Unity to alter their business model and request a greater cut than they were receiving from their former, subscription-only model, but the way they have gone about it is all kinds of wrong.
First of all, there’s the charge per install. That doesn’t refer to the number of times that a game is purchased, but the number of times it is installed. If I buy a game and I install it on my PC, that’s one install. If I then install it on my Steam Deck to play on the move, that’s two installs. If I complete the game, uninstall it, but then fancy playing it six months from now, that’s three installs – and every single one of them is going to cost the developer as much as $0.20 USD. What happens if the game is pirated? Or what happens when somebody decides to use a script to ‘install bomb’ a game which dared to ask them for their character’s pronouns? Will the developers be charged then? Unity Technologies themselves don’t even seem to know the answer to that, and have changed their minds once already.
Second of all, Unity Technologies intend to apply this new policy retroactively – meaning that even the developers behind games which have been on the market for years (for example, Hollow Knight and Cuphead), and were developed under the previous, royalty-free arrangement, will now be liable to fork out for the Unity Runtime Fee any time somebody installs their game. There is absolutely no way that these developers could have foreseen this change, and so it’s a shocking betrayal on Unity’s part to suddenly start asking for this money now from games which were developed under the old terms.
Most egregiously, Unity Technologies deleted the GitHub repository which tracked changes to their terms and conditions before silently removing the bit which said that developers were bound by terms according to which Unity version they were using, and which would have meant they could have avoided the new fees by simply not upgrading. This puts studios on the hook for fees which they never expected nor agreed to pay, and means that studios with games in active development now have to account for these new fees. Depending on their business model, this is potentially catastrophic to their plans.
Ultimately, by making changes like this at such short-notice without consulting the very user base they’re wholly dependent on, attempting to force changes to their terms and conditions beneath the radar, and applying these new terms retroactively to studios which never had an opportunity to agree to them, Unity Technologies have betrayed their users, and can no longer be trusted.
So, what does all of this mean for Kinoko and the Cult of Galaxy?
We were – as we’ve mentioned in many of our previous blog posts – using the Unity engine to develop our game. We’ve spent nearly the last 12 months doing just that. Under the current thresholds, would we have ever been liable to pay the Unity Runtime Fee? Is our game going to sell a million units and generate a million dollars? We don’t know, but it’s beside the point. Unity Technologies can adjust these thresholds at any time, and they’ve proven now that they’re happy to change their terms with no notice whatsoever. Sticking with Unity now would be a risk, and it isn’t a risk that we’re willing to take.
We’re fortunate. A year is a lot of time to have spent developing our game, but we’re in a better position than some studios who have spent two years or even longer developing theirs, and are now effectively stuck with Unity. Whilst we’d invested a lot of time into the Unity build of our game, it wasn’t too late for us to start over. Our sprites, animations, and other assets will work anywhere. We figured that switching from Unity to another engine would set us back, but by weeks rather than months, and certainly not a full year. On balance, we decided that we’d be best off making the switch, and sooner rather than later.
I installed Godot that very night, and began going through the documentation and learning it immediately. I followed the short tutorial in their ‘getting started’ section, but after that I got straight on to rebuilding our Kinoko game, dropping in his sprites and implementing basic platforming mechanics. I was reassured by Godot’s ease of use. After just three days of learning, I felt confident enough to say that we were officially back in business, having completely cut ties with the Unity engine. Whilst it’s a setback, it isn’t a massive one, and I’m sure this move will turn out to be completely the right one for us in time.
It’s been an interesting few days, but we’ve made significant progress towards our Godot rebuild, and it’s honestly a massive relief for us both. I think that, whilst we could’ve decided to stick with Unity instead of throwing away what we had, going on to ultimately release our game and perhaps never even reaching those thresholds, it’s still reassuring for us that we’ll never need to worry about such eventualities full-stop. It isn’t necessarily easy picking up and learning a brand new game engine, but I’ve been pleasantly surprised by the speed with which I’ve been able to do so.
Developing games takes a different subset of skills, and when I started to work on our game in Unity a year ago I was a complete novice. Learning Unity took time, and I had to overcome many challenges and obstacles along the way. The fact that I’m now learning Godot so rapidly and easily speaks to my growing competence as a game developer, I think, and how much more skilled I am now than I was this time last year.
For the foreseeable future, we’ll be working towards rebuilding what we had. I don’t know yet how long this will take, but I feel pretty confident in estimating weeks rather than months. I believe we’ll be back to the level we were at previously in no time at all, and then we’ll be able to start driving the game forward in this new game engine which, honestly, I genuinely do prefer. It might be a little while until we’ve next got something genuinely exciting to share, whilst we’re busy playing catch-up, but I know we’ll get there soon and I can’t wait to talk about what our future plans are when we do.
For now, make sure you follow our social media channels for all the little updates along the way!