Tutorial: Channel Packer

This documentation is for update 2.0+, applied to 5.4+.

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.

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.

This will make a RHAO mask texture (Roughness, Height, AO, Opacity)

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.

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.

Last updated

Was this helpful?