OpenClaw
Deploy a managed OpenClaw agent in 60 seconds
Launch on Hostinger →
Hermes Agent
Run your Hermes agent, fully managed
Launch on Hostinger →
Hostinger VPS
Spin up a VPS in one click, 20% off
Launch on Hostinger →
Gojiberry
AI outreach that finds LinkedIn buyers in buying mode
Try Gojiberry free →
Context.dev
One API to scrape, enrich, and extract the web
Start building free →
Jotform
Forms, workflows, and AI Agents for your team
Try Jotform free →
Runable
One AI agent to build, run, and grow your business
Try Runable free →
Your product here
Reach 100k AI builders a month
Learn more →
Claude Market
Menu
SkillsMCPPluginsMarketplacesNewsletterSubmit MCPSkillPluginMCPMCP, plugin, or skillAdvertise
Claude Market
SkillsMCPPluginsMarketplacesNewsletterSubmit MCPSkillPluginMCPMCP, plugin, or skillAdvertise
Skills/gamedev-skills/awesome-gamedev-agent-skills/godot-ui-control
godot-ui-control logo

godot-ui-control

gamedev-skills/awesome-gamedev-agent-skills
905 installs444 stars
Run it on Hostinger, 20% off →Your friend gets 20% off too, using this linkFree API →|View on GitHub|Create your own skill →

Installation

npx skills add https://github.com/gamedev-skills/awesome-gamedev-agent-skills --skill godot-ui-control

Summary

>

SKILL.md

Godot UI / Control nodes (4.x)

Lay out responsive UI with Control anchors and Container nodes, style it with a Theme, and make it navigable by keyboard and gamepad. Targets Godot 4.7.

When to use

  • Use when building HUDs, menus, inventories, dialog boxes, or settings screens with

Control-derived nodes; arranging UI that adapts to window size; theming; or wiring focus navigation for controller/keyboard.

*When not to use:* in-world 2D nodes (Node2D/sprites) → godot-nodes-scenes; animating UI transitions → godot-animation (Tween); genre UIs like card hands → card-game/visual-novel. For full input rebinding → input-systems.

Core workflow

  1. Use Control nodes for UI, not Node2D. Controls have a rect (position + size),

anchors, and participate in focus/theming.

  1. Anchor for responsiveness. Anchors are fractions (0–1) of the parent rect that the

Control's edges stick to. Use the editor's Layout presets (Top-Left, Full Rect, Center, etc.) instead of hand-placing pixels.

  1. Let Containers position children. Put children in a VBoxContainer,

HBoxContainer, GridContainer, MarginContainer, etc. — the container sets their position/size; you control flow with size_flags. Don't set child anchors inside a container (it overrides them).

  1. Style with a Theme. Assign a Theme resource on a top Control; children inherit

it. Override per-node with theme overrides only when necessary.

  1. Wire focus so gamepad/keyboard can move between buttons; set a default focused

control and define neighbors or rely on auto-neighbor.

  1. Connect signals (pressed, toggled, text_submitted, value_changed).

Patterns

1. Responsive layout with anchors (code form)

extends Control

func _ready() -> void:
    # Stretch this panel to fill its parent (equivalent to the "Full Rect" preset).
    anchors_preset = Control.PRESET_FULL_RECT
    # Or set anchors manually: all four edges at the parent's far corners.
    # anchor_left = 0; anchor_top = 0; anchor_right = 1; anchor_bottom = 1

2. A menu built from containers + button signals

extends VBoxContainer    # children stack vertically, auto-sized

func _ready() -> void:
    for child in get_children():
        if child is Button:
            child.pressed.connect(_on_button_pressed.bind(child.name))
    # Give the first button focus so a gamepad can navigate immediately.
    if get_child_count() > 0:
        (get_child(0) as Control).grab_focus()

func _on_button_pressed(which: StringName) -> void:
    match which:
        "PlayButton":  get_tree().change_scene_to_file("res://game.tscn")
        "QuitButton":  get_tree().quit()

3. Size flags: make one child expand to fill leftover space

# In a HBoxContainer: a label on the left, a spacer that eats remaining width.
func _ready() -> void:
    $Label.size_flags_horizontal = Control.SIZE_SHRINK_BEGIN
    $Spacer.size_flags_horizontal = Control.SIZE_EXPAND_FILL   # grows to fill

4. Theme override for one node (without a full Theme resource)

func _ready() -> void:
    # Per-node overrides: use add_theme_* (type-specific setters).
    $Title.add_theme_font_size_override("font_size", 32)
    $Title.add_theme_color_override("font_color", Color.GOLD)
    $Panel.add_theme_stylebox_override("panel", preload("res://ui/panel.stylebox.tres"))

Pitfalls

  • Mixing manual position with Containers. A child of a Container cannot set its own

position/anchors — the container owns layout. To free-place, take the node out of the container or use a plain Control/PanelContainer wrapper.

  • Anchors vs offsets. Anchors are fractions of the parent; offsets are pixel deltas

from the anchored point. Set anchors via presets, then nudge with offsets. Setting only position while anchors are at 0 makes UI not scale with the window.

  • Node2D for UI. Buttons/labels parented under a Node2D won't theme or take focus

correctly. Keep UI under a CanvasLayer/Control subtree.

  • Focus lost on gamepad. If nothing is focused, directional input does nothing. Call

grab_focus() on an initial control and ensure focus_mode is not FOCUS_NONE.

  • Theme vs theme override. A Theme resource styles a whole subtree; add_theme_*

overrides one node. Overusing per-node overrides defeats centralized theming.

  • *rect_ properties are renamed.** Godot 3's rect_size/rect_position/rect_min_size

are now size/position/custom_minimum_size in 4.x.

  • mouse_filter on a full-rect Control can swallow clicks meant for nodes beneath it;

set MOUSE_FILTER_IGNORE on purely decorative panels.

References

  • For the anchor/offset math, every Container type, building/extending Theme and StyleBox

resources, focus neighbor wiring, and CanvasLayer for HUDs, read references/layout-and-theming.md.

Related skills

  • game-ui-ux — cross-engine UI/UX: responsive scaling, safe areas, focus navigation, screen flow.
  • godot-animation — Tween-based UI transitions and juicing.
  • godot-signals-groups — connecting UI events to game logic.
  • input-systems — rebindable input and multi-device focus.
  • card-game / visual-novel — UI-heavy genre templates.

Score

0–100
55/ 100

Grade

C

Popularity15/30

905 installs — growing adoption.

Completeness19/30

Documented: full SKILL.md body, one-line install. Missing: description, category/license metadata.

Trust15/25

Community skill with a public GitHub source repository you can review.

Freshness6/15

No update timestamp is tracked for this skill in our catalog.

Scored automatically from popularity, completeness, trust, and freshness — computed only from data in our catalog, never fabricated.

Proud of your score? Add this badge to your README.

Paste a snippet into your GitHub README. The badge updates automatically and links back to this page.

Godot Ui Control skill score badge previewScore badge

Markdown

[![Godot Ui Control skill](https://www.claudemarket.ai/skills/gamedev-skills/awesome-gamedev-agent-skills/godot-ui-control/badges/score.svg)](https://www.claudemarket.ai/skills/gamedev-skills/awesome-gamedev-agent-skills/godot-ui-control)

HTML

<a href="https://www.claudemarket.ai/skills/gamedev-skills/awesome-gamedev-agent-skills/godot-ui-control"><img src="https://www.claudemarket.ai/skills/gamedev-skills/awesome-gamedev-agent-skills/godot-ui-control/badges/score.svg" alt="Godot Ui Control skill"/></a>

Godot Ui Control FAQ

How do I install the Godot Ui Control skill?

Run “npx skills add https://github.com/gamedev-skills/awesome-gamedev-agent-skills --skill godot-ui-control” in your terminal. The skill is added to your agent's skills directory and picked up automatically on the next run — no restart or extra configuration needed.

What does the Godot Ui Control skill do?

> The full SKILL.md on this page shows the exact instructions the skill gives your agent.

Is the Godot Ui Control skill free?

Yes. Godot Ui Control is a free, open-source skill published from gamedev-skills/awesome-gamedev-agent-skills. As with any third-party skill, review the source repository before installing it into an agent with sensitive access.

Does Godot Ui Control work with Claude Code and OpenClaw?

Yes. Skills use the portable SKILL.md format, so Godot Ui Control works with Claude Code, OpenClaw, Codex, Hermes, and any other agent that reads SKILL.md skills.

Recommended skills

Browse all →
find-skills logo

find-skills

vercel-labs/skills

2.9M installsInstall
grill-me logo

grill-me

mattpocock/skills

802K installsInstall
frontend-design logo

frontend-design

anthropics/skills

757K installsInstall
grill-with-docs logo

grill-with-docs

mattpocock/skills

682K installsInstall
improve-codebase-architecture logo

improve-codebase-architecture

mattpocock/skills

657K installsInstall
agent-browser logo

agent-browser

vercel-labs/agent-browser

646K installsInstall

Related guides

Hand-picked reading to help you choose, install, and use agent skills.

Guide10 Openclaw Skills Every Nextjs Developer NeedsGuideBest Openclaw Skills 2026GuideHow To Evaluate Openclaw Skill Before Installing

Skills by category

FrontendBackend & APIsTesting & QASecurityDevOps & CI/CDMCP & ToolingAutomationData & Analysis+27 more

MCP servers by category

MCP & ToolingBackend & APIsData & AnalysisDevOps & CI/CDAutomationSecurityDocsTesting & QA+24 more

Plugins by category

AutomationDevOps & CI/CDData & AnalysisDesign & CreativeSecurityBackend & APIsFrontendTesting & QA+16 more

Marketplaces by category

AutomationData & AnalysisDevOps & CI/CDDesign & CreativeFrontendBackend & APIsTesting & QASecurity+21 more

The Agent Stack

Weekly Claude Code, Agent SDK, and MCP moves worth your time — free.

Claude Market

AI agent skills directory, marketplace, and workflow hub for OpenClaw, Hermes Agent, Claude Code, Codex, and MCP-powered operator stacks.

Independent project, not affiliated with Anthropic.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Plugins
  • Browse Marketplaces
  • Newsletter

More

  • Submit a Tool
  • Create a Skill
  • Advertise
  • Free Tools
  • API
  • Shipping
  • Contact
  • Terms
  • Privacy
© 2026 Claude Market · Not affiliated with Anthropic
Fazier badgeFeatured on Twelve ToolsFeatured on Wired BusinessRemote OpenClaw - Featured on AI Agents DirectoryListed on Turbo0Featured on Uneed