Godot Encyclopedia

3D development in Godot through a web programmer's eyes

A practical guide to Godot 4.x for people coming from JS/TS. An open-source engine with its own GDScript language, scenes instead of prefabs, and an MIT license — a different philosophy from Unity.

Introduction

3D Development in Godot

02.01
The Godot Editor, scenes, and nodes

The scene tree and Node3D — the foundation of everything in Godot.

02.02
GDScript, lifecycle, and signals

How Godot calls your code — _ready, _process, _physics_process, signals, await.

02.03
Input — the Input Map and action-based system

How to read the keyboard, mouse, gamepad, and touch through a single action system.

02.04
Physics — Bodies, Collision, Jolt

StaticBody3D, RigidBody3D, CharacterBody3D, Area3D — and why physics got faster in 4.6.

02.05
Camera and Phantom Camera

Camera3D, first/third-person views, and a plugin equivalent of Cinemachine.

02.06
Rendering and Materials

Forward+/Mobile/Compatibility, BaseMaterial3D, gdshader — how Godot draws a frame.

02.07
Lighting and Shadows

DirectionalLight3D, OmniLight3D, SpotLight3D, lightmaps, and SDFGI.

02.08
Animation — AnimationPlayer and AnimationTree

AnimationLibrary, state machine, blend spaces, root motion.

02.09
3D Audio and AudioBus

AudioStreamPlayer3D, routing through AudioBus, effects.

02.10
UI — Control Nodes and Containers

Control, anchors, containers, Theme and StyleBox.

02.11
PackedScene and Resource

A universal scene/prefab container and data-only assets.

02.12
Practice — a First-Person Controller

CharacterBody3D, move_and_slide, RayCast3D — a playable FPS skeleton.

02.13
Navigation — NavigationServer and AI

NavigationRegion3D, NavigationAgent3D — pathfinding and a chasing enemy.

02.14
Particles — GPUParticles3D and CPUParticles3D

ParticleProcessMaterial, emitters, sub-emitters, collision.

02.15
Multiplayer — MultiplayerAPI and RPC

ENet/WebSocket/WebRTC peers, RPC, MultiplayerSpawner and Synchronizer.

02.16
Resource loading — preload, load, threaded

How Godot loads assets — synchronously, asynchronously, with progress.

02.17
Building and optimization

Export Presets, Profiler, the web target and WASM, a release checklist.

02.18
Practice — a third-person platformer with a NavMesh enemy

PhantomCamera FreeLook, CharacterBody3D, double jump, coyote time, a chasing enemy, checkpoints.

02.19
gdshader in depth — vertex, fragment, light

Spatial shader structure, built-in functions, uniforms, varyings, optimization steps.

02.20
Path3D, PathFollow3D and splines

Curve3D, Path3D, PathFollow3D — movement along a spline, AI patrols, camera cutscenes.

02.21
GridMap — modular levels

MeshLibrary + GridMap for assembling locations from reusable blocks.

02.22
Threading — WorkerThreadPool and Thread

Parallel tasks in Godot — map generation, data processing, long operations without freezing the UI.

02.23
Decals — stickers in 3D

The Decal node for bullet holes, graffiti, dirt masks, footprints, and other overlays on geometry.

02.24
@tool and EditorPlugin — extending the editor

Tool scripts, custom inspectors, EditorPlugin, adding nodes and docks to the Godot editor.

02.25
TileMap (2D) — modular 2D levels

TileMapLayer, TileSet, terrains, autotile, navigation for 2D projects in Godot 4.x.

02.26
XR / OpenXR — VR applications in Godot

XROrigin3D, XRCamera3D, XRController3D — a basic VR scene for Meta Quest and SteamVR.

02.27
GDExtension — native plugins in C++ and Rust

godot-cpp, gdext (Rust), when native extensions are needed and how they work.

02.28
C# in Godot — practice and nuances

Godot .NET edition, differences from GDScript, migration, gotchas for developers coming from the Unity world.

02.29
Save / Load — persisting progress

FileAccess, ConfigFile, ResourceSaver, JSON, encryption, user:// paths.

Glossary