Pack channels consistently and automate material updates.
The Advanced Channel Packer creates a new packed Texture2D by sampling channels from up to three source textures. It supports presets such as UE ORM and Unity Metal/Smooth, custom output-channel mappings, per-channel adjustments and optional material rewiring.
Packing, automation and source control
Install and open the tool
- Install the plugin from Fab into the project or Engine installation.
- If the plugin package contains C++ source, regenerate project files and compile.
- Open Unreal Editor and enable the plugin in Edit > Plugins.
- Restart the editor.
Open it through Tools > Texture Tools > Advanced Channel Packer…. The tool opens as a dockable Nomad tab.


Build one packed texture
- Assign up to three Texture2D inputs by browsing or dragging from the Content Browser.
- Choose UE Standard (ORM), Unity Standard (Metal/Smooth) or Custom.
- Configure the output package path and suffix.
- Click PACK TEXTURES.
Missing texture slots are allowed. If a mapping samples a missing slot, the channel resolves to black. Textures also need valid Source data to be packable.




Process naming-based texture groups
Use this workflow when textures follow naming sets, for example one group per material.
- Content Dir: folder to scan.
- Suffixes: comma-separated suffixes used to detect sets.
- Missing: skip incomplete sets or fill missing channels with black or white.
- Resolution: choose highest or lowest input resolution.
- Detect Sets: scan and preview detected sets.
- Run Batch: pack all detected sets using the default ORM workflow.
- Export Report: save a JSON report of packed, skipped and failed items.

Process every texture in a folder
- Choose Source Dir and Output Dir.
- Set an Output Suffix.
- Confirm the active preset.
- Preview source textures and output paths.
- Run the batch or cancel an active operation.
Reduce texture size and rescale large textures
- Scan a source folder.
- Choose TinyPNG-style quantization or JPEG lossy compression.
- Adjust color count or quality depending on the selected algorithm.
- Optionally rescale textures above a selected maximum size.
- Protect ORM-style maps from lossy compression using suffix detection.
- Preview Scan before running the optimizer.

Performance and implementation
- Packing is CPU-based and uses ParallelFor for per-pixel work.
- Large textures can require large temporary buffers.
- Resampling duplicates pixel arrays and increases peak memory usage.
- The operation blocks the editor UI while the game-thread operation completes.
- Texture source extraction uses the first mip of Texture2D source data.