Custom character movement / Jumping

So i made a custom movement system using BodyVelocity. its working fine, but the jumping doesnt work.

For the jumping, i used a BodyForce. when you press the space bar (detected with UserInputService:InputBegan) it first detects if you’re jumping (if the humanoid.FloorMaterial ~= Enum.Material.Air). This part works fine, but for the actual jumping, i set the BodyForce.Force to Vector3.new(0,1e4,0). then, in my Update function (executed 30 times per second, with RunService), i verify if the BodyForce.Force.Y > 0 and if it is i lower it by 1000 so the BodyForce.Force.Y will be equal to 0 after 0.3 seconds.

This doesnt work at all. when i press the space bar (without moving), i jump like 0.2 studs high, but if i try to jump while going down a slope, i jump REALLY high. also, BodyVelocity.MaxForce = Vector3.new(1e6, 50, 1e6), and gravity is default.

I tried changing all the values listed above, never worked. i’ll be happy to give more info if you need it.

1 Like

Could you send you code, so I can have a better understanding?