Vector3 CalculateMovementVector(Vector2 normalizedRawInput) { inputRelativeToWorldPlane = MovementUtils.MovementRelativeToCamera(normalizedRawInput, mainCamera); inputRelativeToSlope = _groundDetection.InputAdjustedForCurrentSlope(inputRelativeToWorldPlane); correctedMovement = _obstacleAvoidance.AvoidObstacles(inputRelativeToSlope, _groundDetection.GroundRelationship_.groundNormal); return(correctedMovement); }