Почему персонаж подымается по стене при прыжке?
if(Input.GetButton("Jump")){
Надо проверить, что контроллер стоит на земле и может от неё оттолкнуться для прыжка.

Сейчас вы проверяете, что контроллер находится рядом со стеной, землёй или полом.
Привет, попробуй решить проблему этим способом https://youtu.be/B3g-utBGflo