Skip to Content
DocumentationToolsMesh Utility

Mesh Utility

Many Genesis features — especially inverted-hull Outline, vertex animation, and smooth shading — need clean mesh data. The Mesh Utility window patches what FBX importers leave broken: split smooth normals on hard-edge meshes, duplicate vertices on UV seams, and missing tangents. The patched mesh is saved as a new asset so reimports do not lose your changes.

When to use it

  • Outline seams on hard-edged stylized meshes (the most common case).
  • Meshes that lack tangents, which causes vertex-animation and normal-mapping artifacts.
  • Cleanup before vertex animation so wind sway is continuous across seams.

Inverted-hull outline opens up at every UV seam and hard edge.

Hard shading preserved for lighting, smooth normals used only for outline extrusion. Clean silhouette.

Raw FBX import
Smooth normals in UV3

Storing smooth normals in a UV channel gives you both crisp shading and clean outlines.

Opening the tool

Window → Genesis → Mesh Utility.

Screenshot

The Mesh Utility window showing the mesh source slot, the ordered list of action toggles (Recompute Smooth Normals, Weld Vertices, Recompute Tangents), the Store Smooth In channel dropdown, and a live wireframe preview with the weld-tolerance sphere.

tools/mesh-utility/mesh-utility-window.png

Workflow

  1. Set the source mesh — drop a mesh or select a MeshFilter / SkinnedMeshRenderer in the scene.
  2. Pick the actions you want to run, in order. Multiple actions can run in one click.
  3. Preview the result with the live wireframe. Weld tolerance is shown as a numeric distance and a visual sphere on the mesh.
  4. Apply to save the patched mesh as a new asset next to the original. The renderer can optionally be auto-swapped to the new mesh.

Settings

Inspector labelShader propertyTypeDefaultDescription
Recompute Smooth NormalsRecompute Smooth NormalsBooltrueAverage normals across vertices that share a position.
Store Smooth InStore Smooth InEnumUV3Channel for the smooth-normal copy. UV3 is recommended; some setups use vertex color.
Weld VerticesWeld VerticesBoolfalseMerge duplicate vertices within the tolerance.
Weld ToleranceWeld ToleranceFloat (m)0.0001Distance threshold in meters.
Recompute TangentsRecompute TangentsBooltrueGenerate MikkTSpace tangents — required for normal mapping.
Save PathSave PathString<auto>Where the patched mesh is written. Defaults to the source path + _genesis.asset.

Tips & gotchas

  • Never overwrite the imported FBX — Unity will discard your changes on the next reimport. Always save as a new asset.
  • For skinned meshes, run on the shared mesh asset, not on the instance. The patched mesh is reused across all renderers that reference it.
  • If outlines still seam after running, check that the Outline feature on the material is set to Use Smooth Normals From: UV3.

A ScriptableObject preset can store an action set (e.g. “Outline-ready”) and be applied to a folder of meshes in one batch — useful when adopting Genesis on an existing library.

Last updated on