Guides
How to texture low poly models with a colour palette
One small palette texture for a whole game: how palette texturing works, how to UV to it in Blender, and how to restyle AI models with it.
3 min read

Quick answer
How do you texture low poly models with a palette?
Make one small image containing a square of each colour in your palette. Give every model a material that uses it, then UV unwrap each model and move or scale its UV islands so each face sits on the colour it should be. Every model shares one texture and one material, which keeps colours consistent and draw calls low.
Why use a palette texture?
Low poly games often use flat colours rather than detailed textures. You could give each colour its own material, but that multiplies materials and draw calls. A palette texture solves both problems: one tiny image holds every colour, and every model points its faces at the right squares.
Benefits:
- Consistent colours across every asset, by construction.
- One material for most of the game, which helps batching and mobile performance.
- Instant restyling: edit the palette image and the whole world changes colour.
- Tiny file size.
Step 1: Make the palette
In any image editor, make a small square image, for example 256×256 px, and fill it with a grid of colour swatches: 8×8 swatches of 32 px each gives 64 colours. Leave a margin between swatches if you'll scale textures down, so colours don't bleed.
Optional: use a vertical gradient inside each swatch (lighter at the top) for subtle shading you can pick per face.
Step 2: Set up the material in Blender
- Select a model and open the Shading workspace.
- Create a material, add an Image Texture node, and open your palette.
- Connect Color to the Principled BSDF's Base Color.
- In the Image Texture node, set interpolation to Closest so colours stay crisp.
- Use the same material on every model.
Step 3: UV the model to the palette
The trick is that each face's UVs don't need to be laid out nicely. They just need to sit inside the right colour square. UV mapping explains UVs generally.
- In Edit Mode, select the faces that should be one colour (for a tree: the trunk).
- Open the UV Editing workspace.
- Press U › Smart UV Project or Project from View to get any UVs.
- In the UV editor, scale the selected UVs down very small (S, then 0.01).
- Move them (G) onto the brown swatch.
- Repeat for each colour group: leaves on green, and so on.
Because the UVs are tiny and sit inside a flat swatch, stretching doesn't matter.
Step 4: Shade flat
Object Mode › right-click › Shade Flat for the faceted look. Check the engine imports flat normals too.
Restyling AI-generated models
AI generators give models detailed PBR textures. For a stylised low poly game, you may want to replace those with your palette so generated assets match hand-made ones:
- Generate the model. In Vi3W, describe it as low poly and flat-coloured to get a simple shape.
- Import into Blender. Reduce the count if needed (decimate vs retopology).
- Replace its material with your palette material.
- Select faces by region (Select › Select Linked, or by hand) and UV them to swatches as in Step 3.
It's extra work per model, but it's the single most effective way to make generated, hand-made and pack assets look like one game. Consistent art style across AI assets covers other unifying techniques.
Exporting
Export FBX or GLB with the palette texture. In the engine, set the texture filter to point or nearest so it stays crisp, and reuse one material across everything that uses the palette.
Tips
- Name your swatches in a reference sheet so the team agrees which green is "grass".
- Keep a dark and a light version of each hue for shadows and highlights.
- Version the palette. A "night" or "autumn" palette is just another image.
Want generated assets that match your palette? Make them in Vi3W, then UV them to your swatches in Blender.
Last reviewed

