# Tutorial: Channel Packer

This guide provides a detailed walkthrough for using the **Channel Packer** job. This is a powerful utility for optimizing texture memory in your game projects. It allows you to combine up to four separate grayscale textures into the individual Red, Green, Blue, and Alpha channels of a single output texture.

## 1. What is Channel Packing?

In game development, textures are a major consumer of memory. Often, you have multiple textures that only store grayscale information (like Roughness, Metallic, Ambient Occlusion, or masks). Instead of saving each of these as a separate file, you can "pack" them into the R, G, B, and A channels of a single texture. This allows the game engine to load one texture instead of three or four, significantly reducing memory usage and improving performance. A common example is packing Roughness into the Red channel, Height into the Green, and Ambient Occlusion into the Blue (an "RHA" map).

## 2. Setting Up the Channel Packer Job

1. In the main **Texture Tools** window, click the **Add Job** button.
2. From the dropdown menu, select **Job: Channel Packer**.
3. A new "Channel Packer" job will be added to the job queue. Select it to see its properties in the Details panel.

<figure><img src="https://2855220899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mk51ACJUA5E3mZvLb9h%2Fuploads%2Fo6cVev3BsPM5oXIz9nx1%2Fimage.png?alt=media&#x26;token=1563aa79-7ae4-4dbe-93c4-d60dae44338d" alt=""><figcaption></figcaption></figure>

## 3. Providing Input Textures

The Channel Packer job can take up to four input textures. The input viewers are arranged in a 2x2 grid and are labeled to correspond with the output channels they will primarily contribute to.

* **TEXTURE A (R):** The texture that will contribute to the **Red** channel of the final image.
* **TEXTURE B (G):** The texture that will contribute to the **Green** channel.
* **TEXTURE C (B):** The texture that will contribute to the **Blue** channel.
* **TEXTURE D (A):** The texture that will contribute to the **Alpha** channel.

Drag and drop your grayscale textures from the Content Browser into the appropriate slots. For example, if creating a Roughness/Height/AO map:

* Drag your Roughness map into the **TEXTURE A (R)** slot.
* Drag your Height map into the **TEXTURE B (G)** slot.
* Drag your Ambient Occlusion map into the **TEXTURE C (B)** slot.
* (Optional) Drag your Opacity map into the **TEXTURE D (A)** slot.

<figure><img src="https://2855220899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mk51ACJUA5E3mZvLb9h%2Fuploads%2FCdE9mNWFimCrg6tJg3iB%2Fimage.png?alt=media&#x26;token=ae12dd66-3fa1-4f9e-b29e-03aae7faa27e" alt=""><figcaption><p>This will make a RHAO mask texture (Roughness, Height, AO, Opacity)</p></figcaption></figure>

## 4. Configuring the Pack

The settings for this job are located in the **Input Settings** category in the Details panel. For each of the four output channels (A, B, C, D), you have a dropdown menu that lets you select which channel from the corresponding input texture to use.

* **Channel Slot A:** Selects the source channel from **Texture A** to be placed in the final **Red** channel.
* **Channel Slot B:** Selects the source channel from **Texture B** to be placed in the final **Green** channel.
* **Channel Slot C:** Selects the source channel from **Texture C** to be placed in the final **Blue** channel.
* **Channel Slot D:** Selects the source channel from **Texture D** to be placed in the final **Alpha** channel.

Since you are typically packing grayscale textures, the source channel (R, G, or B) usually doesn't matter as they are all the same. The default settings are generally correct, taking the Red channel from Texture A, the Green from Texture B, and so on.

<figure><img src="https://2855220899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mk51ACJUA5E3mZvLb9h%2Fuploads%2FPcgNRjzmDfMAJSjKexaE%2Fimage.png?alt=media&#x26;token=4411a0ac-f127-4acd-a7da-36704c3928ac" alt=""><figcaption></figcaption></figure>

## 5. Generating the Packed Texture

1. Once you have provided your input textures and configured the channel slots, ensure the **Channel Packer** job is selected in the job queue.
2. Click the main **Run Selected Job** button.
3. The tool will combine the selected channels from your input textures into a single new texture. The new texture asset will be saved to the path specified in the **Generate Settings** category.
