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.

Community supported programming languages

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

There's no good way around coding in gamedev
In Modules 4 and 5 of Learn 2D Gamedev From Zero, you learn how to write your first scripts on your way to becoming an independent game developer.

Nathan

Founder and teacher at GDQuest
  • Module 4 Lessons 1-6Learn 2D Gamedev From Zero with Godot 4
  • Module 5 - Lessons 1-10Learn 2D Gamedev From Zero with Godot 4
Check out GDSchool
Become an Indie Gamedev with GDQuest!

GDQuest's comprehensive gamedev curriculum teaches you how to code and think like a programmer.

Try one of our proven study programs to become an independent Gamedev truly capable of realizing the games you’ve always wanted to make.

Nathan

Founder and teacher at GDQuest
  • Starter Kit
  • Learn Gamedev from Zero
Check out GDSchool

You're welcome in our little community

Get help from peers and pros on GDQuest's Discord server!

20,000 membersJoin Server

Contribute to GDQuest's Free Library

There are multiple ways you can join our effort to create free and open source gamedev resources that are accessible to everyone!

Site in BETA!found a bug?