godot-character-controllerslisted
Install: claude install-skill ibrohim1234567881717/game-dev-ai-skills
# Godot Character Controllers
## Purpose
The character controller is usually the first substantial thing built in a Godot
project and the first place the Godot 3 / Godot 4 split causes real damage:
almost every tutorial and answer online predates Godot 4, and the movement API
changed shape entirely.
This skill covers building one correctly for the version the project actually
uses, and diagnosing the specific bugs controllers get.
## When to use
- Building a player or NPC movement controller.
- Movement feels wrong — floaty, sticky, unresponsive, or inconsistent.
- The character jitters, sticks on slopes, snags on steps, or falls through
geometry.
- Behaviour differs between machines or frame rates.
- Refactoring a controller that has become a pile of boolean flags.
## When NOT to use
- Physics bodies that should be simulated rather than driven. A
`CharacterBody` is *kinematic*: you move it, physics does not. Use
`godot-physics` for `RigidBody` behaviour.
- Input mapping and rebinding. Use `godot-project-conventions` and
`input-systems`.
- Navigation-driven AI movement. Use `godot-navigation-ai`.
- Networked movement authority. Use `godot-multiplayer` and
`client-server-trust`.
## Required context
| Fact | Why it matters | Where to find it |
|---|---|---|
| **Godot major version** | The movement API is completely different between 3.x and 4.x | `config_version` in `project.godot` |
| Minor version within 4.x | Physics behaviour has changed; Jolt became the