Real Controller
A third-person character controller for Godot 4.6 with smooth locomotion, camera controls, and animation blending.

Features
- Camera Mode: First-person and third-person camera modes
- Locomotion System: Walk, run, and sprint with 8-directional movement blending
- Jump Mechanics: Ground-based jumping with gravity handling
- Camera Controls: Third-person camera with configurable tilt limits and mouse sensitivity
- Controller Support: Full gamepad support with analog stick movement
- Animation System: Smooth animation blending using AnimationTree
- Smooth Rotation: Character mesh rotates smoothly to face movement direction
Requirements
- Godot 4.6 or later
Installation
- Copy the
addons/real-controllerfolder into your project'saddonsdirectory - Enable the addon in Project Settings > Plugins
- Add the character scene (
addons/real-controller/character.tscn) to your scene or use the example scene
Setup
How to change the character model? - Real Controller | Godot 4.6 - Youtube Video
Input Map Configuration
The controller requires the following input actions to be configured in your project:
- Go to Project > Project Settings > Input Map
- Add the following actions with their corresponding _recommended_ inputs:
| Action | Keyboard | Controller(Optional) |
|---|---|---|
forward |
W | Left Stick Up |
backward |
S | Left Stick Down |
left |
A | Left Stick Left |
right |
D | Left Stick Right |
jump |
Space | A Button |
sprint |
Left Shift | Right Trigger |
walk |
Left Alt | - |
camera_mode_switch |
V | - |
look_up |
- | Right Stick Up |
look_down |
- | Right Stick Down |
look_left |
- | Right Stick Left |
look_right |
- | Right Stick Right |
Note: These input mappings are required for the controller to function properly. Make sure all actions are configured before running the scene. Controller support can be toggled via the
controller_supportexport variable.
Configuration
The controller exposes several export variables for customization:
- Movement: Speed, sprint speed, jump velocity
- Camera: Mouse sensitivity, controller sensitivity, tilt limit, rotation speed, controller support toggle
If you think camera is too high or too low, you can change Y axis of the CameraPivot node. It will help you to adjust the camera height.
Credits
Animations and the Mesh are from the Basic Motions Free.
Todo
- [ ] Adding new animations from mixamo guide
- [x] Change mesh guide
- [x] Walk
- [ ] Crouch
License
MIT License - See LICENCE file for details.
Changelog for version v1.3.0
No changelog provided for this version.