Is there a way to find the max radius a sphere can have at a point in the world before colliding with something?
as far as I am aware, no single method to call no. So you’d have to work it out yourself with iteration.
I’d say you have two ways of doing this.
One is to fire of bunch of raycasts in random directions (the more casts, the more likely you are to get an accurate result). from your point in question, then the radius is the shortest ray length before collision.
An alternative is to check with an actual sphere, although this works best if you already have a general idea of you min/max range. Sphere test with the max range, if that results in collisions, halve the radius and try again, if you test gets a collision, halve the radius, if it doesn’t get a collision, then increase the radius by half quarter of what it is. (Essentially doing a binary search like you would to search a list of sorted values). You could also do this the other way, starting small and increasing the radius until you get collisions and then decreasing back again until you don’t.
Obviously both of these methods are a bit costly, and have variable accuracy based on number of iterations, but It’s the only thing my tired brain can come up with as a solution at the moment.
Hope this helps a bit.