0 votes
by (8.2k points)

Im very new to Unity and C# I have been trying to make my character climb on ladders for hours and tried Character Controller Component and  20+ diffrent scripts but nothing is working. I am putting the script on the Player around the ladder I even added a spirit behind the tiles where the ladders and put the collider around them but nothing the character just falls as well not able to climb the ladder it seemed not to work for me here is the ladder Images:

by (8.2k points)

What do you mean it just falls? Can you move your character at all? Do you have any collider on the ground to stop your character from passing through?

by (8.2k points)

Yes, I have, the ladders lead 2nd Floor where the character has to go down and up but when I try going down the ladders I just fall and can't get up(climb up the ladders)the character can move left, right, jump.

1 Answer

0 votes
by (8.2k points)

You need to check the gravity on your character rigidbody while climbing otherwise the gravity will always take your character down.

There's a few ways to accomplish this. 

  1. Destroy the rigidbody when you are on the ladder, and just have a ladder-traversal script that slides you up and down relative to the ladder's position, which would also take care of the ladder moving. Then when you get off the ladder, add the Rigidbody back on, with any custom values it might be using.
  2. You could use a Fixed Joint to attach to the ladder (ladder would need a rigidbody too obviously, one that is kinematic), and then drive the offset of the Fixed Joint to go up and down the ladder.
  3. Select the player in Inspector panel Search for Character Controller (OffSet) Increase the "Set Offset".

TechXR runs courses in AR / VR / Metaverse / Game Development. Some of the popular Q&A in our courses are available here for easy discovery.

113 questions

117 answers

8 comments

99.7k users

...