What I'd like to do is to cast a volume into the scene ahead of a moving character to determine if the move direction needs to be adjusted.
The closest obstacle that collides with that volume has its centre point queried - if it is to the left of the current move direction, turn right, if its to the right, turn left.

Is the best way to do this to do a convexSweepTest?
If so, how would you go about setting the to and from transforms to ensure that it is produced from the front of the character controller to a few units ahead?
*Edited to simplify