# Palette Approach

There are three main approaches to making a texture to use :&#x20;

* A texture with just the colors or gradients the asset uses.
* A texture with all the colors and gradients that can be used for many assets.
* A texture with either of the above, several times, in order to use PBR materials.

Physics Based Rendering, or PBR, allows you to enhance your material result with elements like Metallic and Roughness.&#x20;

It doesn't really matter which one you use as all approaches end up with one material with limited textures. It just depends on how optimised you want to be and how many assets your one material will be used for.

## Game Textures

An important element in Game Textures is that they must be in a power of 2. The most common textures for example are 256x256, 512x512,1024x1024, or 2048x2048. Although they can be smaller.

High end games do get into 4096x4096 but these take up a lot of filesize (which is why many games are so large nowadays).

## Texture Approach

### Limited Palette

Decide on if the texture uses *just* the colors for the asset or if the same textures will be used for many assets. If you are making a standalone asset then the single asset approach would be best if you know how many colors you want to use. It is possible to have a whole asset use a 16x16 pixel image when using palette texturing, as long as you need less than 64 colors in total.

That said, it's a good idea to make each color or gradient a few pixels so that it's easier to use.

<figure><img src="/files/cYKMbjZJSuPBJ2Utx4yS" alt="" width="375"><figcaption><p>Limited Color Texture Example...</p></figcaption></figure>

If you are planning to use a limited gradient approach in a game engine, the texture would need to be in powers of 2. 64x512 or 16x256 for example.

### Full Palette or Gradient

If you plan to make several assets to an entire game with the one material, you could use a full color spectrum. This would only have one finish however, such as a matte material *or* a semi polished material on *all* the assets. This may work for your experience, but perhaps you want a little more variation in your assets.

<figure><img src="/files/IJxWdIXUESJZwDMs5mAl" alt="" width="375"><figcaption><p>SIngle Full Color Texture Example...</p></figcaption></figure>

<figure><img src="/files/GqXxMtVDAKYmQ4Vm2kiw" alt="" width="375"><figcaption><p>Single Full Gradient Texture Example...</p></figcaption></figure>

### Multi Finish Palette or Gradient

If you want to have all the options for this very optimised approach you could have all the colors *and* several finishes in *one* material. For this you need more textures in order to add the features you would like such as metallic, roughness, and emissive.&#x20;

<div><figure><img src="/files/HVdVJirsIe3hFcJpV5nP" alt=""><figcaption><p>Diffuse Texture Example...</p></figcaption></figure> <figure><img src="/files/N8RYMZI1USu60unUnoDv" alt=""><figcaption><p>Metallic Texture Example...</p></figcaption></figure> <figure><img src="/files/sjnxtYxE1nzwTWJL2GMH" alt=""><figcaption><p>Roughness Texture Example...</p></figcaption></figure></div>

Note how the Metallic and Roughness texture are smaller textures as there is a *lot* less information. Do note that you may need to update the texture settings in the Game Engine otherwise the transition between finishes may blur. This is covered in [Finalizing the asset](/documentation/asset-creation/the-crate-series/palette-and-gradient-texturing/finalizing-the-asset.md).

The Multiple finish gradient approach below is duplicated along horizontal axis so that we can use the gradient in more interesting ways in the Unwrapping UVs section. Note how the texture sizes are still in powers of 2 at 512x2048 for the Diffuse, and 32x128 for the Metallic and Roughness.

<figure><img src="/files/2Nx4vqhyYVcoPG7ZPnGp" alt=""><figcaption><p>Full Gradient and Finish Texture Example...</p></figcaption></figure>

<div><figure><img src="/files/2jvnFznbquVAXHL8rpp9" alt=""><figcaption><p>Metallic Texture Example...</p></figcaption></figure> <figure><img src="/files/HDu4hmFwcCWQRHHgVYDL" alt=""><figcaption><p>Roughness Texture Example...</p></figcaption></figure></div>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://themattempire.gitbook.io/documentation/asset-creation/the-crate-series/palette-and-gradient-texturing/palette-approach.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
