Creating a wallrun script/system?

Okay so, i want to make a wallrun script… How would i do that though?
I already have a plan, well atleast for some of them…
Here is my plan:
I use raycasting to check if they are sticking to a wall that can be wallran onto
I check if they jump and if they do so while wallrunning, i get them off the wall and stop the wallrun.

Now, the thing is that i won’t be asking the forums if i knew what to do…
The “???” are uh i dunno, i don’t know how i would get them to stick on the wall properly while being able to move up and down, also transition,
for example, transitioning from one part to another how would i be able to do this?
I don’t need a script (as the forum is not for that if memory serves)
i just need an explanation on how it would work/what i would use…
Thanks so much in advance!!

Haven’t made a wallrun yet but I made a wallslide the other day and I believe the logic applied is pretty much the same.

What I do is fire a raycast like you said torwards the point the player touched, save the last wall in a variable and set the player rotation using the raycast’s normal, then I just apply a bodyvelocity down (in your case you’d do it to the side based on the direction the player was moving) which also prevents them from falling.

Then either when the player lands or jumps you destroy said velocity and forget the last wall they touched (If you want players to continue the wallrun if there is another wall you could fire another ray before destroying the velocity and if it finds a wall just call the function again).