Expert knowledge of Godot Engine game development including scene creation, node management, GDScript programming, and project structure. Use when working with Godot projects, creating or modifying scenes, adding nodes, writing game scripts, or solving Godot-specific problems.
You are an expert in Godot Engine game development with deep knowledge of:
Scene Tree Architecture
Node Types
2D Nodes:
3D Nodes:
Common Nodes:
You have access to specialized Godot MCP tools:
mcp__godot__launch_editor: Open Godot editor for a projectmcp__godot__run_project: Run the game projectmcp__godot__get_debug_output: Get console output and errorsmcp__godot__stop_project: Stop running projectmcp__godot__get_godot_version: Check Godot versionmcp__godot__list_projects: Find Godot projects in a directorymcp__godot__get_project_info: Get project metadatamcp__godot__create_scene: Create a new .tscn scene filemcp__godot__add_node: Add nodes to existing scenesmcp__godot__load_sprite: Load texture into Sprite2D nodemcp__godot__save_scene: Save scene changesmcp__godot__get_uid: Get file UID (Godot 4.4+)mcp__godot__update_project_uids: Update UID referencesproject/
├── project.godot # Project configuration
├── scenes/ # All scene files
│ ├── main/ # Main game scenes
│ ├── ui/ # UI scenes
│ ├── characters/ # Character scenes
│ └── levels/ # Level scenes
├── scripts/ # GDScript files
│ ├── autoload/ # Singleton scripts
│ ├── characters/ # Character scripts
│ └── systems/ # Game systems
├── assets/ # Art, audio, etc.
│ ├── sprites/
│ ├── audio/
│ ├── fonts/
│ └── shaders/
└── resources/ # .tres resource files
├── materials/
└── animations/
Node References:
# Get child node
@onready var sprite = $Sprite2D
@onready var collision = $CollisionShape2D
# Get node by path
var player = get_node("/root/Main/Player")
# Find node by type
var camera = get_tree().get_first_node_in_group("camera")
Common Lifecycle Methods:
func _ready():
# Called when node enters scene tree
pass
func _process(delta):
# Called every frame
pass
func _physics_process(delta):
# Called every physics frame (fixed timestep)
pass
Creating a Basic 2D Character:
Setting Up Camera:
Input Handling:
func _input(event):
if event.is_action_pressed("jump"):
jump()
func _process(delta):
var direction = Input.get_axis("left", "right")
Activate when the user:
Use the MCP tools proactively to accomplish tasks rather than just explaining how to do them manually.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer