As a fledgling game developer, I recently answered one of the biggest questions you are faced with at the beginning of your game developer journey: Which engine should I use?
I gave Unity, Godot, and Unreal engine a spin. Each had their pros and cons, which I laid out in this post. The TLDR; I chose Unity because coding was a first class citizen in docs and tutorials (looking at you Unreal) and the 3D tooling had matured (looking at you Godot). I then began working on my game, Journey's Beyond, which you can see video devlog progress on on my YouTube channel.
For the last month of dev, things were going well. I was feeling good, learning quickly, and a small game was starting to form. Then I woke up yesterday to some pretty shocking news.
I had heard rumblings of shady business practices from Unity in the last year. A merger with an ads network. A CEO from EA, a hyper monetization focused publisher. However, I never imagined any software company would attempt what they announced yesterday. Unity will be charging for their runtime.
How This Plays out for Indie Developers
Game development is hard. Especially as a solo dev or a small indie team. You spend months, oftentimes years, working on your dream, all the while dealing with things like marketing, development expenses, business expenses (for the small teams), and the opportunity cost of getting a normal 9-5 web development job (if you are trying game dev full time).
After all this, you get to the end, and you watch companies that are an essential part of the game development pipeline start taking their share of the money you've earned. Steam accounts for 50 to 70 percent of all PC game downloads, so it's ill advised not to publish on Steam. However, when you do,, you agree that Valve, the company that owns Steam, gets 30 percent of all your revenue. They don't care if you make a dollar or a million, they get their cut. But what if your game does make a million? Well, then you often have engine fees to worry about. Godot charges nothing, Unreal charges 5 percent of your revenue, and Unity? As of 2024 Unity will charge you the following:
Given Unity's model, you could be losing out on over half your revenue on cheaper steam games. This is unacceptable, and will make it much harder for Indie Developers to have enough success to continue to give us hit games such as Battlebit or Vampire Survivors.
What is the Alternative?
This could not have come at a worst time for Unity. Unreal engine recently announced version 5.3, which comes with improvements to the Nanite and Lumen systems, along with a handful of other improvements and quality of life changes. Meanwhile, Godot continually updates version 4, adding improvements for their (still immature) 3D toolbox. Godot also announced a new developer fund on the same day as the Unity price increase announcement, which is a subscription that is optional to support the future development of Godot.
However, when we consider alternatives, it's not just about engine advancements. Let's compare the Unity -> Steam publishing pipeline to the Unreal -> >Epic Game Store publishing pipeline, and you can tell me which one would be more lucrative for a succesfull indie title.
Unity and Steam
30% of Revenue
12% of Revenue
20 cents for every install after 200k installs and 200k in rev
5% after 1M dollars, waived due to publishing on EGS
The clear winner here is the Epic Games Store publishing pipeline with Unreal engine. Now of course, there are other factors. Steam has a larger audience than EGS, so the total available market is larger. Steam also has orders of magnitude more games. However, EGS recently opened up to Indie developers, so there's a fresh marketplace that is looking to promote good games in their algorithm. And due to the waived engine fee for using Unreal, it makes it even more enticing to leave Unity behind and sharpen our C++ skills.
What am I Going to Do?
What about my game, Journey's Beyond? Well, I haven't made enough progress yet that it would be unwarranted to switch to Unreal, but I also don't think this first game will make over 200k in revenue and get 200k installs. Given that, I'll finish this Unity game. However, after that, I will not continue to use Unity. It's a shame, because I've had fun using it recently and the ease of publishing webGL games and 3D experiences with it (like the one I made of my office here) is nice. However, I cannot in good concious use an engine with a pricing scheme like this. Even if I never make enough to be charged a cent, it's a matter of corporate ethics.
For my 3D projects, I'll be moving to Unreal Engine. I already have some labs that I've worked on in Unreal, and I can't wait to use what I've learned and take advantage of the new 5.3 features. As for 2D projects, Godot is the clear choice, and I will keep an eye on their 3D toolset as it's matures.
I really hope that Unity decides to roll back this change. For the good of Indie game devs everywhere.