Choosing Your Godot Programming Language: C#, C++, GDScript
Godot officially supports three programming languages: GDScript, C#, and C++. Each has its strengths, and you can even use multiple languages in the same project. This video helps you choose the right language for your needs.
Watch the comparison
GDScript
GDScript is Godot's scripting language, built specifically for game development. It's also popular with app developers because it facilitates quick prototyping. It resembles Python but includes game-specific constructs and features such as reference-counted memory management and gradual typing. GDScript has virtually no compile time, can reload scripts at runtime, and integrates with Godot's built-in script editor, enabling fast iteration.
GDScript is generally considered easy to learn and remains the preferred language among the majority of Godot users. While it isn't as performant as lower-level languages for heavy operations, most of those operations are handled by the engine's core systems written in C++, so GDScript typically only acts as the glue that calls them.
C#
Choosing to use C# in Godot is a good choice when you want to leverage .NET libraries, or when you're already familiar with C# from other projects. It also makes sense to use C# selectively to handle performance-critical operations, since you can mix and match languages in a single Godot project. On the other hand, C# requires compilation after each change and has fewer Godot-specific learning resources compared to GDScript. While some developers coming from Unity initially set out to use C#, many end up switching to GDScript for its user-friendliness and close integration with the engine.
C++
C++ (via GDExtension) gives you maximum control and performance. Use it to create plugins, modify engine source code, or write performance-critical code. You can call C++ code from GDScript when needed. The trade-off is a more complex setup and development workflow, so C++ is typically chosen by experienced developers building custom engine features.
There are more than 10 stable programming languages available for Godot through third-party plugins maintained by the community. They include Lua, Rust, Nim, Haxe, and more. You can check out the full list here. Give those a try if you're a fan of one of the languages and willing to follow community updates closely or even contribute to them.
updates / code patches