OverviewHistoryStatsSecurity
npx skills add ...
Documentation
SKILL.md
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-ui-control
Build Godot 4.7 user interfaces with Control nodes: anchors and offsets for responsive layout, Container nodes (VBox/HBox/Grid/Margin) for automatic arrangement, Theme resources for consistent styling, and keyboard/gamepad focus navigation. Use when laying out a HUD, menu, or UI in a Godot project, working with Control/Container nodes, anchors, themes, or focus in a .tscn.
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-ui-control
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.
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.
Control nodes for UI, not Node2D. Controls have a rect (position + size),
anchors, and participate in focus/theming.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).Theme. Assign a Theme resource on a top Control; children inherit
it. Override per-node with theme overrides only when necessary.pressed, toggled, text_submitted, value_changed).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.Node2D for UI. Buttons/labels parented under a Node2D won't theme or take focus
correctly. Keep UI under a CanvasLayer/Control subtree.grab_focus() on an initial control and ensure focus_mode is not FOCUS_NONE.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.CanvasLayer for HUDs, read
references/layout-and-theming.md.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.