Menu Share

About Unity’s New Pricing Model

by | Published on
category Trendy

In this article I will discuss the issues with the new Unity’s pricing model as a lot of people are angry or upset about it. I will also talk about what alternative engines you can use as a game developer.

Table of Contents

Unity’s Pricing Update

In the last week Unity published a new update on their pricing. They phrased it in such a way that if you choose to create your game with their engine you would have to pay-per-install which is a weird metric to put on a game.

To understand this better you need to know how the previous pricing model worked and maybe also how other commercial engines price their customers (the developers). Prior to this update Unity’s pricing model meant that if you make more than 100k of money with their engine you would have to subscribe for their premium engine subscription which is per-seat or per individual that is working with the engine.

With the current change though this doesn’t go away and you still have to pay the subscription on top of that you have to pay cents per each install of your game. This means that:

  • Essentially Unity will have to track installs which is gattering data from your customers
  • You will have to track installs so that you know that you’re not being cheated

What I mean with the second point is that Unity’s FAQ on the topic says that each install on a different platform even per once person means that you will have to pay Unity. But there is also the concern – what if their tracking reports pirated games? Or you probably use a market which allows people to install the game more freely on different machines? And here Unity’s answer is – well if you suspect something like this is happening then you need to report it and we will resolve it for you:

Here I mark the word suspected. This means that they might charge you initially but you also have to have some sort of way of knowing if you are being charged for “install bombing” or something else.

In general this kind of pricing is ridiculous for a game engine. Epic’s Unreal Engine has a way better solution on this where you have to pay a percentage of your profit when you reach a certain treshold. This I find fair and reasonable unlike payment per each installation.

The Benerfits of Using Free or Custom Game Engines

All of this could be mitigated by not choosing Unity in the first place. I know, I know. It is easy to start with it because there are a lot of tutorials and we all miss Brackeys. But when a company pulls this kind of tricks on their customers you have to sit and think – do I really want this to be easy and to be cheated or do I want to make a game and make some real profit.

This is where open-source engines like Godot come in. Such engines allow you to create a game without the need to pay them back. Or if you’re feeling like you want to contribute you can subscribe for their patreon.

Creating your own engine is also a great option and is what I do this blog for. I do like creating games from scratch and also programming. It is not for everyone and I understand this. Some more creative people that don’t like the coding aspect would benefit from an engine. But a lot of big companies are using in-house engines and this is for a reason. Ubisoft for example has Anvil for its Assassin’s Creed games, Valve has the Source engine and Amazon has Lumberyard. These are some great examples what you can do with a custom made engine and you don’t rely on anyone to make it for you.

Open-Source Game Engines

When things are tough like this you can always turn to the open-source engines. Some of them are pretty nice like Godot which recently got updated, supports C#, GDScript, C++ with GDExtension and a whole lot of languages. It is also based on Vulkan and is very cross-platform. You can also examine some other engines out there. Some of them are open-source for what it goes about the engine part but have a paid editor (that you can do yourself otherwise).

In-House Engine

This is my favourite approach. A lot of people look at it so complicated and it does require a bit of an extra work. But it can also be made easy. You don’t need to have the whole editor experience with your in-house engine. You can use programs like Tiled that export to formats that your engine can read.

Here I will be a bit biased and I will tell you that C++ is still the language that is considered the best for doing that. Other languages are either too slow, too unfriendly for beginners, still to young or don’t support the graphics or other game libraries. With C++ you would have the edge as it comes to portability, control and performance.

For creating your own engine you do need to setup your projects. Check out CMake if you want to do it with C++ and I also do have a course on this. You also don’t need to be proficient in every field of game engine development. There are already a lot of libraries that cover various fields of the development and you can quickly setup 2D and 3D projects as well. It just requires a bit of dependency management. And all those libraries are open-source as well. Just check out this article where I talk about libraries for engines.

And if you want to go all the way – you can also create your own editor. There are a lot of custom-made games out there where the developer did their own engine and editor and everything. The easiest way to go there is to choose ImGui and create fast and pretty interfaces with it. This is also what The Cherno uses for his Game Engine and his tutorial series that I strongly suggest that you follow. You can also check out my course on ImGui that covers its setup and also the BGFX library for graphics.

Conclusion

While you use a proprietary or even a free engine that is used by a private company you always tie yourself to being open to such disasters and changes. When going open-source or you do your own private engine you will not have such problems and you will be able to calmly work and release your game knowing that you won’t be screwed up by some major change.

Leave a comment

Your email address will not be published. Required fields are marked *