ID fuse UE Plugin

 


ID Fuse is a UE5 plugin designed to reduce the number of Material IDs on Static and Skeletal Meshes. It works by combining textures used across multiple Material Instances into a single texture atlas, then automatically modifying the UV coordinates of each Material ID to match the atlas layout.

This process makes it possible to remove redundant Material IDs from a mesh and replace them with a single new Material Instance that uses the generated texture atlases. As a result, the mesh can be rendered with fewer material slots, reducing draw calls and improving rendering performance.


Plugin Setup

After enabling the plugin via Edit → Plugins, it will appear in the Window menu.



Getting Started with the Plugin

Working with the plugin begins by selecting a preset. Four presets are available, each with a different number and size of slots.

After a preset is selected, a set of parameter structures will appear on the right side of the window. The number of structures displayed corresponds to the number of slots defined by the selected preset.


There is an option to select the texture atlas resolution. By default, it is set to 4096 × 4096 pixels.

The user can specify an output path where the plugin will save the modified copy of the mesh with updated UVs and merged Material IDs. The generated texture atlases and the new Material Instance will also be saved to this location.

If no output path is specified, all generated assets will be saved to the root Content folder: /Game

The user can specify a custom asset name (YourName) and a comma-separated list of postfixes for the texture array if it contains more than one element (for example: BC, N, ARM). These values will be used when generating asset names.

Examples:

  • SM_YourName
  • T_YourName_BC
  • T_YourName_N
  • T_YourName_ARM

If no custom name is provided, the plugin will generate asset names using the default text stored in the corresponding fields.

It is important to understand that the Postfix field serves another critical purpose. The number of postfixes specified determines the number of elements in the texture arrays.



For example, entering BC, N, ARM will create three texture array elements, while entering only BC will create a single texture array element.

The user can assign textures manually and generate a new model with textures merged into an atlas. However, there is a second workflow.

After selecting a model and specifying the Material ID index for the desired material slots, the user can press the GetTextureParameters button. This activates the automatic mode. In this mode, the plugin gathers all Material Instances associated with the selected model and Material ID index. It then collects textures from all texture parameters found in those Material Instances and automatically populates the texture arrays.

If the plugin successfully finds the texture parameters and builds the texture arrays, the user will see the populated texture arrays as well as the name of the parent material that will be used to create the new Material Instance in the status field.

It is important that all discovered Material Instances share the same parent material; otherwise, the automatic workflow will not function correctly.

After pressing the Merge button, the plugin generates a new model, one or more texture atlases, and a Material Instance. The Material Instance is generated only when the automatic mode is used. It follows the same naming convention as the other generated assets, for example: MI_YourName.

Parameter structure description:

The first parameter is Mesh. Here you need to specify the model that will be modified. It can be either the same model for all four elements or different models.

The second parameter is the Material ID Index on the model.

Next come the Textures. There can be several of them — from one to five, possibly more.