+1 vote

I'm new to Godot (in fact I just discovered it this morning); I've tried to find the answer to this and haven't yet, I hope I'm not double posting / missing something obvious.

I've been working with Unity for a number of years, and I've recently started looking for an alternative because (in part) of being a bit disillusioned with what an incredible pain it is to write and use something as simple as a JSON parser (that works correctly in more generalized / dynamic / easier to change cases than is supported by the currently existing JSON parsing libraries) in C# or UnityScript.

(It's not that it can't be done, it's just that it's a real pain, and that kind of thing and so many other things like it are so much easier in duck typed languages.)

I am very excited about the ideas presented in the GDScript documentation! I'm really looking forward to trying it out... but I would hate to put a bunch of effort into learning a new engine and language environment if it's all headed down the very same path I'm trying escape.

Is C# / strictly typed scripting the new main direction for Godot development?

in Engine by (44 points)

As far as I know GDScript will always be the first class citizen of Godot, even after GDNative brings C++ module support from v3. C# is just one more choice when it is finished, which will definitely not what I would use as I prefer GDScript and a little bit C++ when the game has script related performance issues.

C# may look more friendly on Godot because of the Scene/Node system, but GDScript is tied to Godot API so it will be always ahead of changes (also won't depend on Mono bloat).

GDS is also lightning fast to prototype and, in the end, most people may use GDS for small things and C++ via Native scripts for performance and maybe some Visual scripting by designers.

3 Answers

+2 votes

In their FAQ they give solid reasons why they chose to create GDScript instead of use another language. Apparently they tried integrating several languages before it, but couldn't get the results they wanted.

https://godot.readthedocs.io/en/stable/about/faq.html

I also read C# is only being added, because one person cared enough to volunteer to do it. So it doesn't sound like its a threat to GDScript.

I am more concerned with visual programming taking over, after what I saw at Unreal. If visual programming ever became the main way to program, I would quit programing. lol

by (243 points)

Yeah I read the FAQ, that's part of what attracted me to Godot. So the FAQ is more-or-less up to date, then?

Man I hear you about the whole visual programming thing. An IDE must box everything up for you in a tidy package. It has to try to anticipate, with pretty narrow precision, what you are going to want to do. Code gives you a whole lot more freedom and power. When an IDE really starts to hide or obscure things from code, or completely remove responsibilities from code, you begin to turn your engine into a toy for children.

I hope that's not happening with Godot?

"I hope that's not happening with Godot?"

I think they added it to lure some away from other engines. So its up to the users whether they adopt it or not. With Unreal they forced people to use it. At least with Godot, GDScript is the main one, so I'm hoping only a small number will use Visual Scripting, but not enough to do any real damage.

"Yeah I read the FAQ, that's part of what attracted me to Godot. So the FAQ is more-or-less up to date, then?"

As far as I know nothing has changed, in that regard. GDScript is a first class citizen for the reasons they mention in the FAQ.

I just realized I am being overly negative, which is a super bad habit of mine, so I edited my above post. Hopefully they will include a converter at some point, between GDScript and this visual script, so the code is easy to read no matter which kind you prefer. That would be the best of both worlds.

+3 votes

Don't worry. GDScript is here to stay. ;)

by (373 points)

Phew! Very glad to hear it.

0 votes

2021 update: GDScript is still being maintained and has been rewritten for Godot 4.0 with new features.

by (9,328 points)
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.