Build production-ready Godot systems.
Choose a path, build the skill in a lab, ship it in your next scene. Nodes, signals, input, physics — practical, not theoretical.
extends CharacterBody2D
@export var speed: float = 300.0
func _physics_process(delta: float) -> void:
var direction := Input.get_vector(
"left", "right", "up", "down"
)
velocity = direction * speed
move_and_slide()Everything you need to build games
Unreal to Godot Guide
Transitioning from Unreal Engine to Godot 4? Learn how Blueprints map to GDScript, Actors ...
Unity to Godot Guide
Switching from Unity to Godot? This migration guide maps Unity concepts to Godot equivalen...
Node Tree Explorer
Understand Godot's node and scene system from scratch. Learn how nodes work, how to compos...
Translation Game
Match Unity and Unreal Engine terms to their Godot equivalents in this interactive quiz ga...
Code Lab
Side-by-side code comparisons between C# (Unity) and GDScript (Godot). See how familiar co...
Input Guide
Learn about Input Actions, events, and handling player control in Godot 4. Master keyboard...
Physics Guide
Learn RigidBody, CharacterBody, collisions, and physics layers in Godot 4. Complete 2D and...
Save & Load Guide
Build robust save systems with JSON, FileAccess, and auto-save features in Godot 4....
Scene Builder
Drag and drop to build a Godot scene tree from scratch. Interactive exercise to practice n...
Input Playground
Real-time input testing playground. Press keys and see Godot's input system respond instan...
Code Sandbox
Practice GDScript in a browser-based editor with syntax highlighting, saved snippets, and ...
Editor Guide
Master the Godot Editor: panels, shortcuts, hidden features, and productivity tips for eff...
Asset Pipeline Guide
Import 3D models, audio, textures, particles, and more into Godot 4. Complete asset pipeli...
Real World Patterns
Learn essential design patterns implemented in GDScript for Godot 4: Singleton, Observer, ...
GDScript Cheat Sheet
Complete GDScript cheat sheet for Godot 4. Variables, functions, signals, exports, types, ...
Copy-ready code for common patterns
2D Player Movement
Basic WASD/arrow key movement for CharacterBody2D
extends CharacterBody2D
@export var speed: float = 300.0
func _physics_process(delta: float) -> void:
var direction := Input.get_vector("left", "right", "up", "down")
velocity = direction * speed
move_and_slide()Top-Down 8-Direction Movement
Normalized 8-direction movement with acceleration and friction
extends CharacterBody2D
@export var max_speed: float = 200.0
@export var acceleration: float = 1200.0
@export var friction: float = 1000.0
func _physics_process(delta: float) -> void:
var input_dir := Input.get_vector("left", "right", "up", "down")
if input_dir != Vector2.ZERO:
velocity = velocity.move_toward(input_dir * max_speed, acceleration * delta)
else:Smooth Camera Follow
Camera2D that smoothly tracks a target node with offset and dead zone
extends Camera2D
@export var target: Node2D
@export var smoothing: float = 5.0
@export var offset: Vector2 = Vector2(0, -40)
@export var look_ahead: float = 50.0
func _process(delta: float) -> void:
if not target:
return
var target_pos := target.global_position + offsetPlatformer Jump with Gravity
Variable-height jump with coyote time and jump buffering
extends CharacterBody2D
@export var speed: float = 300.0
@export var jump_force: float = -400.0
@export var coyote_time: float = 0.12
@export var jump_buffer_time: float = 0.1
var gravity: float = ProjectSettings.get_setting("physics/2d/default_gravity")
var coyote_timer := 0.0
var jump_buffer_timer := 0.0
func _physics_process(delta: float) -> void:Health Bar with Tween
Animated health bar that smoothly transitions when health changes
extends ProgressBar
@export var health_component: Node
func _ready() -> void:
if health_component:
health_component.health_changed.connect(_on_health_changed)
max_value = 100
value = 100
func _on_health_changed(new_health: float) -> void:
var tween := create_tween()Damage Numbers Popup
Floating damage numbers that rise and fade out when enemies take hits
extends Node2D
# Call this to spawn a damage number
func show_damage(amount: int, pos: Vector2, is_crit: bool = false) -> void:
var label := Label.new()
label.text = str(amount)
label.position = pos
label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
if is_crit:
label.add_theme_color_override("font_color", Color.RED)
label.add_theme_font_size_override("font_size", 28)Learn by building, not by reading
Code Sandbox
Run, edit, and test GDScript snippets in your browser
Open LabScene Builder
Drag & drop to compose scene hierarchies visually
Open LabInput Playground
Test Input Map actions with live feedback
Open LabTranslation Game
Match Unity / Unreal terms to Godot equivalents
Open LabTutorials, deep dives & opinions

Godot 4 Complete Beginner Tutorial: Build Your First Tiny Game
A practical first-game tutorial for Godot 4 beginners. Build a tiny collect-and-score game while learning scenes, nodes, input, signals, collisions, and export-ready habits.
GuideGodot 4.7: Creating Games Entirely on Android Is Now Real
Godot 4.7 makes Android-only game development feel real: use the Android editor, GABE export support, resizabl...
NewsWhat's New in Godot 4.7: Lights, Camera, Action
A practical tour of Godot 4.7's biggest changes: AreaLight3D, HDR output, Control offset transforms, DrawableT...
GuideGodot 4.7 Upgrade Checklist: What to Test Before Moving Projects
A focused Godot 4.7 migration checklist for real projects: backup strategy, UI, rendering, Android, XR, input,...
GuideGodot Scenes vs Unity Prefabs: The Migration Explanation That Actually Helps
Coming from Unity? Learn how Godot scenes compare to prefabs, why every reusable object can be a scene, and ho...
TutorialGodot Collision Layers and Masks Explained Without the Headache
Learn Godot collision layers and masks with a practical 2D setup. Understand what objects are, what they detec...
GuideGodot Autoload Singleton Guide: When to Use Global Scripts
A practical guide to Godot Autoloads and singletons. Learn what belongs in a global script, what should stay i...
Track your progress as you learn
Earn XP, unlock achievements, and level up from Newbie to Legend across 15 guides.