Unity's recent announcement about implementing a per-install charge has stirred controversy among game developers for several reasons. Firstly, developers are already burdened with annual licensing fees ranging from €1,877 to €4,554 per seat for using the Unity platform. Secondly, they are concerned about the lack of control over when and where users choose to install their software, as they neither have the capability nor the desire to engage in extensive user surveillance, potentially forcing them into the realm of mass monitoring.
This announcement follows Unity's initial public offering in 2019, which disappointed investors due to its poor performance. To address this issue, Unity's management is exploring new revenue streams, leading to the introduction of this new pricing model. While it's unquestionably important for Unity's engineers to be fairly compensated for their work, especially considering the platform's success in the game industry, the question arises: does Unity truly face a revenue problem? To assess this, let's conduct a quick comparison of Unity's pricing with that of other software commonly used in the game industry. For instance, Maya costs €2,226 per year, the full Adobe suite is priced at €1,841.76/year, and notably, an Unreal Engine license is $1,500 per year. In light of these figures, it's evident that Unity is not significantly underpriced; if anything, it falls within the higher range for products of this kind.
In oder to understand what the actual problem is, I invite you, dear reader, to compare the following two pictures:


On one hand, we witness the continuous expansion of Unity's workforce year by year. On the other hand, consider the credits screen of Quake, which lists a mere 18 individuals. It's essential to recognize that these individuals were not only responsible for creating a game but also for developing an entire game engine, along with a programming language known as QuakeC and its interpreter and toolchain.
How can such a stark disparity even occur? While Unity's tasks are undeniably more complex than Quake's - there are higher expectations from a game engine, given the advancements in the industry - let's be frank: does Unity genuinely accomplish 428 times more than Quake? The answer is an unequivocal no. In fact, the Unity engine was already highly successful in the game industry in 2019, with only about one-third of its current workforce.
Unity has a real software engineering productivity problem on its hands. In fact, this is not limited to Unity, most of the software industry productivity is abysmally low. Yet, on a regular basis, we see small teams outperform companies which are orders of magnitude their sizes. Consider the following, examples:
Instagram, 13 employees at acquisition.
Whatsapp, 55 employees at acquisition.
Notion was built on a team of 10 people.
SuperHuman has 103 empoyee as of today.
Godot has a core of 10 contributors, and about 100 occasional contributors.
All these products have millions of users, and they're far from trivial. So, what's the deal? The truth is, software engineering doesn't have to be needlessly inefficient, and there are well-established strategies to improve it. The problem is that many software engineers have never worked in such a fast paced environment and lack experience in setting it up. To make matters worse, management often obstructs the necessary steps to implement these strategies. Consequently, the industry tends to blindly follow "best practices," which, more often than not, stifle productivity.
In this blog, I will delve into these strategies. Meanwhile, I strongly suggest that Unity consider returning its workforce to its 2019, or even 2013, levels. At that time, the company was successfully delivering a product that the industry embraced, demonstrating that it's feasible to be crushing with that workforce size. This will entail making numerous tough decisions, encompassing aspects like human resources, technical adjustments, and strategic shifts. It leads us to our initial lesson: too often, we let the situation deteriorate due to cowardice.