Ladder/Truss climbing with non-robloxian character models

It looks like custom character models by default are not able to interact with or sense trusses and climbable ledges/ladders and are unable to climb them like a regular roblox avatar model.

I would like to think ControllerPartSensors could be used to recreate the ladder detection stuff default humanoids use, but how would you then “turn on” climbing for the character?

Asking as I would like to use trusses as ladders in my building system while avoiding making a clunky custom ladder climbing system.

A ControllerPartSensor using Enum.SensorMode.Ladder will automatically detect a “climbable” surface when its UpdateType is set to Enum.SensorUpdateType.OnRead. This should emulate the places you’d expect a Humanoid character to be able to climb.

In order to “activate climbing”, set the ActiveController property of the ControllerManager to a ClimbController. You’ll probably want to listen for a change to the SensedPart property of a ControllerPartSesnor (as described above) - this will be nil when there is nothing in front of the character to climb and non-nil when there is.

2 Likes

Now how do you go about actually adding the movement? I’ve got my character attached to the truss but I’m not sure how you would do the climbing movement (idk if a constraint like a alignposition would work for this)

I don’t have much experience with the new state controllers and I’m still using regular humanoids for my characters but I’ve at least got it halfway now

You don’t need to manually attach the character when using a ContorllerManager system and a ClimbController. When a ControllerManager’s ActiveController is a ClimbController, the MovingDirection property determines which direction the player will climb (forward will go up, backwards will go down or even left or right).

The ControllerManager must also have a valid ClimbSensor and this ControllerPartSensor must have a non-nil SensedPart either from automatically detecting one, or from being updated via script when UpdateType is Enum.SensorUpdateType.Manual (in which case you’ll also want to update the HitFrame and HitNormal properties).

https://gyazo.com/ee14f7e6723ab79c448a5eadb2f8fa6d.mp4

Super cool, thanks for the help

By “attached” I meant that I had gotten the character to cling to the truss just not able to climb

For those who might also have this problem (and if I’m right in doing it this way) to allow for the up/down climbing I’m matching the ControllerManagers MovingDirection to the ControllerPartSensor’s new HitNormal

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