Skip to content

Godot's architecture overview ​

The following diagram describes the most important aspects of Godot's architecture. It's not designed to be exhaustive, with the purpose of just giving a high-level overview of the main components and their relationships to each other.

Diagram of Godot's Architecture; divided into three layers (from top to bottom: Scene layer, Server layer, and Drivers & Platform interface layer), with Core and Main separated on the right side since they interact with all layers.

Credit: Hendrik Brucker

Scene Layer ​

The Scene layer is the highest level of Godot's architecture, providing the scene system, which is the main way to build and structure your applications or games. See SceneTree / Using SceneTree and Node for more information.

Corresponding source code: /scene/*

Server Layer ​

Server components implement most of Godot's subsystems (rendering, audio, physics, etc.). They are singleton objects initialized at engine startup.

Why does Godot use servers and RIDs?

Corresponding source code: /servers/*

Drivers / Platform Interface ​

This layer abstracts low-level platform-specific details, containing drivers for graphics APIs, audio backends and operating system interfaces (all platform-specific OS and DisplayServer implementations).

Corresponding source code: /drivers/* and /platform/*

Core ​

The Engine's core contains essential functionality and data structures used throughout the engine, like Object and ClassDB, Core types, Core types, file I/O, Variant class, and Common engine methods and macros.

Corresponding source code: /core/*

Main ​

The Main component is responsible for initializing and managing the engine lifecycle, including startup, shutdown, and the main loop. See MainLoop for more details.

Corresponding source code: /main/*