Value of learning GDScript?

Godot Version



Hello! Currently getting into Godot, and liking it so far. I’m a somewhat experienced developer with a few years of C++ and C# under my belt, and about 6 years of working professionally with Unity. After some preliminary googling before I started I saw that there is a lot of love for GDScript and that people warmly recommend giving it a try because its tight coupling to the engine is a major advantage, so I decided to give it a try.

Now, as a language I’m finding it… tolerable. I’ve never really been a big fan of this style of syntax in programming languages, and I’m finding it a little hard to get used to this high level of abstraction. So I’m just curious, if I’m already experienced with C# and using game engines, how much do I have to gain by sticking with GDScript? I realize a lot of the advice to try out GDScript is usually aimed at complete beginners, so I’m just curious just how valuable it would be for someone in my position.

I’m willing to stick with it, because I do see some benefit, I just currently don’t feel like it’s worth the sacrifice.

I learned GDScript when I first started using Godot, even though I have been using C# at work for over a decade. I did it for two reasons. First, to be able to read and understand it when I am searching for a solution to something. Second, because Godot 3.x only supported .NET 4.8. When Godot 4 came out, I immediately converted my GDScript to C# and am now in .NET 8. I don’t use GDScript at all now. In fact, I abandoned Resources for .JSON files, Signals for C# event handlers, and Godot Dictionaries for C# dictionaries. All is well.

1 Like

(End of text) In general, the message is that for large projects - C#, for small projects and beginners - GDs.

(Beginning of text)
As an option you can try to make projects on GDs to understand how the engine works, although the principle of creating games is ± similar to Unity. Personally I work in C# and the main argument I’ve heard in favour of GDs is its connection to the engine and full disclosure of features, however of all the features that were not available to me during development is preload (sort of), but it didn’t really hinder development. I think using C# would be a better practice for Godot, for its static typing speeds up processing considerably. Saw a video comparing GDs and C# the performance of C# was greater by 100%. But it should be noted that GDs has type specifying, but for me this way is not comparable to C# syntax.

Also, the use of OOP is more easily exposed with the use of C#. I use inheritance and composition in my project and can’t imagine what nonsense it would be if I wrote it all in GDs