> For the complete documentation index, see [llms.txt](https://faq.faraway.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://faq.faraway.com/technical-requirements-characters/textures.md).

# Textures

## General Rules

Every single texture embedded in GLB must comply:

* The texture must be square shaped and Power-of-Two size, ex: 512x512, 1024x1024 and so on
* Both PNG and JPEG are allowed. JPEG is recommended as it’s smaller in size
* Minimum size is 16x16
* Maximum size is 2048x2048

## Texture Set

A set of textures for different effects, for the same UV layout will be called Texture Set. Texture Set can consist of:

* Base Color (mandatory)
* Normal Map (optional) - RGB texture
* Emission (optional) - RGB texture - color of emission
* Occlusion/Roughness/Metallic (optional) - RGB texture - R channel is Occlusion, G channel is roughness, B channel is metallic

## Texture size (Simplified)

### Option 1

The model can have only one texture set. All textures in it are no more than 2048x2048. I.e. base color, normal map (optional), emission (optional), ORM (optional) - each of them 2048x2048 or less. All model meshes are mapped into this texture set.

### Option 2

The model can have 4 separate texture sets. All textures in each set are no more than 1024x1024. You can have, say, footwear in one set + top in the second set + bottom wear in the third set and everything else in the forth. 2 or 3 texture sets are allowed too, just no more than 4.

## Texture size (Advanced)

If all textures from all texture sets fit a theoretical 4096x4096 square - you are good to go. You don’t need to pack it like this, just make sure it’s possible to do.

### Example 1

One texture set, all 4 textures, 2048x2048 in size:

![](https://lh5.googleusercontent.com/RMOi771ZuhqkEuiZyhRelYyoeaPiO0j7purynwEf2J3TmebwLM7al50fPC74fVTpEpUX9_V2DKwKCv72wH1rrLpFocY0mtiOoVJsfX5Xd-9umHowdU57UDm2C6IvwbTJJWpUCCL7638LpBxvDiaFGA)

All textures can fit the square - we are good to go.

### Example 2

Arbitrary character. With different textures in different texture sets.<br>

![](https://lh5.googleusercontent.com/AwnaHeLZDb0P424GfvidlBeL9skgwVkW2vaPlRa4FksoPyvFkS2UyGSG7R2D3nmMSobX2p83LG8tIXq4IAQ8ju9k8lMkDarPcad9SRjBm3LyMaBcxamohhEEC5VRpJFsPKKtbOo9tYMwDs5VLKqRwQ)

We have several textures 512x512 and one texture 256x256. All textures can fit the square - we are good to go. However we have a lot of unused space - so any of those textures can be increased in size up to 2048x2048. As long as they can fit the square - the model is valid
