Godot 2D Physics
thedivergentai/GD-Agentic-Skills
Expert patterns for Godot 2D physics including collision layers/masks, Area2D triggers, raycasting, and PhysicsDirectSpaceState2D queries.
Implement 2D kinematic character movement in Godot 4.7 with CharacterBody2D and moveandslide(): platformer run/jump with gravity, top-down 8-direction motion, slope handling, and reading collisions.
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-2d-movement -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install gamedev-skills/awesome-gamedev-agent-skills godot-2d-movement --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-2d-movement .claude/skills/godot-2d-movement && 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-2d-movement" agent skill from https://github.com/gamedev-skills/awesome-gamedev-agent-skills/tree/main/skills/godot/godot-2d-movement into .claude/skills/godot-2d-movement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-2d-movement", 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-2d-movementType 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-2d-movement -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install gamedev-skills/awesome-gamedev-agent-skills godot-2d-movement --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-2d-movement .agents/skills/godot-2d-movement && 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-2d-movement" agent skill from https://github.com/gamedev-skills/awesome-gamedev-agent-skills/tree/main/skills/godot/godot-2d-movement into .agents/skills/godot-2d-movement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-2d-movement", 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-2d-movement -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install gamedev-skills/awesome-gamedev-agent-skills godot-2d-movement --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-2d-movement .cursor/skills/godot-2d-movement && 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-2d-movement" agent skill from https://github.com/gamedev-skills/awesome-gamedev-agent-skills/tree/main/skills/godot/godot-2d-movement into .cursor/skills/godot-2d-movement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-2d-movement", 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-2d-movement--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-2d-movement -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install gamedev-skills/awesome-gamedev-agent-skills godot-2d-movement --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-2d-movement .gemini/skills/godot-2d-movement && 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-2d-movement" agent skill from https://github.com/gamedev-skills/awesome-gamedev-agent-skills/tree/main/skills/godot/godot-2d-movement into .gemini/skills/godot-2d-movement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-2d-movement", 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-2d-movementInstalls 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-2d-movement -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-2d-movement .github/skills/godot-2d-movement && 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-2d-movement" agent skill from https://github.com/gamedev-skills/awesome-gamedev-agent-skills/tree/main/skills/godot/godot-2d-movement into .github/skills/godot-2d-movement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-2d-movement", 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-2d-movement -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-2d-movement --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-2d-movement .opencode/skills/godot-2d-movement && 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-2d-movement" agent skill from https://github.com/gamedev-skills/awesome-gamedev-agent-skills/tree/main/skills/godot/godot-2d-movement into .opencode/skills/godot-2d-movement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "godot-2d-movement", 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-2d-movementImplement 2D kinematic character movement in Godot 4.7 with CharacterBody2D and moveandslide(): platformer run/jump with gravity, top-down 8-direction motion, slope handling, and reading collisions.
Godot 2D Movement is an agent skill from gamedev-skills/awesome-gamedev-agent-skills. Implement 2D kinematic character movement in Godot 4.7 with CharacterBody2D and moveandslide(): platformer run/jump with gravity, top-down 8-direction motion, slope handling, and reading collisions. Use when coding a 2D player or enemy controller, a platformer or top-down character, or fixing moveandslide()/ isonfloor() behavior in a .tscn with a CharacterBody2D.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/controller-recipes.md`).
It sits in Game Development, covering Game development and Slides and decks. 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.
No URLs in SKILL.md.
From 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 2D Movement loads about 1.5k tokens when it runs, and up to ~2.3k if it reads all its reference files. Until then it costs about 97 tokens; SKILL.md has 427 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). 427 words, ~1,498 tokens.
.claude/skills/godot-2d-movement/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Build responsive 2D character controllers with CharacterBody2D and the argument-less
move_and_slide(). Targets Godot 4.7.
move_and_slide() "does nothing", the character sinks through floors, or
is_on_floor() is always false.When not to use: dynamic rigid bodies, areas, raycasts, collision layers →
godot-physics; tile-based levels → godot-tilemap; full platformer game template →
the platformer genre skill; engine-agnostic feel tuning → physics-tuning.
CharacterBody2D with a CollisionShape2D child. It is script-driven: it
does not fall or react to forces on its own.velocity property, then call move_and_slide() (no arguments in 4.x).
The method reads velocity, moves the body, slides along surfaces, and updates
velocity to reflect what actually happened._physics_process(delta) — move_and_slide() uses the physics step's
delta internally, so do not multiply velocity by delta yourself.velocity.y each tick, jump by setting velocity.y
negative when is_on_floor().motion_mode = MOTION_MODE_FLOATING so there is no "floor/wall" distinction.is_on_floor(), is_on_wall(), get_wall_normal(), and
get_slide_collision(i) after the call.extends CharacterBody2D
@export var speed := 200.0
@export var jump_velocity := -400.0
@export var gravity := 1200.0 # pixels/sec^2 (tune to taste)
func _physics_process(delta: float) -> void:
# Apply gravity while airborne.
if not is_on_floor():
velocity.y += gravity * delta
# Jump only when grounded (Input action set in Project Settings > Input Map).
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_velocity
# Horizontal input: -1, 0, or 1.
var dir := Input.get_axis("move_left", "move_right")
if dir != 0.0:
velocity.x = dir * speed
else:
velocity.x = move_toward(velocity.x, 0.0, speed) # decelerate to a stop
move_and_slide() # 4.x: no arguments; uses and updates `velocity`extends CharacterBody2D
@export var speed := 220.0
func _ready() -> void:
motion_mode = CharacterBody2D.MOTION_MODE_FLOATING # no floor/ceiling concept
func _physics_process(_delta: float) -> void:
# get_vector returns a normalized-ish Vector2 from four input actions.
var input := Input.get_vector("move_left", "move_right", "move_up", "move_down")
velocity = input * speed
move_and_slide()func _physics_process(delta: float) -> void:
# ... set velocity ...
move_and_slide()
for i in get_slide_collision_count():
var c := get_slide_collision(i)
var other := c.get_collider()
if other and other.is_in_group("enemies"):
take_damage(1) # touched an enemy while moving@export var coyote_time := 0.1
var _coyote := 0.0
func _physics_process(delta: float) -> void:
if not is_on_floor():
velocity.y += gravity * delta
_coyote -= delta
else:
_coyote = coyote_time
if Input.is_action_just_pressed("jump") and _coyote > 0.0:
velocity.y = jump_velocity
_coyote = 0.0
# ... horizontal input + move_and_slide() ...move_and_slide(velocity) (returning the new velocity) was
removed. In 4.x set the velocity property and call move_and_slide() with no args.
move_and_slide(velocity, Vector2.UP) will not parse.move_and_slide() already accounts for the physics
delta. Setting velocity = dir * speed * delta makes the body crawl._process instead of _physics_process causes frame-rate-dependent,
jittery motion. Always move in _physics_process.is_on_floor() always false when up_direction is wrong (default Vector2.UP),
there is no CollisionShape2D, or you never called move_and_slide() this frame.position += instead of velocity + move_and_slide().floor_stop_on_slope = true (default) and set a
floor_snap_length so the body sticks to downward slopes.move_and_collide() (manual collision response), read references/controller-recipes.md.godot-physics — collision layers/masks, areas, raycasts, rigid bodies.godot-tilemap — building the levels this character walks on.godot-animation — driving sprite/skeletal animation from movement state.camera-systems — follow camera, deadzone, and look-ahead that track this character.platformer / input-systems — full genre template and rebindable input.© 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-2d-movement of gamedev-skills/awesome-gamedev-agent-skills.
Open the folder on GitHubat commit 0a70cfc
Godot 2D Movement 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 2D Movement this skillgamedev-skills/awesome-gamedev-agent-skills | 1.4k | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Godot 2D Physicsthedivergentai/GD-Agentic-Skills | 821 | — | ~4k | Automated safety check: Pass | LGPL-3.0 | |
| Godot Characterbody 2Dthedivergentai/GD-Agentic-Skills | 821 | — | ~3.3k | Automated safety check: Pass | LGPL-3.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 |
thedivergentai/GD-Agentic-Skills
Expert patterns for Godot 2D physics including collision layers/masks, Area2D triggers, raycasting, and PhysicsDirectSpaceState2D queries.
thedivergentai/GD-Agentic-Skills
Expert patterns for CharacterBody2D including platformer movement (coyote time, jump buffering, variable jump height), top-down movement (8-way, tank controls), collision handling, one-way…
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.
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
Implement 2D kinematic character movement in Godot 4.7 with CharacterBody2D and moveandslide(): platformer run/jump with gravity, top-down 8-direction motion, slope handling, and reading collisions. Godot 2D Movement is an agent skill from gamedev-skills/awesome-gamedev-agent-skills.7 with CharacterBody2D and moveandslide(): platformer run/jump with gravity, top-down 8-direction motion, slope handling, and reading collisions.
Godot 2D Movement fits situations like: coding a 2D player; enemy controller; top-down character; fixing moveandslide()/ isonfloor() behavior in a .tscn with a CharacterBody2D.
Run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-2d-movement -a claude-code`. Or copy the skill folder (skills/godot/godot-2d-movement in gamedev-skills/awesome-gamedev-agent-skills) into .claude/skills/godot-2d-movement 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-2d-movement -a codex`. Or copy the skill folder (skills/godot/godot-2d-movement in gamedev-skills/awesome-gamedev-agent-skills) into .agents/skills/godot-2d-movement 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-2d-movement -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-2d-movement, .gemini/skills/godot-2d-movement, .github/skills/godot-2d-movement and .opencode/skills/godot-2d-movement in your project.
SKILL.md names no scripts, command-line tools or credentials: Godot 2D Movement is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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 2D Movement 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 1.5k tokens (SKILL.md is roughly 6k 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 811 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Godot 2D Movement: Godot 2D Physics (thedivergentai/GD-Agentic-Skills, 821 stars), Godot Characterbody 2D (thedivergentai/GD-Agentic-Skills, 821 stars), Godot Gdscript Patterns (925236118/AlphaAgent, 103 stars) and 2D Map and Scene Generator (0x0funky/agent-sprite-forge, 4.4k 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.