Get Lifetime Access And Unlock All Stylised Packs Today!Claim Deal - Just $69!
Asset packs

Recoloring with palettes

Use palette reference data for scene styling, apply a global vertex-colour tint, or use named editable materials for precise changes.

AP
Aron Prins
Founder · Updated Jul 22, 2026 · 2 min read
On this page (5)

Applicable low-poly packs can include palettes.json. It records colour and scene-lighting values used for the pack, but it is not a runtime theme engine. Once colours are baked into a flattened GLB's COLOR_0 attribute, the model no longer retains a link from each vertex to keys such as wood or glass.

Palette data#

The common shape maps a palette name directly to its values:

palettes.json
{
  "night": {
    "_bg": "#0c1428",
    "_sun": 0.42,
    "_sunColor": "#8ea6d8",
    "wood": "#3a3540",
    "glass": "#ffd98a"
  }
}

Surface keys describe colours used in the models. Keys beginning with _ describe scene settings such as the background, sun, or hemisphere light. Exact keys vary by pack.

Apply a global tint#

For a vertex-coloured model, changing the shared material colour multiplies every vertex colour. This is useful for a global dusk, damage, selection, or mood tint, but it cannot change one semantic colour by itself.

tint.tsx
const { materials } = useGLTF('/environment.glb')

materials.lowpoly.color.set('#8ea6d8')

useGLTF caches its result. Mutating a cached material can affect every instance using that material; clone it first when each instance needs an independent tint.

You can apply the scene keys separately:

scene-lighting.tsx
scene.background = new THREE.Color('#0c1428')
const sun = new THREE.DirectionalLight('#8ea6d8', 0.42)

Make precise colour changes#

Editing palettes.json alone does not rewrite an existing GLB. For per-part changes, use one of these when available:

  • a configurator GLB with named materials;
  • an editable authoring package in Studio; or
  • your own DCC or glTF workflow to select and rebuild the affected geometry or materials.

See configurator packs for live material-zone controls.

Choose the right method#

GoalMethod
Tint the whole modelMultiply the material colour
Recreate the pack's scene moodApply palette background/light values
Change one named product zoneUse configurator materials
Edit semantic parts or palette rolesUse an available editable edition

Next steps#

Still stuck?

Ask us directly — we answer support mail ourselves.

Contact support
Share
Recoloring with palettes — threejsassets.com