Creating a custom character controller

I’ve been out of the loop for 4-6 months, finally back to some roblox development. Might have missed some important updates but I think I got atleast some down.

So. I want to create a custom character controller. Reason being the default humanoid controller has physics specifications that just dont fit my game (instant acceleration of velocity when strafing etc.).

In the past I’ve created such character systems using all sorts of raycasting wonders for collision checking and custom renderstepped physics calculations, however those all turned out not functional in the end due to reasons such as lower framerates producing issues (using frame delta doesnt matter when the users frame time is more than the length of a collision ray etc.)

So how would you guys normally do one? I tried using BodyGyro with BodyForce / BodyThrust and it just seems really wonky and not able to climb ramps for example.

It needs to walk along ramps up to 44.9 degrees in angle (stairs is not a requirement)

4 Likes

There’s already one made which is here and made by @EgoMoose:

But if you’re adamant about making your own, you can have a look at the code and see how Ego did stuff.

1 Like

All I want is the regular character but without instant acceleration, but I’ll take a look at that!

1 Like

I may really oversimplifying this but couldn’t you set the walkspeed of every player to 0, when they start moving run a function that increases their walkspeed from 0 to 16 and when they stop moving set it back to 0?

3 Likes