CapsuleCast may sometimes return invalid an 'invalid hit', where hit.distance == 0
and hit.point == (0,0,0)
1). By the documentation, this should only happen when the starting cast position already overlaps a target geometry.
Occasionally, however, CapsuleCast may return an invalid hit in certain uncommon but valid cases. For example, hitting a triangle mesh exactly edge on2). Adding a small fudge value to the cast direction can alleviate this.
ray.direction == colliderTriangle.normal