gamedev-physics

Installation
SKILL.md

Game physics & collision

Make bodies collide, move, and stay stable across Godot, Unity, and Unreal. This skill owns the mental model (body types, colliders, layers/masks, character controllers, joints, queries, determinism) and maps every concept onto each engine's real API. When physics "feels broken" — jitter, tunneling, sinking, ghost collisions — the cause is almost always one of: wrong body type, a layer/mask mismatch, or moving/integrating outside the fixed physics tick. Check those first.

Version contract — read first (never emit these)

Engine Target Banned / deprecated Use instead
Godot 4.x move_and_slide(velocity, up, ...) with arguments (that is Godot 3) Godot 4 move_and_slide() takes no args; set the velocity property first
Godot 4.x KinematicBody2D/3D, RayShape, WorldMarginShape, linear_velocity *= delta before move_and_slide() CharacterBody2D/3D, SeparationRayShape2D/3D, WorldBoundaryShape2D/3D; move_and_slide() is already delta-scaled
Unity Unity 6 (6000.x) Rigidbody.velocity / Rigidbody2D.velocity, rb.drag, rb.angularDrag linearVelocity (+ linearVelocityX/Y), linearDamping, angularDamping; new AddForceX/Y
Unity Unity 6 moving a dynamic Rigidbody from Update; transform.position = on a physics body move in FixedUpdate; use MovePosition/AddForce, never write transform on a simulated body
Unreal UE5 (Chaos) any PhysX/APEX API, bUseAsyncScene, NvCloth Chaos is the only physics backend in UE5; use UPrimitiveComponent physics + PhysicsConstraintComponent

If you are unsure a symbol exists in the user's exact version, say so instead of inventing it.

Installs
4
GitHub Stars
116
First Seen
Aug 6, 2026
gamedev-physics — ericrisco/rsc-harness