| name | build-scene |
| description | Pattern-based Godot scene construction with node hierarchy templates and companion node rules |
| argument-hint | [scene type: platformer character, UI screen, projectile, etc.] |
Build Scene
Construct Godot scenes from proven patterns. Each pattern includes REQUIRED companion nodes that LLMs commonly forget.
Scene Patterns
Platformer Character
CharacterBody2D "Player"
CollisionShape2D # REQUIRED -- CharacterBody2D without this = no collisions
Sprite2D # Visual representation
AnimationPlayer # Idle, run, jump, fall animations
Camera2D # Follow camera
position_smoothing_enabled = true
position_smoothing_speed = 5.0
Companion rule: CharacterBody2D MUST have a CollisionShape2D child. Without it, move_and_slide() works but detects zero collisions.
Top-Down Character
CharacterBody2D "Player"
CollisionShape2D # REQUIRED
Sprite2D
NavigationAgent2D # Pathfinding (if AI/NPC)
path_desired_distance = 4.0
target_desired_distance = 4.0
UI Screen
Control "MenuScreen"
MarginContainer # Prevents content touching edges
VBoxContainer # Vertical layout for menu items
Label "Title"
Button "StartButton"
Button "OptionsButton"
Button "QuitButton"
Companion rule: Always wrap UI content in MarginContainer first. Direct children of Control have no automatic margins.
Projectile
Area2D "Bullet"
CollisionShape2D # REQUIRED -- Area2D signals need this to detect overlaps
Sprite2D
VisibleOnScreenNotifier2D # Auto-cleanup when off-screen (connect screen_exited -> queue_free)
Companion rule: Area2D without CollisionShape2D will never emit body_entered or area_entered signals.
Pickup Item
Area2D "Coin"
CollisionShape2D # REQUIRED
Sprite2D
AudioStreamPlayer # Pickup sound effect
Tilemap Level
Node2D "Level"
TileMapLayer # Godot 4.3+ (NOT TileMap -- deprecated)
Camera2D
limit_left = 0
limit_top = 0
Note: TileMap node is deprecated in Godot 4.3+. Use TileMapLayer instead.
Implementation Steps
-
Identify pattern from user description. Map to the closest template above.
-
Create scene:
scenes(action="create", scene_path="scenes/<name>.tscn", root_type="<RootType>")
-
Add nodes top-down (parent before children):
nodes(action="add", scene_path="scenes/<name>.tscn", parent=".", type="CollisionShape2D", name="CollisionShape2D")
nodes(action="add", scene_path="scenes/<name>.tscn", parent=".", type="Sprite2D", name="Sprite2D")
-
Configure properties:
nodes(action="set_property", scene_path="scenes/<name>.tscn", name="Camera2D",
property="position_smoothing_enabled", value="true")
-
Attach script (create from template in add-mechanic skill if needed):
scripts(action="create", script_path="res://scripts/<name>.gd", content="...")
-
Verify scene tree:
scenes(action="info", scene_path="scenes/<name>.tscn")
Common Mistakes to Prevent
- Missing
CollisionShape2D on physics bodies/areas (most frequent LLM error)
- Using
TileMap instead of TileMapLayer in Godot 4.3+
- Forgetting
Camera2D smoothing (causes jarring camera movement)
- Putting UI elements directly under
Control without layout containers
- Using
RigidBody2D when CharacterBody2D is needed (characters need move_and_slide)
When to Use
- Creating a new game entity (character, enemy, projectile, pickup)
- Setting up a UI screen (menu, HUD, dialog)
- Building a level structure
- Prototyping a scene with correct node hierarchy