godotengine/godot
Glossary
Terms that recur in the Godot codebase. Keep this open while reading source.
Engine concepts
- Object — Universal C++ base class with reflection, signals, properties, and a
_bind_methodsregistration. Defined incore/object/object.h. Almost everything in Godot is or containsObjects. - RefCounted —
Objectsubclass with intrusive reference counting (Ref<T>). Resources, scripts, and most data containers inherit from it.core/object/ref_counted.h. - Variant — A tagged union over ~30 built-in value types (BOOL, INT, FLOAT, STRING, VECTOR2/3/4, COLOR, NODE_PATH, RID, OBJECT, ARRAY, DICTIONARY, packed arrays, etc.). The currency for scripting interop.
core/variant/variant.h. - ClassDB — Static registry of class metadata (parents, methods, properties, signals). Built up by
_bind_methods()calls and consumed by scripting, the editor inspector, and serialization.core/object/class_db.h. - MethodBind — Templated trampoline that invokes a C++ method given a list of
Variants. Generated bycore/object/make_virtuals.pyandmethod_bind_common.h. - PropertyInfo — Metadata about a property (type, hint, hint string, usage flags). Drives the inspector and the GDExtension API.
core/object/property_info.h. - Signal — Object-level event sink; emit with
emit_signal, connect withconnect. Implemented insideObjectitself. Compatible withCallable. - Callable — A first-class reference to a method or lambda, optionally bound to arguments. Backs
Signalconnections,Tweeninterpolators, and async operations.core/variant/callable.h. - NodePath — A path to a node in the scene tree (e.g.,
"../Player/Sprite") plus optional subname for a property.core/string/node_path.h. - RID — Resource ID, an opaque handle into a server's internal table. Servers (rendering, physics, etc.) own pools of RIDs.
core/templates/rid.h.
Scene concepts
- MainLoop — Engine-level per-frame driver. Subclass:
SceneTree.core/os/main_loop.h. - SceneTree — The runtime owner of the active scene. Manages process callbacks, groups, multiplayer, and the root viewport/window.
scene/main/scene_tree.cpp. - Node — Base for everything in the scene tree. Owns parenting, processing, signals on the scene side, group membership, and
NodePathresolution.scene/main/node.cpp. - Viewport — A rendering surface that contains a sub-tree of
CanvasItem/Node3Dnodes. The root of the scene tree is aWindow, which is aViewport.scene/main/viewport.cpp. - Window — A
Viewportthat maps to an OS window viaDisplayServer. The main window is created bySceneTree.scene/main/window.cpp. - CanvasItem — Base class for 2D nodes. Provides drawing primitives and Z-ordering.
scene/main/canvas_item.cpp. - Node2D / Node3D / Control — Spatial bases for 2D, 3D, and GUI subtrees respectively.
- Resource — Reference-counted, serializable data (
.tres/.res). Examples:Texture2D,Mesh,AudioStream,Material,Shader.core/io/resource.hplusscene/resources/. - PackedScene — A serializable scene fragment that can be instantiated. The
.tscn/.scnfiles on disk arePackedSceneresources.scene/resources/packed_scene.h. - SceneTreeFTI (Fixed-Timestep Interpolator) — Smooths node transforms between physics ticks at variable framerates.
scene/main/scene_tree_fti.cpp.
Server / driver concepts
- Server — A subsystem façade in
servers/that exposes a public API and forwards calls to one or more backends. Examples:RenderingServer,PhysicsServer3D,AudioServer,DisplayServer,NavigationServer3D,TextServer,XRServer. - WrapMT — A multi-threaded wrapper that funnels calls onto a dedicated server thread. Implemented as
<Server>WrapMT(e.g.,RenderingServerWrapMT). Generated/aided byservers/server_wrap_mt_common.h. - Driver — Concrete I/O backend in
drivers/(e.g.,vulkan,d3d12,metal,gles3,alsa,wasapi,coreaudio). - RenderingDevice (RD) — An abstraction layer over Vulkan/D3D12/Metal that the modern renderer is built on.
servers/rendering/rendering_device.h. - Forward+ / Mobile / Compatibility — The three rendering "methods" Godot ships:
- Forward+ (clustered forward, RD backend) — desktop-class.
- Mobile (forward, RD backend) — tile-friendly mobile pipeline.
- Compatibility (
drivers/gles3) — broader compatibility, web/mobile fallback.
Scripting concepts
- GDScript — Godot's built-in dynamic, indentation-sensitive scripting language.
modules/gdscript/. - Mono — The C# scripting integration via .NET 8. Calls into engine through generated bindings.
modules/mono/. - GDExtension — C ABI extension system that lets external shared libraries register their own classes/methods/properties. Replaces the older "GDNative".
core/extension/. - ScriptInstance — Per-
Objectstorage for the script attached to it. TheObjectcalls into the script for property reads, method dispatch, and signal handling.core/object/script_instance.h.
Build / tooling
- SCons — Python-based build system. Entry point is
SConstruct; per-directory build files areSCsub. - SCU build — "Single compilation unit" mode (
scu_build=yes) that concatenates source files at build time to speed up compilation.scu_builders.py. .import— Sidecar metadata produced when an asset is imported into the editor. Maps a source file (e.g.,.png) to its imported binary cache and import settings.- PCK — Godot's pack file format (
.pck). Contains the project's resources for an exported game; loaded byPackSource/PackSourcePCK. - Export template — A pre-built engine binary that is combined with a project's PCK to produce an exported game.
Domain glossary
- Tool — A build (or a script's
@toolannotation) where editor code runs.tools=yesin SCons;@toolin GDScript. - Singleton — A globally accessible engine class (registered with
Engine::add_singleton). Examples:Input,OS,Engine,ProjectSettings,Performance. - Autoload — A user-defined singleton declared in
project.godot; loaded into the scene tree at startup as a child of the rootWindow. - Project settings — Key/value config persisted in
project.godot. Override per "feature tag" (e.g.,mobile,web).core/config/project_settings.cpp. - Feature tag — A platform/capability flag like
windows,mobile,web,s3tc,etc2. Used to gate project settings and to pick export presets. - Editor plugin — Subclass of
EditorPluginregistered to add UI, menus, importers, exporters, or main screens.editor/plugins/. - EditorNode — Singleton that owns the editor UI. The largest single source file in the repo at the editor layer (
editor/editor_node.cpp). - Class reference — XML files in
doc/classes/(810 files) that document every exposed class. Consumed by the editor's help, the docs site, and verification hooks.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.