Skip to content

Mesh Intelligence Dashboard

Module: Modeling · Category: Stats · Tool ID: MeshIntelligenceDashboard

A three-tab dashboard for static mesh analysis. Stats profiles every static mesh in the project (tri counts, vertices, bounds, materials, Nanite, collision) with sorting and CSV export. Batching audits placed meshes for instancing opportunities and draw-call savings. Pivot flags off-center / underground / floating pivots and bakes them to standard presets.

Screenshot 01 — Hero shot — Dashboard open on the Stats tab with a populated, sorted list. Tab bar visible showing all three tabs.


  • Performance pass — find your highest-poly meshes, your highest-draw-call placements, your worst pivot offenders, all without leaving the editor
  • Inheriting a project — get an objective view of mesh budgets across the content
  • Pre-cook validation — confirm no surprise multi-million-tri assets, no meshes missing collision, no pivots stuck at world origin
  • Design feedback loop — Export CSV lets you slice the data in a spreadsheet for the team
  • Don’t use this to fix individual meshes — the Stats tab is read-only; per-mesh fixes happen in the Static Mesh editor
  • Don’t use this for skeletal meshes — it’s static-mesh focused; skeletal physics lives in Physics & Collision Studio

  1. Open the EQLabs Hub and search for Mesh Intelligence (or browse to Modeling → Stats)
  2. Click the tool card
  3. Use the tab bar to switch between Stats, Batching, and Pivot

Project-wide static mesh stats. Sortable, filterable, exportable.

SectionWhat it does
Scan PathFolder to recursively scan. Default /Game.
Search boxFilter by mesh name.
Min Triangles filterHide meshes below this triangle count.
Scan Meshes buttonWalks every Static Mesh under the path.
Export CSVSaves the full result set to a CSV file.
CopyPlain-text dump to clipboard.
SummaryTotal meshes, total tris, average tris.
Results listPer-mesh row, sortable by clicking any column.
ColumnWhat it shows
NameAsset name
TrianglesTotal triangles at LOD0
VerticesTotal vertices at LOD0
LODsLOD count
Material SlotsMaterial slot count
BoundsBounding box dimensions
NaniteWhether Nanite is enabled
CollisionWhether the mesh has collision data

Screenshot 02 — Stats tab — Stats tab populated, sorted descending by Triangles, top 10 high-poly meshes visible.

  1. Pick a scan path, click Scan Meshes
  2. Click any column header to sort (default sort is Triangles descending)
  3. Use the search box and Min Triangles filter to narrow
  4. Export CSV if you want to dig in a spreadsheet

Looks at placed meshes in the level (not assets), groups by mesh, and surfaces instancing opportunities.

SectionWhat it does
Search boxFilter by mesh name.
Candidates Only checkboxHide meshes that are already instanced or placed only once.
Scan LevelWalks every static mesh actor in the active level.
CopyClipboard dump.
SummaryUnique meshes, total placements, estimated draw calls, batchable mesh count.
Results listPer-mesh row with severity coding.
ColumnWhat it shows
MeshAsset name
PlacementsHow many actors of this mesh exist in the level
Material SlotsMaterial slot count (each slot = a draw call per instance)
Estimated DCPlacements × Material Slots
TrianglesSource mesh tri count
StatusGood (instanced or single) / Info (batchable) / Warning (>3 material slots)
SuggestionShort text — e.g., “Convert to ISMC for 38-DC saving”
  1. Open the level you want to audit
  2. Click Scan Level
  3. Toggle Candidates Only to focus on meshes worth converting
  4. Sort by Estimated DC descending — top entries are your highest-value optimization targets

Catches pivot misalignments — a common import problem that breaks placement workflows.

SectionWhat it does
Scan PathFolder to scan.
Offset Threshold (cm)Flag pivots farther than this from the mesh’s bounds center. Default 100.
ScanWalks every Static Mesh under the path, computes pivot offset from bounds center.
CopyClipboard dump.
Results listPer-mesh row showing offset distance, underground/floating flags, severity.
Pivot Baking sectionPivot preset combo + custom offset + alignment + Bake Selected / Bake Direct Mesh buttons.
FlagMeaning
Off-CenterPivot is far from the bounds center (per Offset Threshold)
UndergroundPivot is below the bottom of the mesh’s bounds
FloatingPivot is above the top of the mesh’s bounds
At OriginPivot is at (0,0,0) while bounds are far from origin — usually a broken import
PresetWhere the pivot lands
CenterBounds center
BottomCenter of the bottom face of bounds
TopCenter of the top face
Front / Back / Left / RightCenter of the corresponding bounds face
CustomThe custom XYZ offset you specify

Screenshot 03 — Pivot tab with baking section — Pivot tab with results visible above and the baking controls (preset combo + bake buttons) below.

  1. Pick a scan path, set the offset threshold, click Scan
  2. Walk the issues — single-click to ping in Content Browser, double-click to open mesh editor
  3. To fix: select the offending rows in the list, pick a preset (typically Bottom for props, Center for hero meshes), click Bake Selected Pivots
  4. Or bake a single arbitrary mesh: drop it into the Direct Bake Mesh field and click Bake Direct Mesh

FieldWhat it doesDefault
Scan PathFolder to scan/Game
Name FilterSubstring filterempty
Min TrianglesHide meshes below this tri count0
Sort ColumnColumn to sort byTriangles
Sort DirectionAscending / DescendingDescending
FieldWhat it doesDefault
Name FilterSubstring filterempty
Candidates OnlyHide non-batchable meshesfalse
FieldWhat it doesDefault
Scan PathFolder to scan/Game
Offset Threshold (cm)Distance from bounds center to flag100
Pivot PresetWhere to bake the pivotCenter
Custom Offset (XYZ)Used when preset = Custom(0,0,0)

Settings are persisted per project at [Project]/Saved/EQLabs/Settings/MeshIntelligenceDashboard.json.


  • In-panel results — three independent lists, cleared on each re-scan of the relevant tab
  • CSV export — Stats tab only, full result set written to a file via the platform’s save dialog
  • Pivot baking — modifies the source Static Mesh asset directly. Mark dirty until Save All.
  • Undo — pivot bakes are wrapped in ScopedTransaction. Ctrl+Z reverts.
  • Clipboard — every tab has a Copy button for plain-text export

  • Stats tab counts LOD0 only — the triangle and vertex counts reflect LOD0. For full storage costs across LODs, look at the asset directly in the Static Mesh editor.
  • Batching tab uses a heuristic for draw callsPlacements × Material Slots is an estimate; actual draw calls are affected by view culling, instanced static mesh state, and engine batching. Use it for relative prioritization.
  • A mesh at world origin with bounds elsewhere is usually broken — this is the classic “DCC export from an offset asset” issue. Bake the pivot to Center or re-export.
  • Pivot bake is destructive — it modifies the source mesh. If multiple actors reference the mesh, all of them shift to compensate. Confirm in a test scene first.
  • Single-click pings the asset in the Content Browser; double-click opens the Static Mesh editor.

  • LOD & Nanite Studio — when high-tri meshes need LODs or Nanite
  • Physics & Collision Studio — collision-side analysis when the Stats tab flags meshes without collision
  • Modular Kit Auditor — kit-placement validation; complements the Batching tab’s instancing analysis
  • Project Doctor Suite (Tech module) — broader project audit including textures, blueprints, build settings

Report an issue with this tool

Opens our feedback form in a new tab with the tool name pre-filled.