Godot is a free, open-source game engine for 2D and 3D games. This page covers what Godot is, the programming languages it supports, and what you need to know before you start building games with it.
Godot is a feature-packed, general-purpose game engine with a fully integrated editor. You can design levels, write code, and create animations all inside the same tool. It supports a wide range of project types, from small 2D games to full 3D ones.
Programming languages. Godot supports several languages:
GDScript is the primary scripting language, designed specifically for Godot with a tight integration in the editor.
C# is also supported and is a common choice among developers coming from Unity.
For performance-critical code, GDNative (Godot 3) and GDExtension (Godot 4) let you write game code in C, C++, or Rust without recompiling the engine.
In Godot 3, there was also a visual scripting option called VisualScript, but it was removed in Godot 4.
You need to learn some programming to use Godot. Godot has an accessible editor, but you still need to write code to make games with it. To work through your own game ideas, you need to be able to think like a programmer: break problems down, think about what the computer needs to do, and debug when things go wrong. If you jump straight into a game engine without building those foundations, you will hit obstacles. Those have nothing to do with Godot and everything to do with programming in general.
I'm new to programming. Where should I start?
Start with Learn GDScript From Zero, a free interactive course that teaches programming basics using GDScript. It's a stepping stone designed to give you just enough to then go on and learn from resources that teach gamedev with Godot.
If you want to go deeper into computer science and programming theory beyond game development, Harvard's CS50 is probably the best free introduction available.