Skip to content

Vertex Color Viewer

Module: Modeling · Category: VertexColor · Tool ID: VertexColorViewer

Audits every static mesh in a content folder and reports its vertex color usage — which channels (R/G/B/A) are actually doing work, which are constant (all-white, all-black, or unused), and how much memory each one is costing. Strippable meshes can be selected and cleaned in batch with one click, undoable.

Screenshot 01 — Hero shot — Tool open with /Game/Meshes scanned, results list showing a mix of green (active), yellow (strippable), and gray (no colors) rows.


  • Memory-budget passes — finding meshes shipped with vertex color data they don’t actually use
  • Inheriting an unfamiliar project and wanting to see which assets do rely on vertex colors (so you don’t accidentally strip something a material is reading)
  • After a bulk import where the source DCC stamped placeholder white/black colors on every mesh
  • Validating that a vertex-color-driven material actually has colors authored on its target meshes
  • Don’t use this to paint vertex colors — use Vertex Color Painter for that
  • Don’t use this to bake vertex colors from a high-poly source — that lives in the Universal Bake Suite (Art module)

  1. Click the EQLabs button in the main editor toolbar (or Window → EQLabs Hub)
  2. Search for Vertex Color Viewer, or browse to Modeling → VertexColor
  3. Click the tool card to open it in its own dockable panel

The panel is a single scroll container, top to bottom:

A folder field with a Browse button that opens the Content Browser folder tree. Defaults to /Game. Whatever you pick is recursively scanned.

  • Search box — text filter that matches against the mesh name as you type
  • With Colors Only checkbox (on by default) — hides meshes that have no vertex color data at all
ButtonWhat it does
Scan Vertex ColorsWalks every Static Mesh under the scan path and analyzes channel usage
Strip SelectedRemoves vertex color data from every selected strippable mesh. Undoable.
CopyCopies the visible (filtered) results to the clipboard as plain text

Live counters showing Total / With Colors / Strippable / Memory (KB) / Savable (KB) / Showing.

ColumnWhat it shows
MeshAsset name
ChannelsPer-channel R/G/B/A usage indicators (which channels carry real data vs. are constant)
VertsVertex count
MemoryVertex color memory footprint in KB
StatusGreen = active, Yellow = strippable, Gray = no vertex colors

Multi-select list (Ctrl+Click / Shift+Click). Selecting a row pings the asset in the Content Browser. Double-clicking opens the Static Mesh editor for that asset.

Screenshot 03 — Annotated panel — Full panel with each numbered region called out (path, filter, buttons, summary, list).


Click Browse next to the Scan Path field and pick a folder from the Content Browser tree. For a full project audit use /Game. For a targeted pass, narrow to a subfolder like /Game/Meshes/Environment.

Click Scan Vertex Colors. A progress dialog appears while every mesh under the path is loaded and inspected. The summary line populates when the scan finishes.

The footer legend tells you what the row colors mean:

  • Green — at least one R/G/B/A channel carries real data; do not strip
  • Yellow — all channels are constant (all-white, all-black, or fully unused); safe to strip
  • Gray — no vertex color data at all (already lean)

Use With Colors Only + the search box to narrow the list.

Ctrl+Click the yellow rows you want to clean. Click Strip Selected. Vertex color data is removed and the mesh is marked dirty — you still need to Save All to persist the change to disk.

Re-run the scan. The savable-memory number should drop. If anything you didn’t expect went yellow, undo with Ctrl+Z before saving.


FieldWhat it doesDefault
Scan PathContent folder to recursively scan for Static Meshes/Game
SearchSubstring filter on mesh nameempty
With Colors OnlyHide meshes that have no vertex color datatrue

Settings are persisted to [Project]/Saved/EQLabs/Settings/VertexColorViewer.json and restored when the tool is reopened.


  • In-place modification — Strip Selected modifies the Static Mesh asset directly. The asset is marked dirty; nothing is written to disk until you Save All.
  • Undo — strip operations are wrapped in a ScopedTransaction. Ctrl+Z reverts before save.
  • Clipboard — the Copy button writes the visible (filtered) results as plain text, one mesh per line.

  • Single-click pings the Content Browser — a single click on any row syncs the Content Browser to that asset, so you can preview thumbnails without leaving the tool.
  • Double-click opens the Static Mesh editor — handy for quickly checking whether a “yellow” mesh really is unused before committing a strip.
  • Strippable ≠ safe to strip blindly — a mesh whose vertex colors are all white may still be sampled by a material that uses them as a multiplier. When in doubt, double-click to inspect, or check material references via the Tech module’s Dependency Explorer.
  • The savable-memory number is a lower bound — runtime savings include the GPU vertex buffer, which is typically larger than the editor-side accounting.
  • Save All afterward — the scan + strip is cheap, but the disk write is the slow part. Batch your strips, then save once.

  • Vertex Color Painter — paint vertex colors on selected meshes (the write side; this Viewer is the read side)
  • Mesh Intelligence Dashboard — broader mesh statistics, batching, and pivot auditing
  • Universal Bake Suite (Art module) — bake high-poly data into vertex colors

Report an issue with this tool

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