It gets a projected vector thats orthogonal to the normal vector… that happens to be parallel to the surface / polygon it hit.
Normalized:
This above is what I think @Nakhhhh problem is, but I don’t see that in what he shared. His result of the cross product (WallRunDirection) should already be a unit vector.
Of course. Just that sometimes I think it could leave some implicit details and prefer a few extra (or all) nodes when sharing ideas with strangers.