Good practice for Physics-based player character design

Godot Version

4.3 with C#

Question

Sup guys. I’d like to make a physics interaction akin to the one that we can see in Amnesia. Would it be better for me to just make a player character as RigidBody3D or make it as CharacterBody3D ? (I plan for the player to also be able to interact with bodies by “running into” them.)

The problem with CharacterBody is that I might need to code some sub-par physics. On the other hand if I have RigidBody3D then I’m not sure where should I put player movement - In _process() ? Or normally in _physics_process() like every other physics body ?

It seems to me that using RigidBody is the easier option, but I’m not sure what are the best practices for this.

RigidBodies may be best controled by _integrate_forces, where you can apply and edit forces safely. Runner up would be _physics_process

1 Like