Skip to content

Color Palette Extractor

Module: Art · Category: Lookdev · Tool ID: ColorPaletteExtractor

Pulls dominant colors out of a reference image using K-means clustering. Configurable palette size (2–16 colors), generates color harmonies (complementary, analogous, triadic, split-complementary), shows percentage weight per color, and exports the result as a Material Parameter Collection or copies hex/linear values to the clipboard.

Screenshot 01 — Hero shot — Tool open with a reference texture loaded, 6-color palette extracted with weighted swatches, harmony block showing complementary colors below.


  • Lookdev pre-pass — extracting a palette from concept art / mood board reference
  • Generating MPC values that match a target visual style
  • Building harmony suggestions when refining a palette
  • Creating swatch documentation for a team
  • Don’t expect this to grade existing project assets — it operates on a single reference texture
  • Don’t use for color blindness simulation — that’s outside scope

  1. Open the EQLabs Hub and search for Palette or Color (or browse to Art → Lookdev)
  2. Click the tool card
  3. Drop a reference texture into the Source field

SectionWhat it doesDefault
Source TextureReference image to extract from(empty)
Palette SizeHow many dominant colors6
K-Means IterationsConvergence iterations20
Sample CountHow many pixels to sample (subsampled for speed)10,000
Extract PaletteRuns K-means clustering
Harmony ModeNone / Complementary / Analogous / Triadic / Split-ComplementaryNone
Generate HarmoniesBuilds harmony swatches from the extracted palette
Export PathAsset path for MPC export/Game/EQLabs/ExtractedPalette
Export as MPCSaves the palette as a Material Parameter Collection
Palette ContainerVisual swatch row — click to copy hex/linear
Harmony ContainerVisual swatch row for generated harmonies

Screenshot 02 — Harmony view — Tool with palette extracted (6 swatches with weight percentages), Triadic harmony selected, three harmony swatches below.


Drop a reference texture. Stylized concept art and photo references both work.

6 is a good default. 4 for tight color schemes, 12+ for detailed palettes.

Click Extract Palette. K-means clusters the sampled pixels and the swatches populate, sorted by frequency.

Pick a harmony mode and click Generate Harmonies. The harmony block populates with computed colors based on the extracted dominants.

  • Click a swatch to copy its hex/linear value to the clipboard
  • Export as MPC to save the full palette as a Material Parameter Collection asset

FieldRangeDefault
Palette Size2 – 166
K-Means Iterations5 – 10020
Sample Count1,000 – 100,00010,000
Harmony ModeenumNone
Export Pathcontent path/Game/EQLabs/ExtractedPalette

Settings are persisted to [Project]/Saved/EQLabs/Settings/ColorPaletteExtractor.json.


  • In-panel swatches — extracted palette + harmony swatches with weight percentages
  • Clipboard — click a swatch to copy hex / linear values
  • Material Parameter Collection — Export as MPC creates a real UMaterialParameterCollection asset at the configured path with one Vector parameter per color, named Color_01, Color_02, etc.

  • K-means is non-deterministic — slight variation between runs is expected. For repeatable results, lock the sample count and iterations.
  • Higher sample counts give more stable results but are slower10,000 is a good balance; raise to 50,000+ for very detailed source images.
  • Weighted percentages reflect pixel count, not perceptual importance — a small accent color may be visually dominant but show as low percentage. Don’t blindly trust the weights.
  • Harmonies are computed in HSV — they look right perceptually but may not match strict color theory definitions exactly.


Report an issue with this tool

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