Fixed a nasty UV unwrap bug with organic + hard-surface hybrid meshes — sharing the fix

Been heads-down the last few weeks on an issue that kept coming up with mixed-topology meshes — models that have both organic sections (characters, creatures) and hard-surface sections (armor, mechanical parts) in the same object. The default smart UV project logic tends to either over-fragment the hard-surface faces or under-detect seams on the organic parts, because one angle threshold rarely works for both.

What ended up fixing it for me:

  • Relaxing the organic detection thresholds so smoother regions aren’t misclassified as hard-surface
  • Raising the smart_project angle limit specifically for hybrid meshes
  • Building a proper seam fallback chain instead of relying on a single detection pass
  • Splitting the UV op into separate functions per mesh type — turns out Blender 4.5’s context override behavior changes how these need to be structured anyway

If anyone’s fighting similar issues with auto-unwrapping mixed meshes, happy to go into more detail on the approach. This is the kind of edge case that’s easy to miss until you’re testing on a real asset with both a creature body and strapped-on armor plates.

(For anyone curious, this came out of testing on my Smart UV Tools addon, but the underlying logic applies whether you’re scripting your own solution or just trying to understand why smart_project behaves inconsistently on hybrid meshes.)