Hi everyone,
I’d like to share an experimental third-person character controller I’ve been developing.
I’ve worked on several locomotion and character controller demos over the years, and this V2 is the most refined version so far.
The main focus has been achieving fluid and responsive movement with strong reactivity between player input, physical motion, and animation blending.
Technically, it’s an advanced kinematic character controller, closer in philosophy to Unity’s CharacterController, Unreal’s Character Movement Component, or Godot’s Kinematic Character Controller than to a rigidbody-based solution.
The controller uses a capsule collider, raycast-based ground detection, manual gravity and acceleration, collision handling through Babylon’s moveWithCollisions(), and a locomotion state machine. On top of that, it incorporates ground snapping, stair handling, visual suspension, procedural leaning, squash & stretch, contextual particles, dynamic camera effects, and configurable air control.
The goal is not realistic physics simulation, but rather responsive and believable third-person movement that works consistently and fluid across desktop and mobile devices.
Demo:
https://viseni.com/_demos_/bjs_character_controller_v2/
GitHub:
https://github.com/crazyramirez/BJS_Character_Controller_V2
Feedback, suggestions, and technical discussions are very welcome. ![]()


