Godot Gdscript Patterns
925236118/AlphaAgent
Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.
Use Godot 4.7 physics bodies and detection in 2D and 3D: RigidBody, StaticBody, Area, and CharacterBody; collision layers vs masks; contact/overlap signals; and raycasts (RayCast nodes and direct…
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-physics -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install gamedev-skills/awesome-gamedev-agent-skills godot-physics --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/gamedev-skills/awesome-gamedev-agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/godot/godot-physics .claude/skills/godot-physics && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "godot-physics" agent skill from https://github.com/gamedev-skills/awesome-gamedev-agent-skills/tree/main/skills/godot/godot-physics into .claude/skills/godot-physics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-physics", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/gamedev-skills/awesome-gamedev-agent-skills/tree/main/skills/godot/godot-physicsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-physics -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install gamedev-skills/awesome-gamedev-agent-skills godot-physics --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gamedev-skills/awesome-gamedev-agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/godot/godot-physics .agents/skills/godot-physics && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "godot-physics" agent skill from https://github.com/gamedev-skills/awesome-gamedev-agent-skills/tree/main/skills/godot/godot-physics into .agents/skills/godot-physics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-physics", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-physics -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install gamedev-skills/awesome-gamedev-agent-skills godot-physics --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gamedev-skills/awesome-gamedev-agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/godot/godot-physics .cursor/skills/godot-physics && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "godot-physics" agent skill from https://github.com/gamedev-skills/awesome-gamedev-agent-skills/tree/main/skills/godot/godot-physics into .cursor/skills/godot-physics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-physics", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/gamedev-skills/awesome-gamedev-agent-skills.git --path skills/godot/godot-physics--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-physics -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install gamedev-skills/awesome-gamedev-agent-skills godot-physics --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gamedev-skills/awesome-gamedev-agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/godot/godot-physics .gemini/skills/godot-physics && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "godot-physics" agent skill from https://github.com/gamedev-skills/awesome-gamedev-agent-skills/tree/main/skills/godot/godot-physics into .gemini/skills/godot-physics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-physics", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install gamedev-skills/awesome-gamedev-agent-skills godot-physicsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-physics -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/gamedev-skills/awesome-gamedev-agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/godot/godot-physics .github/skills/godot-physics && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "godot-physics" agent skill from https://github.com/gamedev-skills/awesome-gamedev-agent-skills/tree/main/skills/godot/godot-physics into .github/skills/godot-physics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-physics", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-physics -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install gamedev-skills/awesome-gamedev-agent-skills godot-physics --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gamedev-skills/awesome-gamedev-agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/godot/godot-physics .opencode/skills/godot-physics && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "godot-physics" agent skill from https://github.com/gamedev-skills/awesome-gamedev-agent-skills/tree/main/skills/godot/godot-physics into .opencode/skills/godot-physics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-physics", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
godot-physicsUse Godot 4.7 physics bodies and detection in 2D and 3D: RigidBody, StaticBody, Area, and CharacterBody; collision layers vs masks; contact/overlap signals; and raycasts (RayCast nodes and direct…
Godot Physics is an agent skill from gamedev-skills/awesome-gamedev-agent-skills. Use Godot 4.7 physics bodies and detection in 2D and 3D: RigidBody, StaticBody, Area, and CharacterBody; collision layers vs masks; contact/overlap signals; and raycasts (RayCast nodes and direct space-state queries). Use when configuring collision layers/masks, detecting overlaps with Area2D/Area3D, applying forces to a RigidBody, or casting rays in a Godot project (.tscn with physics bodies), including 3D projects running Jolt Physics, the default 3D engine for projects created in 4.6+.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/bodies-and-queries.md`).
It sits in Game Development, covering Game development. It works with Godot. The repository describes itself as: 74 game-dev skills for AI coding agents — Godot, Unity, Unreal, Phaser, PixiJS, three.js, Bevy, pygame, LÖVE, Roblox. Portable SKILL.md Agent Skills (the format Anthropic… The licence is Apache-2.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 0a70cfc. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are gdscript).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
docs.godotengine.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Godot Physics loads about 2.1k tokens when it runs, and up to ~3.1k if it reads all its reference files. Until then it costs about 127 tokens; SKILL.md has 752 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from gamedev-skills/awesome-gamedev-agent-skills at commit 0a70cfc, republished under its Apache-2.0 licence (© gamedev-skills). 752 words, ~2,067 tokens.
.claude/skills/godot-physics/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Pick the right physics body, wire up collision layers/masks, detect overlaps, and cast
rays. Concepts apply to both 2D and 3D (swap the 2D/3D suffix). Targets
Godot 4.7. In 3D, projects created with Godot 4.6 or later run Jolt Physics by
default; older projects keep GodotPhysics3D unless someone switched them. 2D always
uses Godot's own 2D engine.
Area, applying
forces/impulses to a RigidBody, or casting rays for line-of-sight/ground checks.When not to use: kinematic character controllers (move_and_slide) →
godot-2d-movement; tile collision setup → godot-tilemap; tuning the feel of physics
(timestep, mass, jitter) → physics-tuning.
[physics] 3d/physics_engine="Jolt Physics" in
project.godot). The API is the same, but joints, ray-cast face indices, kinematic
contacts, and collision margins behave differently (see Pitfalls).StaticBody — never moves (floors, walls). Collides, no simulation.RigidBody — fully simulated (gravity, forces, bouncing). Don't set its
position directly; apply forces/impulses or set linear_velocity.CharacterBody — script-driven kinematic (see godot-2d-movement).Area — detects overlaps and can apply gravity/damping; no solid collision.
Every body needs a CollisionShape (or CollisionPolygon) child.Area signals (body_entered, area_entered)._integrate_forces for full
control.RayCast2D/3D node (polled each frame) or a one-shot space-state
query from code.# Player is on layer 1, scans layers 2 (walls) and 3 (enemies).
func _ready() -> void:
set_collision_layer_value(1, true) # I am on layer 1
set_collision_mask_value(2, true) # I collide with things on layer 2
set_collision_mask_value(3, true) # ...and layer 3
# Bit-field forms also exist: collision_layer = 1; collision_mask = 0b110extends Area2D # e.g. a damage zone
func _ready() -> void:
body_entered.connect(_on_body_entered)
area_entered.connect(_on_area_entered)
func _on_body_entered(body: Node2D) -> void:
if body.has_method("take_damage"):
body.take_damage(10)
func _on_area_entered(area: Area2D) -> void:
print("Overlapped area: ", area.name)extends RigidBody3D
func push(direction: Vector3) -> void:
apply_central_impulse(direction * 8.0) # instantaneous velocity change
func _physics_process(_delta: float) -> void:
apply_central_force(Vector3.FORWARD * 4.0) # continuous force (per tick)
# Never set `position` on a RigidBody to move it; use forces/impulses or
# set linear_velocity. Use freeze=true if you must hold it in place.# A) RayCast2D node: enable it, then poll after physics has updated.
@onready var ray: RayCast2D = $RayCast2D # set target_position in the editor
func _physics_process(_delta: float) -> void:
if ray.is_colliding():
var hit := ray.get_collider()
var point := ray.get_collision_point()
# B) One-shot query from code (no node needed).
func ground_under(global_from: Vector2) -> Dictionary:
var space := get_world_2d().direct_space_state
var query := PhysicsRayQueryParameters2D.create(global_from, global_from + Vector2(0, 64))
query.collision_mask = 1 # only layer 1
return space.intersect_ray(query) # {} if nothing hit, else collider/position/normalposition fights the solver and causes tunneling/jitter.
Use impulses/forces, set linear_velocity, or freeze it. To teleport, set position
and zero the velocities inside _integrate_forces.Area doesn't fire when neither monitoring nor monitorable is set, or layers/masks
don't overlap. monitoring must be on for the Area to detect; monitorable lets others
detect it.enabled is false, or if you read it before
physics updated — read in _physics_process, and call force_raycast_update() after
moving it within the same tick.CollisionShape (or leaving it empty) means the body never collides.continuous_cd) or use a raycast-based check.intersect_ray excludes its own body? Pass query.exclude = [self.get_rid()] (an
Array[RID], not an array of nodes) to skip self-hits.face_index is always -1 in intersect_ray() / RayCast3D results under Jolt.
Turn on Project Settings > Physics > Jolt Physics 3D > Queries > Enable Ray Cast Face
Index if you need it (it costs roughly 25% more memory for ConcavePolygonShape3D).node_b with node_a as the world; GodotPhysics3D always treats it as
node_a. Assign the body to the slot Jolt expects, or use Physics > Jolt Physics 3D >
Joints > World Node for compatibility with an older project.bias/softness/
relaxation on Pin, Hinge and ConeTwist joints; limit softness/restitution/damping on
Slider and Generic6DOF joints). Godot warns when they are set to non-default values.RigidBody3D reports no contacts with static or kinematic bodies,
even with max_contacts_reported > 0. Enable Physics > Jolt Physics 3D > Simulation >
Generate All Kinematic Contacts if gameplay depends on those contacts.margin shrinks the shape instead of padding it under Jolt, so sizes stay
true but shape queries can return odd normals on small shapes; the effective margin comes
from Physics > Jolt Physics 3D > Collisions > Collision Margin Fraction.Area3D now fires body_entered for SoftBody3D under Jolt (GodotPhysics3D never
did). Filter soft bodies out with layers/masks if the old behavior is expected._integrate_forces, joints, one-way collision, PhysicsServer direct access,
shape queries (intersect_shape), and 3D move_and_collide, read
references/bodies-and-queries.md.https://docs.godotengine.org/en/stable/tutorials/physics/using_jolt_physics.html).godot-2d-movement — kinematic CharacterBody2D controllers.godot-tilemap — tile collision shapes and their layers.physics-tuning — engine-agnostic feel: timestep, mass, drag, CCD.godot-3d-essentials — 3D scene setup these bodies live in.© gamedev-skills, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in skills/godot/godot-physics of gamedev-skills/awesome-gamedev-agent-skills.
Open the folder on GitHubat commit 0a70cfc
Godot Physics next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Godot Physics this skillgamedev-skills/awesome-gamedev-agent-skills | 1.4k | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Godot Gdscript Patterns925236118/AlphaAgent | 103 | 10 repos | ~5k | Automated safety check: Pass | MIT | |
| 2D Map and Scene Generator0x0funky/agent-sprite-forge | 4.4k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Godot UI Integrationzimo-xiao-zheng/godot-ui-integration | 285 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Godot Wechat Minigame Adaptergodothub/godot-minigame | 187 | — | ~1.5k | Automated safety check: Pass | MIT | |
| AI Game Art Pipelineybuild-ai/ai-game-art-pipeline-skill | 297 | — | ~1.1k | Automated safety check: Pass | MIT |
925236118/AlphaAgent
Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.
0x0funky/agent-sprite-forge
Plans and builds 2D game maps and scenes, from tilemaps and parallax backgrounds to HD-2D plates, with collision checks, a playable HTML preview and Tiled, Godot or LDtk export.
zimo-xiao-zheng/godot-ui-integration
Build or revise Godot UI from an approved design, separated art, or a visual reference when scene structure, gameplay binding, and runtime visual verification all matter.
godothub/godot-minigame
Apply the bundled self-contained Godot WeChat Mini Game adapter kit to an official Godot checkout.
ybuild-ai/ai-game-art-pipeline-skill
Provider-neutral open-source skill for planning and producing game-runtime art assets and animation: static props/icons, canonical character sheets, combat sprites, 3D/video motion references…
RandallLiuXin/GodotMaker
Runtime debugging and live project inspection via godot-mcp.
gamedev-skills/awesome-gamedev-agent-skills
Plan, generate, source, normalize, and validate cohesive visual game assets.
gamedev-skills/awesome-gamedev-agent-skills
Build production Roblox interfaces with ScreenGui/PlayerGui lifecycle, responsive UDim2 layouts, safe insets, reusable editable Instances, cross-device input and selection, restrained motion…
gamedev-skills/awesome-gamedev-agent-skills
Build a production behavior-tree runtime (Blackboard, action/condition leaves, sequence/selector/parallel composites, decorators) and a Utility AI system (response curves — linear, exponential…
gamedev-skills/awesome-gamedev-agent-skills
Structure a Bevy app around its Entity Component System: build the App with plugins, define Component/Resource types, write systems with Query/Res/Commands, filter and order systems, and use the…
gamedev-skills/awesome-gamedev-agent-skills
Build a card game: card data, deck/hand/discard zones, draw/shuffle/reshuffle, a turn structure, costs, and effect resolution.
gamedev-skills/awesome-gamedev-agent-skills
Build a first-person shooter: move+mouse-look controller, hitscan or projectile shooting, weapons, health, and enemy AI.
Works with
Categories
Use Godot 4.7 physics bodies and detection in 2D and 3D: RigidBody, StaticBody, Area, and CharacterBody; collision layers vs masks; contact/overlap signals; and raycasts (RayCast nodes and direct…. Godot Physics is an agent skill from gamedev-skills/awesome-gamedev-agent-skills.7 physics bodies and detection in 2D and 3D: RigidBody, StaticBody, Area, and CharacterBody; collision layers vs masks; contact/overlap signals; and raycasts (RayCast nodes and direct space-state queries).
Godot Physics fits situations like: configuring collision layers/masks; detecting overlaps with Area2D/Area3D; applying forces to a RigidBody; casting rays in a Godot project (.tscn with physics bodies).
Run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-physics -a claude-code`. Or copy the skill folder (skills/godot/godot-physics in gamedev-skills/awesome-gamedev-agent-skills) into .claude/skills/godot-physics in your project. Claude Code loads it when a task matches its description.
Run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-physics -a codex`. Or copy the skill folder (skills/godot/godot-physics in gamedev-skills/awesome-gamedev-agent-skills) into .agents/skills/godot-physics in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-physics -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/godot-physics, .gemini/skills/godot-physics, .github/skills/godot-physics and .opencode/skills/godot-physics in your project.
SKILL.md names no scripts, command-line tools or credentials: Godot Physics is instructions for the agent only.
SKILL.md names 1 domain. In commands or code: docs.godotengine.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Godot Physics is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 991 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Godot Physics: Godot Gdscript Patterns (925236118/AlphaAgent, 103 stars), 2D Map and Scene Generator (0x0funky/agent-sprite-forge, 4.4k stars), Godot UI Integration (zimo-xiao-zheng/godot-ui-integration, 285 stars) and Godot Wechat Minigame Adapter (godothub/godot-minigame, 187 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
gamedev-skills (a GitHub organization) maintains it in gamedev-skills/awesome-gamedev-agent-skills, which has 1,389 GitHub stars. The repository holds 53 skills in this directory. The repository was last updated on October 9, 2026.
Source: gamedev-skills/awesome-gamedev-agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.