Skip to main content

What is Godot Engine?

Godot Engine is a feature-packed, cross-platform game engine to create 2D and 3D games from a unified interface. It provides a comprehensive set of common tools, so that users can focus on making games without having to reinvent the wheel.
Godot is completely free and open source under the very permissive MIT license. No strings attached, no royalties, nothing. Your games are yours, down to the last line of engine code.

Key Features

2D & 3D Support

Create both 2D and 3D games with dedicated rendering pipelines and node systems optimized for each.

Cross-Platform

Export with one click to Windows, macOS, Linux, Android, iOS, Web, and consoles.

Open Source

MIT licensed with no royalties. The community drives development through the Godot Foundation.

Multiple Languages

Script in GDScript (Python-like), C#, C++, or use visual scripting.

Engine Architecture

Godot uses a scene system where everything is organized as a tree of nodes. Each node has a specific purpose and can be extended with custom behavior through scripts.

Core Subsystems

The engine is built with several server subsystems that handle different aspects of game functionality:
Handles all visual rendering, including 2D and 3D graphics, shaders, materials, and visual effects.
Separate physics servers for 2D (physics_2d) and 3D (physics_3d) handle collision detection, rigid body dynamics, and physics queries.
Manages audio playback, mixing, effects, and spatial audio for immersive sound.
Supports virtual reality (VR) and augmented reality (AR) experiences.

Scene System

Godot organizes games using a scene system. Scenes are composed of nodes arranged in a tree hierarchy:
  • Node2D: Base for all 2D game objects (sprites, animated sprites, cameras, particles)
  • Node3D: Base for all 3D game objects (meshes, lights, cameras, skeletons)
  • Control: Base for all UI elements
  • Node: Base class for all nodes in the scene tree
You can save any branch of the scene tree as its own scene file and reuse it across your project. This makes Godot’s scene system incredibly flexible and modular.

Scripting with GDScript

GDScript is Godot’s built-in scripting language, designed specifically for game development. It features:
  • Python-like syntax that’s easy to learn
  • Tight integration with the engine
  • Optional static typing for better performance and error checking
  • Built-in support for common game development patterns
Here’s a simple example from the engine source:
extends Node

# Called when the node enters the scene tree for the first time.
func _ready() -> void:
	pass # Replace with function body.

# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
	pass

Development & Community

Godot’s development is fully independent and community-driven, empowering users to help shape their engine to match their expectations. It is supported by the Godot Foundation not-for-profit.
The engine was created by Juan Linietsky and Ariel Manzur and was open sourced in February 2014. Since then, it has grown into a thriving open-source project with thousands of contributors.

Version Information

This documentation covers Godot Engine 4.7, the latest version featuring:
  • Vulkan-based rendering (Forward+ and Mobile)
  • Improved GDScript performance with optional typing
  • Enhanced 3D physics and navigation
  • Better 2D rendering and lighting
  • Expanded platform support

Next Steps

Quickstart Guide

Create your first Godot project and learn the basics.

Installation

Download and install Godot on your platform.

Editor Basics

Learn how to use the Godot editor interface.

GDScript Guide

Master GDScript programming for game development.

Build docs developers (and LLMs) love