Point mesh shortest vector

What is the best way to find the shortest vector between a point and a mesh?
The only way that I can think of is iterating through 360° and steps in a secondary angle, creating a vector from the two angles, and using raycast.

Add a MeshCollider to your mesh and use Collider.ClosestPointOnBounds.

Vector3 closest = collider.ClosestPointOnBounds(point);
Vector3 resultVector = closest - point;