> For the complete documentation index, see [llms.txt](https://docs.shadersource.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.shadersource.io/assets-and-plugins/texture-tools/how-to-use-5.4+/quick-tutorials/tutorial-channel-packer.md).

# 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="/files/daFNP3C1mRq0jIXWCnUR" 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="/files/FRwu955mmhSm4SHcRreH" 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="/files/VDTwCAk0ayPOofh7Z19T" 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.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://docs.shadersource.io/assets-and-plugins/texture-tools/how-to-use-5.4+/quick-tutorials/tutorial-channel-packer.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.
