Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Control Godot Editor via OpenClaw Godot Plugin. Use for Godot game development tasks including scene management, node manipulation, input simulation, debugging, and editor control. Triggers on Godot-related requests like inspecting scenes, creating nodes, taking screenshots, testing gameplay, or controlling the editor.
Control Godot Editor via OpenClaw Godot Plugin. Use for Godot game development tasks including scene management, node manipulation, input simulation, debugging, and editor control. Triggers on Godot-related requests like inspecting scenes, creating nodes, taking screenshots, testing gameplay, or controlling the editor.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Control Godot 4.x Editor through 30 built-in tools. Supports 80+ node types.
If godot_execute tool is not available, install the gateway extension: # From skill directory ./scripts/install-extension.sh # Restart gateway openclaw gateway restart The extension files are in extension/ directory.
CategoryKey ToolsScenescene.create, scene.getCurrent, scene.open, scene.saveNodenode.find, node.create, node.delete, node.getDataTransformtransform.setPosition, transform.setRotation, transform.setScaleDebugdebug.tree, debug.screenshot, console.getLogsInputinput.keyPress, input.mouseClick, input.actionPressEditoreditor.play, editor.stop, editor.getState
Use godot_execute tool: godot_execute(tool="scene.create", parameters={rootType: "Node2D", name: "Level1"}) godot_execute(tool="node.create", parameters={type: "CharacterBody2D", name: "Player"}) godot_execute(tool="scene.save")
godot_execute(tool="node.find", parameters={name: "Player"}) godot_execute(tool="node.getData", parameters={path: "Player"}) godot_execute(tool="transform.setPosition", parameters={path: "Player", x: 100, y: 200})
godot_execute(tool="editor.play") godot_execute(tool="input.keyPress", parameters={key: "W"}) godot_execute(tool="input.actionPress", parameters={action: "jump"}) godot_execute(tool="debug.screenshot") godot_execute(tool="editor.stop")
godot_execute(tool="console.getLogs", parameters={limit: 50}) godot_execute(tool="console.getLogs", parameters={type: "error", limit: 20})
console.getLogs - Get logs from Godot log file {limit: 100, type: "error"|"warning"|""} console.clear - Placeholder (logs can't be cleared programmatically)
scene.getCurrent - Get current scene info scene.list - List all .tscn/.scn files scene.open - Open scene by path scene.save - Save current scene scene.create - Create new scene {rootType: "Node2D"|"Node3D"|"Control", name: "SceneName"}
node.find - Find by name, type, or group node.create - Create node (80+ types: CSGBox3D, MeshInstance3D, ColorRect, etc.) node.delete - Delete node by path node.getData - Get node info, children, transform node.getProperty - Get property value node.setProperty - Set property value (Vector2/3 auto-converted)
transform.setPosition - Set position {x, y} or {x, y, z} transform.setRotation - Set rotation (degrees) transform.setScale - Set scale
editor.play - Play current or custom scene editor.stop - Stop playing editor.pause - Toggle pause editor.getState - Get playing state, version, project name
debug.screenshot - Capture viewport debug.tree - Get scene tree as text debug.log - Print message
input.keyPress - Press and release key {key: "W"} input.keyDown - Hold key down input.keyUp - Release key input.mouseClick - Click at position {x, y, button: "left"|"right"|"middle"} input.mouseMove - Move mouse to position {x, y} input.actionPress - Press input action {action: "jump"} input.actionRelease - Release input action
script.list - List .gd files script.read - Read script content
resource.list - List files by extension
A-Z, 0-9, SPACE, ENTER, ESCAPE, TAB, BACKSPACE, DELETE UP, DOWN, LEFT, RIGHT SHIFT, CTRL, ALT F1-F12
TypeDescriptionNode2D2D spatialNode3D3D spatialSprite2D2D spriteCharacterBody2D2D characterCharacterBody3D3D characterRigidBody2D/3DPhysics bodyArea2D/3DTrigger areaCamera2D/3DCameraLabel, ButtonUI elements
Only works during Play mode Use input.actionPress for mapped actions (from Input Map) Use input.keyPress for direct key simulation
node.find {name: "Player"} # By name substring node.find {type: "Sprite2D"} # By exact type node.find {group: "enemies"} # By group
node.setProperty auto-converts dictionaries to Vector2/Vector3: {path: "Cam", property: "zoom", value: {x: 2, y: 2}} # β Vector2(2, 2)
console.getLogs {limit: 50} # Last 50 lines console.getLogs {type: "error"} # Errors only console.getLogs {type: "warning"} # Warnings only
When publishing to ClawHub, you can configure disableModelInvocation: SettingAI Auto-InvokeUser Explicit Requestfalse (default)β Allowedβ Allowedtrueβ Blockedβ Allowed
Reason: During Godot development, it's useful for AI to autonomously perform supporting tasks like checking scene tree, taking screenshots, and inspecting nodes. When to use true: For sensitive tools (payments, deletions, message sending, etc.)
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.