Find closest point of a sprite to GameObject 2D

Hello all, i am currently making a 2d game in unity where the characters traverse small worlds. I have a wonderful gravity code for it as well, but it only works for circular planets. I want to make planets shaped like plus signs and triangles and stuff like that. To do that i need to find the closest point of all planet’s within a layer so i can apply forces to the character. All my attempts to achieve this goal have not worked.
I want to know a way to accomplish
But in 2d.
Collider2d does not have a closest point in bounds function.
I tried to make one by shooting raycasts in every direction and finding the closest hit point, but i fear that would slow down the game when 20 objects have that code.
Any suggestions?

Try shooting a ray in direction of center of planet, it will hit a face that is the ground. Then just jest that face’s normal vector. And that’s it ;>