Shapecasts might be the solution for you.
https://devforum.roblox.com/t/introducing-shapecasts/2320655