3D Movement in Godot

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.

Nathan

Founder and teacher at GDQuest

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.

updates / code patches

Become an Indie Gamedev with GDQuest!

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.

Nathan

Founder and teacher at GDQuest
  • Starter Kit
  • Learn Gamedev from Zero
Check out GDSchool

You're welcome in our little community

Get help from peers and pros on GDQuest's Discord server!

20,000 membersJoin Server

Contribute to GDQuest's Free Library

There are multiple ways you can join our effort to create free and open source gamedev resources that are accessible to everyone!

Site in BETA!found a bug?