Characters that can wallrun and do variety of actions based on a button and position

I want to build a character controller that can do these things

Wallrun, grinding, jumping on the edge, climbing, depending on the position and the environment’s tag/type.

Especially wallrun since it is a “on release” button type.

i want to know where i should start building, where can i find a character controller that “detects or overlap”(not collide) nearest point of contact, either on walls or objects and place markers on it…depending on the character’s position and facing direction?