How to go about creating a local character controller?

Hey everyone,

I’m working on a project where I want to create a custom character system with Quake-style movement (think air-strafing, bunny hopping, and that fast, smooth feel). My goal is to avoid using Roblox’s default Humanoid or any physics controller for now—I’m aiming to build something custom and local-sided for better control.

What I’m Trying to Do:

  • Custom Character Movement: I want to handle velocity, acceleration, gravity, etc., myself to really nail the feel of classic Quake movement. I’m going for precise, fast-paced controls, not the usual Roblox Humanoid movement.
  • Local-Sided Control: I want everything handled on the local side, so I can tweak and optimize things directly.

Where I’m Stuck:

I’ve checked out a bunch of posts and tutorials, but they don’t really go into enough detail on how to set this up. Most of them stick to Roblox’s built-in stuff, which isn’t what I’m looking for.

What I Need Help With:

  1. Custom Movement Logic: How can I best handle input and manually control velocity to get the Quake-style air strafing, bunny hopping, etc.?
  2. Collision Handling: Since I’m avoiding the default Humanoid, what’s the best way to handle collisions?
  3. Physics (Gravity, Jumping): How do I simulate custom gravity and jumping while keeping it responsive and snappy?
  4. General Advice: For anyone who’s done something similar, I’d love to hear any tips, tricks, or even common mistakes to avoid.

If you’ve got any good resources, tutorials, or just some advice, I’m all ears. I’m also happy to check out any code examples or repos if you’ve got something to share. Thanks in advance!
:sunglasses:

The only other project ive seen do this is chickynoid. Checkout the collision module there.

Good luck.

I’ve heard that character controllers are used frequently when replacing and making your own movement system. Have a look at the ControllerManager instance perhaps.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.