For devs who are already proficient in C++, if you were going to start a new 3D project in Godot which language/s would you use?
Use whatever you’re comfortable with. If you think learning GDScript would be worth it for your case, then do so, otherwise stick to C++.
I like using GDScript. Depends on why you like C++ I suppose, but ultimately it’s just another language. I like C++ for it’s speed, manual memory management, and ability to catch errors earlier; though these days I prefer Zig being better at all of the same reasons.
Some GDScript pointers from a C++ point of view:
- if the type doesn’t have a
.duplicatemethod then it’s passed/assigned as a copy, otherwise by reference. - Strings are copied, but use an underlying copy-on-write system which saves on small allocations as you pass strings around.
- You should enable warnings for untyped declarations
GDScript and worry about C++ only for performance critical things after they become a problem. The GDScript workflow is easier, no compilation times, live update your code while the game is running etc.
GDscript all the way.
When I was less experienced with Godot, I considered using C# so I could program more stuff in other programs.
But then I realized, I couldn’t give a crap about non-game development programming. And GDscript is so easy to use. The choice was obvious.
Please make your choice based on your real experience, not theory.
GDScript.
It continues to get more performant and is a higher level language than C++ which means it deals with a lot of crap that’s really annoying in C++. It does its own memory management, which is worth it for me for that alone. It supports strict typing (which I recommend) but allows duck typing. It’s similar to using Python, so easy to learn the syntax. And if you have problems with your code most people on here are going to be able to help you if it’s GDScript. If you use GDExtension with C++ for Godot the pool of knowledgeable help goes down to less than a handful of people on this forum.
For reference, my first job using C++ professionally was in '93. So I’ve have had a fair amount of experience with it over the years. But I haven’t used it professionally since probably 2008.
GDScript. And C++ where necessary.