3D Movement in Godot
2021/10/29
- Type
- Learning Resource
- Format
- Video
- Version
- Godot 3.x
- Subject Tags
- Update/Code Patch
- Code
- MIT
- Game Assets
- CC BY-NC-SA
- All else
- 2016-2026, GDQuest© - All rights reserved
- Created
- Updated
- 2021/10/29
- 2021/10/29
This page covers character movement in Godot 3. We've made an updated and much more detailed guide for Godot 4!
You can find the new tutorial here: Create a 3D Character Controller in Godot 4. It includes a free and open source demo and a full breakdown of the code.
This Godot 3 video gives you an overview of what goes into building a third-person character controller from scratch. In about six minutes, you see what goes into making a character that can jump, walk on slopes, with camera-relative movement and smooth rotation.
The video covers the decisions that go into building a working character controller: why KinematicBody gives you more control than RigidBody, why a capsule collision shape handles slopes and stairs better than a cylinder, and how move_and_slide_with_snap() keeps the character grounded without extra code.
On the camera side, a SpringArm node follows and orbits the character while colliding with the game world to prevent clipping. Mouse input pitches and rotates the camera, and the movement direction is always calculated relative to the camera's orientation so the controls stay consistent no matter where you're looking.
Don't stop here. Step-by-step tutorials are fun but they only take you so far.
Try one of our proven study programs to become an independent Gamedev truly capable of realizing the games you’ve always wanted to make.
Get help from peers and pros on GDQuest's Discord server!
20,000 membersJoin ServerThere are multiple ways you can join our effort to create free and open source gamedev resources that are accessible to everyone!
Sponsor this library by learning gamedev with us onGDSchool
Learn MoreImprove and build on assets or suggest edits onGithub
Contributeshare this page and talk about GDQUest onRedditYoutubeTwitter…
Site in BETA!found a bug?