Simple State Machine First Person Controller 2.0 3D Tools 4.5 Community
Submitted by user Jeheno; MIT; 2026-02-26
*All informations are in the Github repository page !
A simple state machine first person controller asset made in Godot 4.
-------------------------------------------------------------------------------------------
This asset provides a fully commented, finite state machine based first-person controller with a modular camera system and a debug properties HUD. It is 100% written in GDScript and follows GDScript conventions. My main goal with this project is to provide an easy + complete way to manage and modify a controller for first person games.
A test map is included to demonstrate the controller's capabilities.
The controller uses a finite state machine architecture where each state has its own script, making it straightforward to add, remove, or modify behaviors. All movement parameters, camera settings, and keybindings are exposed as export variables in the inspector for easy customization.
- Godot 4.4, 4.5, 4.6: Fully supported.
- Godot 4.0 - 4.3: Should work, but you will need to delete the .uid files.
-------------------------------------------------------------------------------------------
Features :
Movement :
- Finite state machine based controller
- Smooth acceleration and deceleration
- Slope and hill traversal
- Walking
- Crouching (continuous hold or toggle)
- Running (continuous hold or toggle)
- Jumping (configurable multi-jump)
- Jump buffering
- Coyote time
- Air control (customizable via curves)
- Bunny hopping (with optional auto bunny hop)
Camera :
- Per-state FOV transitions
- Forward and side tilt
- Head bob
- Zoom
- Configurable mouse sensitivity
UI :
- Crosshair/reticle
- Debug properties HUD
- Input action checker
View files Download Submit an issue Recent Edits