Wall Climb system

Possible to make a wallclimbing system that allows for players to climb in all directions smoothly, left right up down? I tried using raycasting but anims not smooth and dosen’t work too well…
Enum keycodes kinda worked…? But not rlly smooth and mobile support is buggy. Like a system sort of similar to other games e.g. zelda? sort of but simpler for my game

Is there a smooth way w animations? I don’t rlly do animating and idk how to detect a wall other than using raycasting, searching for other ways

5 Likes

This one is pretty cool ! And not too hard to understand i think.

1 Like

Thanks for linking my post :slight_smile:

If anything seems too hard or unclear please let me know so I can fix it!

1 Like

Actually, something’s bothering me. In this system, you anchored the HumanoidRootPart from a local script, because of that, from the server (and other players) pov, you are not climbing at all.
Is anchoring the root with a server script the solution ? or is this system made for solo game only ?

1 Like

Whoops, yeah you’re right. I never tested it with anyone else, and I didn’t check on the server so I never caught that lol.

Probably, but I don’t think sending a remote to the server everytime the player wants to client is good. But for now I’ll fix that up!

edit:

I check and MAYBE even though the player isn’t anchored on the server, their position (if they keep moving) will rapidly update giving the impression that they’re climbing (and not slipping off the wall)

But I’ll have to try it for myself (cant at this moment)

1 Like

Okay yeah you’re right, it doesn’t replicate to the server. I’ll fix up the post!

(thank you for identifying the problem!)

edit:

for whatever reason, sending a remote to the server to anchor the humanoidRootPart on its own is problematic.

When the server anchor the player, it anchors it before it gets near the wall. That makes it seem like the player is hovering. Not only that though, it also glitches the player a bit (not any errors though).

I did find a solution, youve just gotta anchor the HumanoidRootPart on the client as well. The player might be lower on the wall for everyone else but it works.

Try using MoveDirection, It will allow for more directions like :arrow_upper_right: :arrow_upper_left: :arrow_lower_left: :arrow_lower_right: . and supports mobile/console.

About animations, try checking if its already playing before playing it.

if Anim.IsPlaying then -- Im pretty sure its "IsPlaying" if not try search it.
    return
end

And good luck!