[2.3.0 released] Mesh Checker - Powerful set of tools for mesh error detection

Mesh Checker

MeshChecker is a Unity Editor extension which includes a set of useful tools:

  • «Sizes and bounds» tool visualizes and measures volumes of a selected set of objects.

  • «Polygons count» shows triangles and vertices count for all meshes associated with the selected objects.

  • «Checker» makes it easier to temporarily apply a checker texture to desired objects to detect UV-mapping errors.

  • «Mesh Analysis» automatically checks meshes using different analysis rules. It also helps checking meshes manually by offering different display options and manual analysis utilities. This tool offers an API to make your own automatic analysis rules, display options and manual check utilities.

Features:

  • 6 mesh analyses: Coincident UVs and vertices, inverted normals, pivot out of bounds, UV sets missing and vertices out of bounds.
  • 12 shading options: Normal, binormal, tangent, Wireframe, UV, backfaces, inverted normals and others.
  • 5 tools which help to find mesh issues: Coincident UVs and vertices, inverted normals, mesh bounds and pivot point viewers.
  • API for creating your own analyses, shading options and viewing tools.
  • Bounding box visualization for selected objects in world and local coordinates. You may easily copy the bounding box center coordinates and use them to create an object or place something in the middle of the selected objects volume.
  • Size of an object or a set of objects can be shown in meters, centimeters, feet or inches with custom scale adjustments.
  • A tool to temporarily apply procedural or custom UV-checker texture to selected objects to detect UV issues.
  • A «Polygons count» tool to show triangles and vertices count for all meshes associated with the selected set of objects.

Mesh Checker editor extension in asset store

2.3.0 Changelog

[2.3.0] - 2018-06-16

Added:

  • Support of the SkinnedMeshRenderer;
  • MeshFilter abstraction;
  • Collider utilities to the Sizes And Bounds tool;
  • The expandable container which can be used to animate expanding and collapsing a group of elements;
  • Vector3 extension method (GetOneDividedBy) which helps to get a vector with components that are computed by dividing one by the specified vector components;
  • Centered Roboto label style.

Changed:

  • Animation of list items is now smoothed;
  • Settings of Sizes And Bounds tool and transform utilities splitted and moved to SAB utilities panel.

2.2.0 Changelog

[2.2.0] - 2018-04-22

Added:

  • Wireframe shading option;
  • BumpMapping to the Normals shading option;
  • Wireframe toggle to the Normals shading option;
  • Description and alias info to the Normals, Binormal, Tangent, Checker, CustomMaterials, InvertedNormals, PurpleBackface, SubmeshColor, UV, VertexColor, Wireframe shading options;
  • Moving camera in MeshAnalysis window;
  • Focusing on the object when the ‘F’ key pressed;
  • Navigation hints in the MeshAnalysisWindow;
  • ‘None’ tool when one or more tools exists in the MeshAnalysis window;
  • MeshAnalysis window maximization;
  • SaB units settings to the tool settings popup;
  • A hotkey info to the toggle maximized button tooltip;
  • GetObjectCenter() method. Now possible to get object center in the MeshAnalysisWindow; - EnabledScope to the MCGUI class;
  • Warning and Ok colors to the MCGUI class;
  • ShadingOption description helper utilities;
  • SetToolName(string) protected method to the MeshAnalysisTool;
  • ColoredVerticalLine, RobotoLabel, RobotoLabelBold, RobotoLabelBoldWhite styles.

Changed:

  • The ErrorGUIColor property now is ErrorColor. ErrorGUIColor marked as obsolete;
  • A Wireframe property now can be overridden in shading options;
  • Shading options order. Binormal and Tangent options pushed on top of the list.

Fixed:

  • Variable naming in the InvertedNormals shader;
  • PackageImportIssues now do not invoke an additional GUI reloading on awake.

2.1.0 Changelog

[2.1.0] - 2018-04-16

Added:

  • Usage hints to main tools.
  • Resources Not Exists issue handling.
  • Roboto font for some messages.
  • Wireframe drawing option to shading options as property.
  • RepaintEvent to the MeshAnalysisWindow.
  • ReloadStylesEvent to MCGUI.
  • ConfigureMaterial call to BasicShaderShadingOption.
  • DrawMesh method with scale argument.
  • MCGUIIcons class.
  • MCHandles helper class.
  • Scopes for the GUI Layout (Vertical, Horizontal)

Changed:

  • Icons moved from MCGUIStyles to MCGUI.Icons, old properties marked as obsolete.
  • Plugins folder renamed to ‘MeshChecker Plugins’.
  • Sizes and bounds cache now not cleared on calculation ending. This should help to remove blinking in GUI.

Fixed:

  • Camera jumps on freeze.

2.0.0 Changelog

[2.0.0] - 2018-03-28

Unity versions before 5.0 are no longer supported.

Added:

  • A powerful analysis tool, which automatically checks meshes using different analysis rules. It also helps checking meshes manually by offering different display options and manual analysis utilities.
  • An API to make your own automatic analysis rules, display options and manual check utilities.
  • 11 shading options: “Normal”, “Binormal”, “Tangent”, “UV”, “Backfaces”, “Inverted normals”, and a lot more.
  • 5 tools which help to find mesh issues: Coincident UVs and vertices, inverted normals, mesh bounds and pivot point viewers.
  • 6 mesh analyses: “Coincident UVs and vertices”, “Inverted normals”, “Pivot out of bounds”, “UV sets missing” and “Vertices out of bounds”.
  • A «Polygons count» tool to show triangles and vertices count for all meshes associated with the selected set of objects.
  • A multiselection support to the “Sizes and bounds” tool.
  • A multiselection support to the “Checker” tool.

1.3.1 Changelog

  • Added patcher, that helps you to clear obsolete files from old versions. (But if you update from 1.0, 1.1, 1.2 or 1.2.1 - remove old version, please.)
  • Fixed default tiling data of procedural checker texture.
  • Fixed local bounding box position bug with scaled objects.
  • Fixed NullReferenceException in playmode.
  • Fixed displaying sizes of an object, that behind the camera of scene view.

Version history

1.3
Remove “Assets/MeshCheckerEditorExtension/” folder before updating!

Version history

  • Added 3 types of bounding box: Local, World and World Approximated (uses renderer.bounds)
  • Added center of bounding box gizmo and positions.
  • Sizes on scene view now viewport-aligned.
  • Added custom checker texture support.
  • Added checker texture UV-tiling and UV-offset.

1.2.1

  • Added Unity 5.0 support

1.2

  • Added Unity 4.6 support
  • Fixed bug with Play mode

Mesh Checker is now compatible with Unity 4.6 and Unity 5!

Price lowered and there are two vouchers:
ASV-W6MH-MPFM-VUCJ-6T6M-EKVE - used
ASV-3EAK-AQRY-VYFE-MQ3E-NN7W - used

Thanks for the voucher!

Cheers Michael

I hope that this asset would be useful for you! Please, rate and comment, it will help me to make my assets much better! :slight_smile:

Hi Hightlander!
I saw your asset just when it comes out, and though how i can use it in an actual project, and i now have it for free, thanks! :slight_smile:
Your asset would be more helpful for me if i can switch to more useful UV-Maps like on this site: “http://blog.duber.cz/misc/custom-uv-and-tracking-maps-for-vfx-professionals
And different! (I think 3 different UV-Maps) perhaps the possibility to load own.
For me your asset could be more helpful in the build-phase, when there are not the real textures on the models.
An UV-Map with numbers is helpful, seeing how the UV is layout, which direction, or mirrored, streched.
And i want a button where I can map the uv-tiling to one! (there is this slider, but no clue how much).
The bounding box is really nice, it would be really helpful if we could get more options(perhaps to switch on ):
switch to local axis of object, calculation of center point in bounding box.(the calculated numbers copyable?)
And some minor touches: aligning of the size-measurement to camera;)

One use case for me is: we have a project with visualization of fabric on furniture, the samples came in different sizes, and they are mostly rectangular. But they have to be scaled to fit the pieces. So every material gets his own scaling, which must be adapted to the scale of the piece and the scale of UV-Map…
I don´t know how to achieve this in the right way, perhaps modifying your code:roll_eyes:

Cheers
Michael

Thank you for the detailed reply! I’m starting work on those features.

I’m name the slider as “Checker tiling”, but actually it is not a uv-tiling, it something like “how much white-black squares on texture”. I would change this system by adding texture tiling field. :wink:

Could you describe this case in more detail? Are you mean texture tiling on material?

Version 1.3 submitted to review, soon it will be available!

Changes:

  • Added 3 types of bounding box: Local, World and World Approximated (uses renderer.bounds)
  • Added center of bounding box gizmo and positions.
  • Sizes on scene view now viewport-aligned.
  • Added custom checker texture support.
  • Added fields for checker texture UV-tiling and UV-offset.

World aligned bounding box have low performance, but more accurate.

Version 1.3 released!

Please, remove “Assets/MeshCheckerEditorExtension/” folder before updating.

Version 1.3.1 released!

Changes:

  • Added patcher, that helps you to clear obsolete files from old versions. (But if you update from 1.0, 1.1, 1.2 or 1.2.1 - remove old version, please.)
  • Fixed default tiling data of procedural checker texture.
  • Fixed local bounding box position bug with scaled objects.
  • Fixed NullReferenceException in playmode.
  • Fixed displaying sizes of object, that behind the camera of scene view.

Hello Hightlander :slight_smile:
Thanks for your asset, is it a very usefull one.

I have a little question :
It is possible to assign the checker to a mesh even if it is not selected ?
In other words; could be nice to have the possibility to keep the checker material on one mesh even if I selected another one in the scene.

Also, for me 1 meter its displayed with 4 squares of the checker.
I wanted to set 1 meter = 1 square of the checker, but when I change the unit value in preferences its not changing anything, and when I come back the value seems to go back to 1m (100 cm) am I doing something wrong ? :slight_smile:

Thanks again,
Regards

1 Like

Hi, satolas!

First of all, thanx for the reply and asset usage!

I make a second version of the asset for about a year, which has many cool features:

  • Multi selection for checker material.

  • Multi selection for sizes.

  • View polygons and vertices count of meshes.

  • Mesh analysis

  • View mesh in separate window.

  • Automatic analysis for coincident UV issues.

  • Automatic analysis for coincident vertices in polygons.

  • Automatic analysis for pivot out of bounds issue.

  • Automatic analysis for vertices out of bounds issue.

  • Automatic analysis for UV0 missed.

  • Automatic analysis for inverted normals in polygon issue.

  • Many shading options for view normals, tangent, binormal, checker, backfaces, vertex color and others.

I can send to you a beta version of MeshChecker 2.0 if you want.

Sizes and checker tools are independent. The unit value in preferences only affects the displayed size value on a mesh bounding box. It’s not possible to make checker square with 1-meter size because each mesh has unique UV mapping not based on sizes.

I think it possible to create the shader, that will apply white or black color, based on Y coordinate in the world. I can try to make it in a weekend if you need.

Sincerely, Hightlander.

Hello Highlander,

Thanks for your answer !
Im very interrested if you could send me the MeshChecker 2.0.

I understand about the size of the mesh.
Maybe as you say, a kind of uniform checker spray coming from top of the world could be interresting. (scuh an epic sentence for checker ^^)

Thanks again, I’ll let you know if I have some other ideas :slight_smile:

Hello, Satolas!

I sent the package link in the conversation. Documentation for the new version not ready yet, but it’s quite simple to use, I think.

Mesh analyses, mesh view tools and shading options are extendable plugins. It is possible to create new and change existing.

Version 2.0.0 Released!
Here some detailed features description:

Sizes and bounds
Description

To start using this tool click the button with a ruler icon on the toolbar. An information table will appear below the panel. Now if you select objects on a scene or in the Hierarchy panel the size of a bounding box enclosing all the selected objects will be shown in the information panel. The size of a bounding box around each one of the selected objects will be displayed as well.

Edges, a center point and axes with linear sizes of the bounding box around selected objects will be displayed. To hide this information please go to the tool settings and deselect the respective options.

Linear dimensions can be measured along the world axes or local object axes. You can choose between them using a drop down list in the right part of the information table header.

You can change units of measurement, displayed precision and color of a bounding box lines in “Edit → Preferences… → Mesh Checker”.

There are four units of length to choose from: meters, centimeters, feet and inches. It is also possible to change the ratio of a chosen unit of length to the Unity’s generic unit. 1 unit equals 1 meter by default. The “Precision” slider controls how many digits are displayed after the decimal point in the information table and in the labels inside the scene.


This instrument allows an existing object to be placed, or a new object to be created at the center of the volume. To do that you can copy center point coordinates by clicking “Instrument options → Copy center Transform” and then pasting it to the Transform property of a desired object. Another way is to create a new object by clicking the “Create GO in center” button.

Polygons Count

Description

To use this tool click the button with a triangles icon. This tool will count triangles and vertices for meshes associated with each of the selected objects. All information will be displayed in a table below the tool selection panel.

To sort table rows by name, triangles count or vertices count click on a columns’ headers.

If you click on an object’s name in the information table that object will be highlighted in the Hierarchy or Project windows.

Checker

Description

To start using this tool click the “UV” button.

This tool is intended to swap an object’s texture for a customizable checker texture in order to detect problems with UV-mapping. Once you finish using this tool all the affected materials will be reverted to the original state.

To apply a procedurally generated checker texture please select “Procedural” option in the “Checker texture” drop down list.

Available options:

  • Texture size – size of the sqare texture. Available sizes: 32, 64, 128, 256, 512, 1024, 2048.

  • Pattern density – how many black and white checks are going to be generated. Higher frequency — more checks will be placed on the texture.

  • UV-tiling – texture tiling.

  • UV-offset – texture offset.

To apply your own custom texture select “Custom” option in the drop down list.

Available options:

  • Texture – custom texture. Drag and drop a desired texture here or pick it from the list.

  • UV-tiling – texture tiling.

  • UV-offset – texture offset.

To apply the checker texture to the selected object click the “Set Checker” button. To go back to an original texture click the “Remove Checker” button or select another object (unless “Set checker auto” option is enabled).

The “Set checker auto” option enables automatic checker on select mode. The checker texture will be applied to every selected object automatically.

By default, object selection highlight lines are not drawn when using this tool. This behavior can be changed by selecting the “Draw wireframe with checker” flag in the extension’s settings (Edit → Preferences… → Mesh Checker).

Mesh Analysis

Description

To use “Mesh Analysis” select the rightmost instrument on the toolbar.

Once some objects are selected this tool will automatically start multi-threaded analysis of the appropriate meshes. You may select objects on a scene or any other objects in your project without adding them to the scene.

There are four possible states for each analysis:

  • Gray – analyses have not been completed yet.

  • Green – analyses have been completed. No errors or warnings were detected.

  • Yellow – analyses have been completed. No errors were detected, but there are one or more warnings.

  • Red – analyses have been completed. Errors and possibly warnings were detected.

It is possible to expand an analysis table entry if it contains any errors or warnings. The expanded view displays main information about the warnings and errors such as message text or custom info depending on an analysis implementation. Some messages open a Manual Analysis window with an appropriate shading options and tools. If you click on a mesh entry’s header, it will open the Manual Analysis window as well.

Automatic analyses
Coincident UV
Result
Error

Conditions detected
This rule detects triangles that have identical UV coordinates of two or three vertices in, at least, one UV set.

Coincident Vertices
Result
Error

Conditions detected
This rule detects mesh surface errors. The analysis finding any triangles with coincident or very close to each other vertices completes with an error result.

Inverted Normals
Result
Error

Conditions detected
This rule detects problems with vertex normals. Triangles that have any of its vertex normals angled to a triangle normal more than 90 degrees are considered problematic.

Pivot out of bounds
Result
Warning

Conditions detected
Pivot point is outside the bounding box of a mesh.

UV Exists
Result
Error

Conditions detected
A mesh has no UV sets defined.

Vertices out of bounds
Result
Error

Conditions detected
A mesh has one or more vertices outside it’s bounding box.

Manual Analysis

Description and tools info

This tool provides additional display options and instruments to further help with mesh analysis tasks.

Display options discovered in the assemblies or separate scripts are displayed in a drop down list. Each display option depending on an implementation may have additional settings and a detailed description.

The next drop down list contains instruments discovered as an assembly or separate scripts in the project.

A UI for a selected instrument depends on an implementation and is displayed to the right.

There is a mesh’s name caption and a lighting mode switch at the right side of the toolbar.

Shading options
Checker

Description
This mode applies a checker texture to a mesh. It helps detecting flaws in texture maps.

Settings
Available options are the same as in the main window’s Checker tool.

Alias
ShadingOptions.Checker

Normals

Description
This option displays normals of a surface. These normals are utilized in a various lighting procedures and other effects. This option is suitable to detect edge hardness errors and wrong normals directions.

Settings
None.

Alias
ShadingOptions.Normals

Tangents

Description
This option displays surface tangents. Tangents are used in lighting shaders and other effects. This option is suitable to detect edge hardness errors and wrong tangents directions.

Settings
None.

Alias
ShadingOptions.Tangent

Binormal

Description
This option displays surface binormals. Binormals are used in lighting shaders and other effects. This option is suitable to detect edge hardness errors and wrong binormals directions.

Settings
None.

Alias
ShadingOptions.Binormal

Inverted Normals

Description
This option highlights surfaces which normals are approximately codirectional to a view direction. This may indicate that an error in vertex normals, triangle normals or an edge hardness error takes place.

Settings
None.

Alias
ShadingOptions.InvertedNormals

Purple Backfaces

Description
All backfaces will be colored purple to quickly identify triangles with wrong normals (wrong vertices enumeration order).

Settings
None.

Alias
ShadingOptions.Backfaces

UV

Description
This shading option colors each point of a mesh depending on its UV coordinates. Black – (0, 0); Red – (1, 0); Green – (0, 1); Yellow – (1, 1)

It helps to identify errors in UV sets.

Settings
None.

Alias
ShadingOptions.UVCoordinates

Vertex Color

Description
This option makes color of each vertex prominent. It might be useful to detect if a model has incorrect vertex colors.

Settings
None.

Alias
ShadingOptions.VertexColor

Submesh Color

Description
This shading option makes every submesh to have its own color. Typically submeshes are grouped based on their materials. Colors are pregenerated but can be changed in the Settings.

This mode is useful for detecting mesh grouping errors.

Settings

  • Colors that are used to denote submeshes. The number of colors available for customization equals the number of submeshes.

Alias
ShadingOptions.SubmeshColor

Custom Materials

Description
In this mode custom materials are used to display the model.

Settings

  • Materials that are used to display the model. The number of materials available for customization equals to the number of submeshes.

Alias

Shading option groups
Mesh Usages

Description
This group consists of all material combinations discovered in prefabs and scene objects that contain the analyzed mesh.

Instruments
Coincident UV viewer

Description
This instrument helps examine UV errors. Triangles that have identical UV coordinates of the two or three vertices in at least one UV set will be highlighted according to a chosen mode: wireframe or color fill.

While viewing a particular triangle an information windows will be shown. This window contains information about UV coordinates and available UV sets.

UI
There are three modes to highlight a triangle: don’t show anything, show wireframe, show wireframe and fill.

To show all other triangles while viewing a particular triangle click the “Show all” button.

To go to the next/previous triangle use the “<” and “>” buttons or keyboard arrow keys. To go back to the model view click the triangles count indicator.

Alias
Tools.CoincidentUVs

Coincident Vertices viewer

Description
This instrument shows mesh surface errors. Each triangle with close to each other or coincident vertices will be highlighted according to a chosen mode: wireframe or color fill.

An information window listing vertex coordinates will be shown for each triangle being examined.

UI
There are three modes to highlight a triangle: don’t show anything, show wireframe, show wireframe and fill.

To show all other triangles while viewing a particular triangle click the “Show all” button.

To go to the next/previous triangle use the “<” and “>” buttons or keyboard arrow keys. To go back to the model view click the triangles count indicator.

Vertices proximity detection distance is controlled by the slider element.

Alias
Tools.StuckPolygons

Inverted Normals viewer

Description
This instrument helps viewing detected errors with vertex normals. Each triangle with vertex normals angled to the triangle normal more than 90 degree will be highlighted according to a chosen mode: wireframe or color fill.

While viewing a particular triangle normals are colored in the following way: Red – angled more than 90 degree, Green – less than 90 degree, Blue – triangle normal.

UI
There are three modes to highlight a triangle: don’t show anything, show wireframe, show wireframe and fill.

To show all other triangles while viewing a particular triangle click the “Show all” button.

To go to the next/previous triangle use the “<” and “>” buttons or keyboard arrow keys. To go back to the model view click the triangles count indicator.

Length of the normals is controlled by the slider element.

Alias
Tools.ViewInvertedNormals

Bounds viewer

Description
This instrument shows bounding box of a mesh and it’s vertices inside and outside the bounding box. Sometimes some vertices or a part of a surface may appear outside the bounding box due to mesh transformation or script generation when the bounding box was not recalculated. This may lead to problems with rendering and occlusion culling in runtime.

UI
Options to show/hide vertices inside/outside a bounding box.

Alias
Tools.ViewBounds

Pivot Point viewer

Description
This instrument shows a mesh pivot point.

The pivot point may fall outside the mesh bounding box after import process. Sometimes this might be done deliberately to ensure the model is positioned and rotates correctly. However, usually this is an error and leads to various problems with positioning, rotation, animation, etc.

UI
No settings available.

Alias
Tools.ViewPivot

New release with some UX & UI improvements!

Changelog

[2.1.0] - 2018-04-16

Added:

  • Usage hints to main tools.
  • Resources Not Exists issue handling.
  • Roboto font for some messages.
  • Wireframe drawing option to shading options as property.
  • RepaintEvent to the MeshAnalysisWindow.
  • ReloadStylesEvent to MCGUI.
  • ConfigureMaterial call to BasicShaderShadingOption.
  • DrawMesh method with scale argument.
  • MCGUIIcons class.
  • MCHandles helper class.
  • Scopes for the GUI Layout (Vertical, Horizontal)

Changed:

  • Icons moved from MCGUIStyles to MCGUI.Icons, old properties marked as obsolete.
  • Plugins folder renamed to ‘MeshChecker Plugins’.
  • Sizes and bounds cache now not cleared on calculation ending. This should help to remove blinking in GUI.

Fixed:

  • Camera jumps on freeze.

New release with UX improvements, Wireframe shading option, and updated Normals shading option!

3475108--276196--wireframe.png

Changelog

[2.2.0] - 2018-04-22

Added:

  • Wireframe shading option;
  • BumpMapping to the Normals shading option;
  • Wireframe toggle to the Normals shading option;
  • Description and alias info to the Normals, Binormal, Tangent, Checker, CustomMaterials, InvertedNormals, PurpleBackface, SubmeshColor, UV, VertexColor, Wireframe shading options;
  • Moving camera in MeshAnalysis window;
  • Focusing on the object when the ‘F’ key pressed;
  • Navigation hints in the MeshAnalysisWindow;
  • ‘None’ tool when one or more tools exists in the MeshAnalysis window;
  • MeshAnalysis window maximization;
  • SaB units settings to the tool settings popup;
  • A hotkey info to the toggle maximized button tooltip;
  • GetObjectCenter() method. Now possible to get object center in the MeshAnalysisWindow; - EnabledScope to the MCGUI class;
  • Warning and Ok colors to the MCGUI class;
  • ShadingOption description helper utilities;
  • SetToolName(string) protected method to the MeshAnalysisTool;
  • ColoredVerticalLine, RobotoLabel, RobotoLabelBold, RobotoLabelBoldWhite styles.

Changed:

  • The ErrorGUIColor property now is ErrorColor. ErrorGUIColor marked as obsolete;
  • A Wireframe property now can be overridden in shading options;
  • Shading options order. Binormal and Tangent options pushed on top of the list.

Fixed:

  • Variable naming in the InvertedNormals shader;
  • PackageImportIssues now do not invoke an additional GUI reloading on awake.

The new release brings SkinnedMeshRenderer support, Sizes And Bounds tool UX improvements and Collider Utilities.
Collider Utilities allow you to add a BoxCollider with calculated sizes to the selected object.

Changelog

[2.3.0] - 2018-06-16

Added:

  • Support of the SkinnedMeshRenderer;
  • MeshFilter abstraction;
  • Collider utilities to the Sizes And Bounds tool;
  • The expandable container which can be used to animate expanding and collapsing a group of elements;
  • Vector3 extension method (GetOneDividedBy) which helps to get a vector with components that are computed by dividing one by the specified vector components;
  • Centered Roboto label style.

Changed:

  • Animation of list items is now smoothed;
  • Settings of Sizes And Bounds tool and transform utilities splitted and moved to SAB utilities panel.

I tried an email to the developer but no reply after 3 days so thought I’d try here so see if anyone else can chime in…

I like the look of this asset but without the functionality to enable you to actually fix the errors reported, it seems of limited value… Am I missing something?

It’s easy enough on a cube (as shown in the demo videos) to highlight the problematic vertices or tris, and then find them again in an external 3D package like Maya or Blender, but that isn’t going to cut it where errors number 2k+ (as in the Blacksmith example shown at the end of the Mesh Analysis video) How useful is it to know that a wall has inverted normals in 2082 triangles, and have them highlighted in a custom editor window, if I then have to find them again and fix them in a separate tool?

Could a current user explain the workflow for me?

I’m also looking at Mesh Editor (https://assetstore.unity.com/packages/tools/modeling/mesh-editor-20476) or Mesh Deformation ( https://assetstore.unity.com/packages/tools/modeling/mesh-deformation-full-collection-47061) as possible options to fix these reported errors in the Unity Editor - but as far as I can tell, I’d still be have to change to another custom Inspector window (without the MeshChecker highlights), and have to re-find the problematic areas…