Why I left Unity for Godot (and no, it is not only the runtime fee)
Eight years of Unity at a big studio, two years of Godot on my own. What I gained, what I lost, what I miss.
Contents
Bonjour. I am making a weird fishing game in Godot since almost 2 years. Before, I was 8 years in a big AAA studio in Montréal, and my personal projects were all in Unity. People ask me often why I switched, so voilà, the long answer.
The short history, for the people who were not there
- 12 September 2023: Unity announces the Runtime Fee. A fee per install, starting 1 January 2024, once your game passes a revenue and install threshold. Retroactive in the sense that games already shipped would count installs.
- The community explodes. Studios say they will remove ads SDKs, some say they will port. Many small devs do the math and the math is very bad for free-to-play.
- 22 September 2023: they walk it back partially. No fee on Personal, fee only for the new version from 2024, a choice of revenue share or install count, the cheaper one.
- October 2023: the CEO retires.
- September 2024: Unity cancels the Runtime Fee completely.
So actually, today, the fee does not exist. Some people tell me "it is fixed, come back". Here is why I am not coming back.
1. Trust is the real product of an engine
An engine is a 3 to 5 year bet. You learn its quirks, you build tools around it, your whole game is shaped by it. The fee showed me that the rules can change in the middle of the bet, on a Tuesday, by a blog post. Even if they cancelled it, I know now it is possible. With Godot, the license is MIT. Nobody can send me a per-install bill. If the Foundation does something stupid, the code is still there and someone will fork it.
2. Iteration speed
This one surprised me. My project opens in a few seconds. Change a script, it reloads. No domain reload of 15 seconds every time I save a C# file. For a solo dev, iteration time is everything. I make maybe 2x more small experiments per day, and the game is better because of it.
3. Nodes and scenes fit my brain
In Godot everything is a scene made of nodes, and a scene can be a node in another scene. My fish is a scene. The boat is a scene. The lake is a scene that contains the boat and 40 fish. It is composition all the way down. In Unity I always had a fight between prefabs, nested prefabs, ScriptableObjects and some manager singleton that knows everything.
4. GDScript is not a toy
I was a C++ and C# snob. GDScript with static types is fast to write and good enough for 95% of a small game. When I need speed, I can write a GDExtension in C++. I did it once for the fish flocking, it was 30 lines.
5. I can read the engine
When something is weird, I open the source and I read it. Twice I found my answer in 10 minutes this way. In Unity I filed a bug and waited.
What I lost (I am honest)
- Console ports are not built in. There are companies that do it for Godot, but it is extra cost and extra time. If your plan is Switch day one, think hard.
- The asset store. Unity's is huge. In Godot you build more yourself.
- 3D at the high end. For my stylised lake it is fine. For a realistic open world I would not pick Godot today.
- C# on the web. When I switched, Godot 4 could not export C# projects to the web. I use GDScript so I do not care, but check the current state if it matters for you.
- Jobs. Unity on a CV still opens more doors. If you want a studio job, learn Unity too. Both, not one.
So, should you switch?
If you are solo or small, 2D or stylised 3D, PC first: try Godot for one jam. One weekend. You will know.
If you have a team of 30 in Unity with a shipped game and console deals: no, c'est pas sérieux, do not rewrite your engine because a guy on the internet likes nodes.
And please wishlist my fishing game, it is weird, the fish look at you 🎣
Written by
Olivier Gagnon
Ex-AAA (8 ans dans un gros studio à Montréal), maintenant indie avec Godot. Je fais un jeu de pêche bizarre. Wishlist s'il vous plaît 🎣 FR/EN
Get the best of #unity weekly
One email each Monday with the most useful posts. No spam; unsubscribe in one click.
Comments
Sign in to join the conversation.
Sign in to comment