Skip to Content
DocumentationFeaturesMatCap

MatCap

MatCap (material capture) bakes an entire lighting setup into a single sphere texture, then samples it by the view-space normal. Genesis blends MatCap with the lit pipeline, masks it per region, and offers additive, multiplicative, and replace blends.

Video

A model rotating under a fixed camera with a chrome MatCap applied, the baked highlights sliding across the surface to read as polished metal even though there are no lights in the scene.

features/matcap/matcap-chrome.mp4

A chrome MatCap reading as polished metal from a single sphere texture, no scene lights.

When to use it

  • Look-dev tools and model viewers — consistent shading regardless of scene lighting.
  • Stylized props that want chrome, jade, or polished marble without setting up reflections.
  • Mobile — a single texture lookup, cheaper than full PBR plus reflection probes.
  • Hybrid — drive metal regions with MatCap, the rest with Lit.

How it works

Genesis converts the world-space normal into view space, maps (normalView.xy * 0.5 + 0.5) into 0–1 UVs, and samples the MatCap texture. The result is blended into the lit color using the chosen blend mode. An optional mask clips the effect to specific regions.

Standard PBR — needs lights and probes to look metallic.

A polished chrome look from a single sphere texture, with no scene lights.

Lit only
MatCap · chrome

A Lit material against a MatCap-driven one on the same mesh. Drag to compare.

Properties

Inspector labelShader propertyTypeDefaultDescription
MatCap Map_MatCapMapTexture2DNonePre-shaded sphere image. Use clamp wrap; no mips needed.
MatCap Tint_MatCapColorColorRGB(1,1,1)Tint multiplied into the MatCap sample.
Intensity_MatCapIntensityFloat (0–1)1.0Overall blend strength.
Blend Mode_MatCapBlendModeEnumMultiplyMultiply, Add, Replace, or Screen.
MatCap Mask_MatCapMaskTexture2DwhiteOptional greyscale mask in the surface UV space.
Normal Influence_MatCapNormalInfluenceFloat (0–1)1.0How much normal-map detail perturbs the MatCap UVs.

Usage

  1. Assign a MatCap sphere texture and set its Wrap Mode to Clamp to avoid edge bleed.
  2. Pick a Blend Mode: Multiply for chrome over albedo, Replace for stylized look-dev.
  3. If only part of the mesh should look like chrome, assign a mask.
  4. Turn up Normal Influence if you have a normal map so surface detail perturbs the lookup.
material.SetTexture("_MatCapMap", chromeSphere); material.SetFloat("_MatCapBlendMode", 0); // Multiply material.SetFloat("_MatCapIntensity", 0.8f);

Tips & gotchas

  • MatCaps must be clamped, not wrapped, or you get a visible seam at the equator.
  • The sphere texture should be drawn looking down the view axis; most authoring tools export them that way already.
  • MatCap ignores scene light direction and will not react to time-of-day. Use Lit if you need that.
  • In single-pass stereo, wide-baseline cameras can make pre-rendered MatCaps read inconsistently between eyes.
Last updated on