Diagnose 3D assets instantly. Visualize topology health, check UVs, and detect invisible errors like holes or non-manifold geometry. A lightweight, professional analysis tool for Unity.Mesh Quality AnalyzerA diagnostic utility for inspecting the technical health of 3D assets.OverviewThe Mesh Quality Analyzer is an editor-only tool designed to provide deep technical insights into the structure and integrity of your meshes. While the standard Unity Inspector provides basic polygon counts, this tool generates detailed metrics and histograms to help you understand the actual quality of your topology, UVs, and vertex data.Origin & ContextThis tool was originally developed as the internal benchmarking module for BurstLOD, a paid mesh optimization suite. It was engineered to objectively measure the results of mesh decimation—verifying that LODs maintained good topology and ensuring no errors were introduced during the reduction process.While it remains a component of that suite, the ability to audit mesh data is useful in many other contexts—from checking third-party assets to validating your own exports. It is being released as a standalone utility for developers who need to diagnose mesh issues but do not require a full optimization pipeline.Deep Mesh DiagnosisThe primary function of the analyzer is to identify structural issues that are often invisible in the Scene View but can cause rendering artifacts, lighting errors, or physics issues later in development. It parses the mesh data to locate:Topological Health: Detects "Border Edges" (unintended holes) and "Non-Manifold Geometry" (invalid edges shared by more than two triangles).Mesh Fragments: Identifies disconnected islands of geometry, which helps in locating floating artifacts or debris left over from modeling.Data Integrity: Scans for corrupted data (NaN/Infinity values) and redundant vertex streams, such as uniform vertex colors that consume memory without adding visual detail.UV Analysis: Measures texture coordinate usage to detect severe distortion or excessive seam length.Visualization: Beyond the InspectorRather than providing a single average number, the tool visualizes data distribution. Using interactive histograms, you can see exactly how a metric—such as Triangle Shape Quality or Surface Area—is distributed across the model. This allows you to differentiate between a mesh that is generally healthy and one that contains specific areas of degenerate geometry.The interface also supports comparative analysis. If your object contains a LODGroup, the tool displays metrics for every LOD level side-by-side. This makes it straightforward to verify that your lower LODs are retaining the correct shape and data integrity compared to the source mesh.Important ClarificationsIt is important to understand the scope of this tool to ensure it meets your needs. This is strictly a diagnostic instrument; it does not perform mesh decimation, automatic topology repair, or simplification.Additionally, the tool does not feature a dedicated internal 3D preview window. It is designed to work directly with your existing Editor workflow, analyzing the GameObject or Asset currently selected in your Project or Hierarchy views.While the core functionality is read-only, the tool does include two specific, optional utilities that modify assets: a helper to automatically enable the "Read/Write" flag (required for analysis), and an optimizer to strip redundant vertex channels (such as unused colors or UVs) to reduce memory footprint. Aside from these manual actions, your mesh data remains untouched.Technical ArchitectureThe asset is designed to be lightweight and unobtrusive. It is marked as Editor-Only, ensuring that all scripts are stripped from your final build and will not impact runtime performance or executable size.The codebase is self-contained within its own Assembly Definition. This isolates the tool from your project’s scripts, preventing dependency conflicts and ensuring it does not increase compilation times for your own code. It has no external dependencies and is fully compatible with Unity 6, including projects using the Universal Render Pipeline (URP), HDRP, or the Built-in Render Pipeline.Community & SupportSince this tool was extracted from a specific internal workflow, its current feature set focuses on the metrics that were most valuable during the development of BurstLOD. However, I am releasing this to be helpful to the wider Unity community and am open to expanding its scope.If you have ideas for specific mesh metrics you would like to see analyzed, or if you encounter edge cases that the tool should handle, please feel free to contact me. Feedback from users will help determine which analysis features are added in future updates.Technical DetailsCore Analysis MetricsThe tool calculates a comprehensive set of geometric and topological data to help assess the "health" of a mesh.Shape Quality: Measures triangle integrity on a 0.0 to 1.0 scale (where 0.0 represents a degenerate "sliver" and 1.0 is a perfect equilateral triangle).Topological Health: Detects structural errors including Border Edges (holes), Non-Manifold Edges (invalid geometry), and Isolated Triangles.Mesh Fragments: Counts the number of disconnected polygon islands. A healthy, single-object mesh should typically have 1 fragment; multiple fragments often indicate "floating" geometry or debris.Vertex Valence: Calculates the number of edges connected to each vertex to identify irregular topology flow (poles).UV Analysis: Measures UV Seam Length and Texture Distortion (stretching/compression) across up to 8 UV channels.Geometric Attributes: Analyzes Surface Area, Curvature, and Relative Area distribution.Histogram & Data VisualizationThe analyzer uses an interactive histogram to visualize how these metrics are distributed across your mesh, helping you spot outliers that a simple "average" would miss.Automatic Outlier Detection: The graph automatically scales the X-axis using an Interquartile Range (IQR) method. This focuses the view on the main data distribution while clipping extreme outliers, preventing a few bad triangles from skewing the entire graph.Manual Control: You can override the automatic range to zoom in on specific data points or toggle a Logarithmic Scale to better view wide distributions (useful for Fragment analysis).Interactive Feedback: Hovering over bars displays precise triangle counts for that specific range.Workflow IntegrationLOD Support: If an LODGroup is detected on the selected GameObject, the tool automatically analyzes all LOD levels simultaneously. Results are displayed in a comparative table, allowing you to track how metrics like shape quality or surface area degrade as polygon counts decrease.Multi-Mesh Handling: For GameObjects containing multiple unique meshes (e.g., a character with separate head and body meshes), a dropdown menu allows you to isolate and analyze specific sub-meshes individually.Import Settings Fix: Analysis requires mesh data to be readable by CPU scripts. If a mesh is not marked "Read/Write Enabled," the tool detects this and offers a one-click fix to adjust the import settings and re-analyze immediately.Optimization UtilitiesWhile primarily read-only, the tool includes specific utilities for asset optimization:Strip Redundant Channels: Scans vertex streams (Colors, UVs, Normals) to check if they are uniform (e.g., all vertices are white). It allows you to permanently strip these unused channels to reduce memory footprint.Data Export: You can export the raw per-triangle analysis data into a ScriptableObject (TriangleDataAsset) for use in your own custom validation tools or build pipelines.Documentationhttps://docs.google.com/document/d/1NdOlMbaglXAGenU6iqrGbhmmPSX5w2mi-AiSKup6lGY/edit?usp=sharing




