Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

CharacterBody3D

Inherits: PhysicsBody3D < CollisionObject3D < Node3D < Node < Object

A 3D physics body specialized for characters moved by script.

Description

CharacterBody3D is a specialized class for physics bodies that are meant to be user-controlled. They are not affected by physics at all, but they affect other physics bodies in their path. They are mainly used to provide high-level API to move objects with wall and slope detection (move_and_slide method) in addition to the general collision detection provided by PhysicsBody3D.move_and_collide. This makes it useful for highly configurable physics bodies that must move in specific ways and collide with the world, as is often the case with user-controlled characters.

For game objects that don't require complex movement or collision detection, such as moving platforms, AnimatableBody3D is simpler to configure.

Tutorials

Properties

bool

floor_block_on_wall

true

bool

floor_constant_speed

false

float

floor_max_angle

0.785398

float

floor_snap_length

0.1

bool

floor_stop_on_slope

true

int

max_slides

6

MotionMode

motion_mode

0

int

platform_floor_layers

4294967295

PlatformOnLeave

platform_on_leave

0