@CringeEngineer
My resource VoxelDestruct was made for voxel destruction physics but includes in it a module to greedy mesh groups of parts without relying on a uniform voxel size, perhaps this is what you meant by ‘custom sizes’ ? In the resource’s hierarchy there is a Mesh module, require it and use :MergeParts(parts)
(passing a table of parts, use :GetChildren() on a model.) The other parameters wont be useful unless you use PartCache. Try this and see if it fits your project’s needs and mark this as a solution if so.
This should work for most models as long as the parts are not intersecting each other.