Tooluck logoTooluck
SKILL.md

physics-tuning

Agent skill fromgamedev-skills/awesome-gamedev-agent-skills

Tune game physics for stable, good-feeling motion — fixed vs variable timestep, render interpolation, mass/gravity/drag, continuous collision detection (CCD) to stop tunneling, fixing jitter, and collision layers/masks. Engine-neutral. Use when the user mentions physics feel, jitter, tunneling, fixed timestep, FixedUpdate, CCD, bouncing/unstable physics, or collision layers.

How to install physics-tuning

install physics-tuning
# install the awesome-gamedev-agent-skills pack with the skills CLI
npx skills add gamedev-skills/awesome-gamedev-agent-skills

# or add only this skill to Claude Code: copy the folder

skills/disciplines/physics-tuning/

# into

~/.claude/skills/physics-tuning/ (all projects)

.claude/skills/physics-tuning/ (one project)

skills/disciplines/physics-tuning/SKILL.md

Apache-2.0Full file
1# Physics tuning
2
3Most "bad physics" is not a bug in the engine — it's a mismatch between the
4**fixed-timestep simulation** and the **variable-rate render loop**, or untuned
5mass/drag/CCD/layer settings. This skill covers the engine-neutral knobs that
6make physics stable and responsive; pair it with `godot-physics` or
7`unity-physics` for the concrete APIs.
8
9## When to use
10
11- Use when motion jitters, objects pass through walls (tunneling), stacks
12 explode, or movement feels floaty/sticky/laggy.
13- Use to decide what goes in the fixed (physics) step vs the render frame, and
14 how to interpolate between them.
15- Use to tune gravity, mass, drag, restitution, solver iterations, sleeping, and
16 collision layers/masks.
17
18**When *not* to use:** for an engine's exact physics nodes/components and
19collision callbacks, use `godot-physics` or `unity-physics`. For *movement
20decisions* (when to jump, AI steering) use `input-systems` and `game-ai`. For
21platformer jump-feel specifics like coyote time/jump buffering, that's input/
22controller territory — see `input-systems` and the `platformer` genre.
23
24## Core workflow
25
261. **Run physics on a fixed timestep.** Simulate at a constant rate (e.g. 50–60
27 Hz). A fixed `dt` makes the simulation deterministic-ish and stable; a
28 variable `dt` makes integration and collisions inconsistent.
292. **Put physics work in the physics callback**, not the render frame. Apply
30 forces/velocities and read collisions in the fixed step (`FixedUpdate` /
31…

Excerpt shown under the repository's Apache-2.0 license.

More skills in awesome-gamedev-agent-skills

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates