I have been teaching myself C# with a textbook that I find really helpful and I'm enjoying C# a lot, but I am still relatively new to programming. My friend and I want to try making games and we decided to go with Godot as the engine as we don't want to use Unity for a variety of reasons. However, because I'm still new to programming and I know Godot has its own script, I'm unsure if I should use C# like I've been learning or if I should try to learn GDScript.
I know Godot supports C#, but is it hard to translate and know what to do with C# in the engine? I think I would most struggle with following tutorials that use GDScript if I want to use C# but I'm just so unsure...
It is very easy. You just download the C# version of the engine and have right version of .net installed and it’s just normal scripts writing. Extend Node or whatever node type you want to attach the script to. It compiles and runs just as fast imo.
Huge downside to using C# is no support for web exports that use the language. Tutorials will be aimed at GDScript, the engine has great support for GDScript as it’s built from the ground up for Godot.
Programmers may have a favorite language but once you learn a few many will feel right at home, especially the family of imperative programming language like C# and GDScript.
I’ve been using C# for almost 10 years now and I find it quite easy to translate C# code into GDScript code and vice versa. It really comes down to knowing the correct syntax, and I did have to ship a game before that used only GDScript since it HAD to be on the web.
I’d say if you want to use both languages, you’ll eventually get familiar with the engine as a whole, so translating code between the two becomes absolutely trivial. Usually C# requires a bit more boilerplate to achieve the same things, but that’s about it.
when i started i wanted to go with C# cuz everyone i knew said gdscript is bad and unoptimized, but after a while i understood C# is worse in godot for most stuff than gd script, you’re not only losing tutorials, beginer friendly language, good support, utility stuff but also speed you can make game in
and if someone argues that C# is faster for math - remember 90% of your problems will come from bad logic, not language itself, so don’t worry about that either