Basically, lets say the surface of the wall is "latchable" (which would really be a box collider in my case adjusted to the side of the wall.) I already had assistance with latching onto a ledge and being able to move left and right on it. http://answers.unity3d.com/questions/18430/ledge-hanging-help-box-triggers-are-being-used
I figured in theory that if I copied the code and tweaked it to allow the player to move up and down it would work out. For some reason, it ignores the code that lets me go left and right and now I can only go up and down.
Here is a snippet:
// Wall Movement controls
if (onWall && wallTransform)
{
// Lock camera for short period when transitioning moving & standing still
lockCameraTimer += Time.deltaTime;
if (isMoving != wasMoving)
lockCameraTimer = 0.0;
// We store speed and direction seperately,
// so that when the character stands still we still have a valid forward direction
// moveDirection is always normalized, and we only update it if there is user input.
//If the camera is behind/beside, right is right. Otherwise, right is left.
if(Vector3.Dot(Camera.main.transform.forward, transform.forward) < 0)
moveDirection = h * wallTransform.right;
else
moveDirection = h * -wallTransform.right;
//If the camera is behind/beside, down is down. Otherwise, down is up.
if(Vector3.Dot(Camera.main.transform.forward, transform.forward) < 0)
moveDirection =v * -wallTransform.up;
else
moveDirection = v * wallTransform.up;
}