Open-Source Wikis

/

Godot

/

Godot Engine

/

Glossary

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_methods registration. Defined in core/object/object.h. Almost everything in Godot is or contains Objects.
  • RefCountedObject subclass 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 by core/object/make_virtuals.py and method_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 with connect. Implemented inside Object itself. Compatible with Callable.
  • Callable — A first-class reference to a method or lambda, optionally bound to arguments. Backs Signal connections, Tween interpolators, 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 NodePath resolution. scene/main/node.cpp.
  • Viewport — A rendering surface that contains a sub-tree of CanvasItem/Node3D nodes. The root of the scene tree is a Window, which is a Viewport. scene/main/viewport.cpp.
  • Window — A Viewport that maps to an OS window via DisplayServer. The main window is created by SceneTree. 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.h plus scene/resources/.
  • PackedScene — A serializable scene fragment that can be instantiated. The .tscn/.scn files on disk are PackedScene resources. 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 by servers/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-Object storage for the script attached to it. The Object calls 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 are SCsub.
  • 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 by PackSource/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 @tool annotation) where editor code runs. tools=yes in SCons; @tool in 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 root Window.
  • 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 EditorPlugin registered 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.

Glossary – Godot wiki | Factory