Unity announced a new fee structure today, and developers are none too happy. “We are introducing a Unity Runtime Fee that is based upon each time a qualifying game is downloaded by an end user,” the company wrote in a blog post announcing the change.
Yeah, so Windows is indeed a large part of why software works, but it is infrastructure which is packaged separately. Your reasoning can be extended into even further absurdity, like we should pay Intel each time we run software, etc. But this is just not how Microsoft and Intel operate. They’re not part of the product, but just make the product work. It’s not like we get another Windows version and Intel chip with each game.
Think of Unity like a frozen pizza bottom. What the developers needs to do is put some ingredients on top and it can be sold. The frozen pizza is clearly sold with the pizza bottom. Should the developer not have to pay per pizza bottom? You can bake the pizza in your oven, but the pizza developer doesn’t need to pay for the oven. They can assume people have that in place; it is simply a requirement in order for the pizza to be consumed.
However, if you are going to ship a Microsoft product as part of your product, you can sure as hell expect Microsoft sales people on your doorstep. They’ll negotiate an OEM deal and it’ll surely depend on things like: number of installs, number of downloads, number of users, time used, value extracted by the users, revenue made by you, etc. I’ve ran a big company for many years and did a number of OEM deals during that time (both being OEMed and OEMing). This is only reasonable.