How can I make it so that a character cannot "step up" onto anything?

In the game I’m working on, I want to make it so players can’t step up onto furniture at all.

I have jumping disabled, as the map will be completely flat. However, if a chair is too low, the player is still able to step up onto it.

I basically need it so their feet are glued to the floor (except they can still move). Is there a way to do this?

1 Like

Try disabling the “Climbing” state altogether by putting this into a local script.

game.Players.LocalPlayer.Character.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Climbing, false)
2 Likes

Make invisible box part which has collision.
Then adjust the size and furniture put into the box

1 Like

Oh, your opinion is better way than mine.

I should’ve mentioned I had climbing disabled already as well. However, the game doesn’t count the “step height” as climbing. Unfortunately, there’s no property for step height, and changing hip height causes other issues.

This does work for some of the furniture, and has already been implemented. However, some of the furniture requires the player to be inside of it (i.e., a chair), and I’m worried about collision issues with this.

I believe you can set the player’s Humanoid’s MaxSlopeAngle to 0? I may be wrong but I remember this working for me in the past.

1 Like

It seems to relate to wedges only. Not sure what the conditions to differentiate between the two are, but the engine doesn’t apply it to stepping up sadly.

1 Like

If you want to disable step-up behavior, you can do this:

  1. Set HumanoidRootPart CanCollide to true
  2. Set the Y component of HumanoidRootPart.Size to 3.8, and then move it down by 1 stud
  3. Set Humanoid.HipHeight to -1.8
  4. Set Humanoid.CameraOffset to 0, 1, 0

Though keep in mind, this also disables step-down behavior as a side effect.
It also causes your character to tilt a bit when colliding with parts that would normally make you step up.

Also, for some reason, you must do Step #4 from a LocalScript in StarterCharacterScripts because roblox resets Humanoid.CameraOffset.

I’ve attached an example RBXM file of a character in case you are confused.
disable humanoid stepup example.rbxm (13.5 KB)

1 Like