Getting size of overlapping parts

I am building a placement system that lets you place everywhere,
I currently use a Region3 to see if the active part will collide with any overlapping parts, I then simply return the function so it never gets set
however this leads to some gaps and feels very rigid.

If A and B were colliding it would return the red section so I could shift A away from B making it feel more smoother.

I’m open to anyway to make this easier
Thanks!

Fixed it by using magnitude distance checks to “bounce back” the part by how far in it is.Using a raycast to see where the collision point is.