Devlog 14: GDScript vs C#

Next Post
Devlog 14: GDScript vs C#
DESCRIPTION

Hey! Today's devlog is about programming languages for the Godot engine. It's text-only this time, but I'll add art as compensation :

For those who don't know, let me quickly explain. Godot has two programming languages, and accordingly two versions of the engine:- The regular version — which only supports GDScript and works exclusively with it.- The Mono version — which supports both GDScript and C#.It might seem like if the Mono version supports two languages, it's better to use it — but that's not entirely true. If you only program in GDScript, the regular version will be much more optimized and better.So why did I bring up the topic of programming languages? Well... there's a whole bunch of things I ran into during development, so let me walk you through how it went.After releasing "Life with the Tribe" (which was made in GDScript), my job at CriticalBliss asked me to brush up my C# skills (which were zero at the time) to join development on a bigger project. I agreed, and with the help of reference code from other programmers, I started learning C#. This led to a situation where, during learning and work, it became hard for me to develop projects in GDScript — for the simple reason that switching between two languages for two different projects is difficult. So I decided to switch entirely to C# for my own projects.That led to my current situation. I know two programming languages: C# and GDScript. So when I started working on optimizing "Life with the Tribe" for DLC content and a global update, a thought hit me: "Why am I even porting this project to C# in the first place?"That thought stopped my work completely, because I had never really thought, after switching to C#, that I'd ever need to go back to GDScript. Why is that? Well, most programmers I know who develop games on Godot work exclusively in C#. If they all use that language, doesn't that mean it's better, right? That kind of thinking seemed logical, but it had no real basis. So I decided to check it for myself.Thanks to forums and — yes, with some help from AI (we all ask AI when we don't know the answer, right?) — I came to the conclusion that there is a difference between them, but it comes down to convenience rather than anything else.Let's start with C#: it's a language that's been around for a long time and is used in a lot of places. That's its biggest advantage — you don't limit your career options and can work on all sorts of things. But honestly, that's the only advantage it has over GDScript. Just that one advantage!C# has a huge existing ecosystem and is very convenient, but at the same time, if we're working in Godot, we're forced to use only the Mono version and constantly rebuild the project. The Mono version itself is bigger, so even the project ends up bigger than the same project in the regular version (in file count and size). Mono builds also have export issues specific to this language (for example, you can't build a web version of a project in C#, and there are problems with Android builds).Although that might seem like a small issue compared to the advantage, you do open the door to working at bigger companies — but that prospect doesn't interest me. Having worked on a big team before, I realized it's pretty demanding work, and the whole approach to development on a big team is fundamentally different from what I enjoy.Now for GDScript: first and foremost, it's the native language of Godot. Most things inside the engine are built around it. Even though C# might seem to work well with Godot too, GDScript still works noticeably better. The build itself is smaller, most features available in C# also work in GDScript, there's no constant project rebuilding just to check for errors, no limits on different export targets (web, Android) — and overall, this language doesn't fall short of C# except for a few specific things that are rarely used anyway.As for downsides, the only real one is that this language is used only in Godot. So if you learn it, you won't easily be able to start some other project outside of a game or product built on the Godot engine. For some, that might be a big drawback, but I don't see it that way — everyone has their own priorities, after all.Which brings us to the conclusion — it all depends on your goal:- If you want to work as a developer beyond just Godot games, you should pick C#.- If you only plan to make games on this engine, GDScript is the better choice.After this analysis, I realized I fall into the second category. I'm not interested in working on big teams on big projects — I'm much more drawn to indie games. Even looking at the games I buy on Steam, I almost always go for indie projects; games from big companies almost never interest me (except for FromSoftware — I'm a fan of theirs). So I concluded I'd been heading in the wrong direction.As for "Life with the Tribe", I've stopped porting it to C# and am now focused only on optimizing the existing project (version 1.0). Right now I'm porting some of my addons (which were written in C#) into the project to replace some old, broken code. And honestly, it's going a lot faster than I expected. Maybe the experience of learning another language made me a more skilled developer overall — either way, the project's progress right now is much better than it was before. So expect updates and news!

Thanks for your support!

Chimera Zak PATREON 313 favs
VIEWS1
FILES1 file
POSTEDJun 24, 2026
ARCHIVEDJun 24, 2026