Material Merger 1.2 – User Guide

Material Merger bakes all the materials on a group of objects into one material with one set of textures. Fewer materials means fewer draw calls and faster scenes. Smart Pack builds the shared UV layout for you. The Unity bridge sends Unity models to Blender for merging and brings them straight back.

Requirements

  • Blender 4.4 or newer
  • Windows (64-bit), macOS (Apple Silicon or Intel) or Linux (64-bit)
  • For the Unity workflow: Unity 2021.2 or newer, with the Built-in render pipeline, URP or HDRP

Installation

Remove the old version

If you have an earlier version installed:

  1. Open Edit > Preferences > Add-ons.
  2. Find Material Merger (older versions may be called Merge Materials).
  3. Open the ⌄ menu at the right of its row and choose Uninstall.
  4. Restart Blender.

Install

  1. Extract the ZIP file material_merger-1.2.0.zip.
  2. The extracted folder contains four add-on files, one per operating system, and a Unity folder. Choose the file that matches your system, and don’t extract it:
Your computer File
Windows material_merger-1.2.0-windows-x64.zip
Mac with Apple Silicon (M1 or later) material_merger-1.2.0-macos-arm64.zip
Mac with an Intel processor material_merger-1.2.0-macos-x64.zip
Linux material_merger-1.2.0-linux-x64.zip

Not sure which Mac you have? Open Apple menu > About This Mac. “Chip: Apple M…” means Apple Silicon; “Processor: Intel” means Intel.

  1. Drag and drop the selected file into Blender (for example onto the 3D Viewport) and confirm the popup.
    • Or use Edit > Preferences > Add-ons, open the ⌄ menu at the top right, choose Install from Disk… and select the file.
  2. In the 3D Viewport, press N and open the Material Merger tab. If it isn’t there, tick Material Merger in Edit > Preferences > Add-ons.

Where to find it

  • 3D Viewport > Sidebar (N) > Material Merger: the main workflow, in five numbered steps:
    1. Import from Unity
    2. Objects to Merge
    3. UV Layout
    4. Merge
    5. Export to Unity
  • UV Editor > Sidebar (N) > Material Merger: Smart Pack, per-object Priority and Overlaps settings, and an overlap check.

Step 1 is only for Unity users. Everything else works in Blender on its own.

Part 1: Using Material Merger in Blender (without Unity)

Before you start

  • Every object must be a mesh with materials and a UV map. Unwrap objects that have none (Edit Mode > U > Smart UV Project).
  • Unhide everything you want to merge. Hidden objects can’t be baked.
  • Save your file. Baking can take a while.

Step 1: Add your objects

  1. In Object Mode, select the objects you want to merge.
  2. In 2. Objects to Merge, click Add Selected.

Material Merger works on copies, so your originals are never changed:

  • Each object is copied into a new collection, Material Merger Collection.
  • The copy gets a new UV map, NewUVMap, which is used for the shared texture.
  • The original is hidden and renamed <name>_original.

The panel lists every object in the collection. Use the search box to filter the list, and the button next to a name to select that object. Remove Selected deletes the selected copies and leaves the hidden originals alone.

Step 2: Set the texture size

In 3. UV Layout, set the Width and Height of the final textures in pixels, for example 2048 × 2048. Do this before packing, because Smart Pack plans the layout for this size.

Margin is the empty space kept around each UV island so colours don’t bleed into neighbouring islands:

  • Auto (recommended) picks the margin from the texture size and the number of islands.
  • Custom lets you set it in pixels. The gap between two islands is twice this value.

Step 3: Lay out the UVs

Optional: set per-object options first. Click Edit UVs by Hand. This opens the UV Editing workspace with all added objects selected and NewUVMap active, and shows a blank image at your texture size as a guide. Open the UV Editor’s sidebar (N) > Material Merger > Objects. The table lists the selected objects:

  • Priority: set 2 or 3 on objects seen up close, such as a character’s face, to give them more texture space.
  • Overlaps: tick this for objects whose islands are meant to share the same texture area, such as hair cards or mirrored and repeated parts.
    • Smart Pack keeps their overlapping islands stacked and moves them together.
    • Islands only stay stacked when they use the same material.
    • Tick it before running Smart Pack.

Run Smart Pack. Click Smart Pack, either in the 3D Viewport panel or in the UV Editor sidebar. It arranges the UV islands of all added objects into one shared texture:

  • Parts with fine texture detail stay sharp; plain areas get less space.
  • Surfaces hidden inside the model shrink to a few pixels.
  • Islands are packed tightly by their exact shape, at any rotation.

Smart Pack only changes NewUVMap. The summary under the button shows how much of the texture is used. If the texture is too small for the number of islands, it warns you and recommends a size. You can run Smart Pack again at any time, for example after changing the texture size.

Fine-tune the result in the Adjust Last Operation panel (bottom left of the editor, or press F9) right after packing:

  • Adaptivity: 0 gives every part the same texture resolution. Higher values let plain or rarely seen parts give space to detailed ones. Default 0.5.
  • Use Visibility: turn this off for animated models whose hidden parts come into view, such as the inside of a mouth.
  • Two-Sided Visibility: leave this on; it’s safe with flipped normals.
  • Shape and Rotation: looser settings pack faster but use the space less well.

Adjust by hand. In the UV Editing workspace, press A in the 3D Viewport to show every island. You can then tweak Smart Pack’s result or arrange the UVs yourself. If you run Smart Pack from Edit Mode, you stay in Edit Mode.

Check the layout. In Edit Mode, click Select Overlapped Islands in the UV Editor sidebar. Overlapping islands bake on top of each other, so the only overlaps left should be the ones you kept on purpose.

Step 4: Merge

In 4. Merge:

  1. Set the names:
    • Material: the name of the merged material (default Merged_Material).
    • Textures: the prefix for the baked images (default Merged, giving Merged_Color, Merged_Normal and so on).
  2. Tick the maps to bake. None are ticked by default.
    • Color: the base colour of every material.
    • Alpha (into Color): transparency, stored in the Color map’s alpha channel. It needs Color, and is skipped automatically when every material is opaque.
    • Normal: a tangent-space normal map, including the normal and bump maps in your materials.
    • Roughness and Metallic.
    • Emission: glowing parts.
    • Ambient Occlusion: a separate AO map. AO is kept out of the Color map so it isn’t applied twice.
      • AO: Detect, Compute Missing uses AO your materials already have and computes it for the rest. Materials Only uses existing AO only. Always Compute computes AO for everything.
      • Distance: how far to look for blocking geometry when computing AO.
  3. Unlit controls emission-only (unlit) materials:
    • Auto: if every material is unlit, the merged material is unlit too. If only some are, those parts stay self-lit through the Emission map.
    • Bake as Base Color: unlit parts become normal lit surfaces.
    • Bake as Emission: unlit parts stay self-lit.
  4. Samples: higher values give smoother edges and cleaner AO but take longer. Default 16.
  5. Click Merge Materials.

Baking runs in Cycles automatically, and your render settings are restored afterwards. To bake faster, enable your GPU in Edit > Preferences > System > Cycles Render Devices.

When it finishes:

  • every object in the collection has one material, with the baked textures connected;
  • NewUVMap is moved to the first UV slot, so game engines read it;
  • the textures are stored inside your .blend file.

Most shader setups bake correctly, including Principled BSDF, Mix and Add Shader, node groups, and image and procedural textures. Nodes with no texture equivalent are baked grey, and the status bar tells you when that happened.

Want different settings? Press Ctrl+Z to undo the merge, change the settings and merge again. Always undo before merging again. Otherwise the second merge re-bakes the already baked textures.

Step 5: Save or export

  • Keep it in Blender: save the .blend file. The baked textures are packed inside it.
  • Save the textures as files: in the Image Editor, choose an image (for example Merged_Color), then Image > Save As.
  • Export the model and textures together: select the merged objects and click Export in 5. Export to Unity. Choose a folder and file name, then click Export for Unity. This works for any engine, not just Unity. You get:
    • the FBX file you named;
    • a backed textures folder with every map as a PNG;
    • <material name>_MetallicSmoothness.png, when Metallic or Roughness was baked (metallic in RGB and smoothness in alpha, the layout Unity uses);
    • merged_material.json.
  • Use Blender’s own exporters: File > Export works as usual for the model. Take the textures from the backed textures folder, or save them as described above.

The normal map uses the OpenGL convention (green up), the same as Blender, Unity and Godot. In Unreal Engine, tick Flip Green Channel on the normal map texture.

Starting over

  1. Select the copies in Material Merger Collection and click Remove Selected.
  2. Show the _original objects with the eye icon in the Outliner.
  3. Select them and click Add Selected again.

To keep an original permanently, show it as in step 2. Then turn on Object Properties > Visibility > Renders, which Material Merger switches off.

Part 2: Using Material Merger with Unity

This workflow sends models from Unity to Blender, merges their materials, and brings them back into the same project with the material already set up.

One-time setup in Unity

  1. In your Unity project, create a folder named Editor inside Assets, for example Assets/Editor/MaterialMerger. The scripts must be inside a folder called Editor, or your game builds will fail.
  2. From the Unity folder of the download, drag AssetPipelineTools.cs, MaterialAssignerWindow.cs and MeshCombinerEditor.cs into it.
  3. Wait for Unity to compile. A new menu appears: Tools > Material_Merger.

Step 1: Export from Unity

  1. In the Hierarchy, select the root objects of the models you want to merge.
  2. Open Tools > Material_Merger > Merge Materials.
  3. Click Export Selection for Blender. Save into a new, empty folder outside your Assets folder, and keep the file name unity_data.json.

This saves which FBX files the models come from and their material settings. It also copies their textures into a texturesforunity folder next to the file. Only enabled renderers whose meshes come from FBX files are included; the Console lists any that were skipped.

Step 2: Import into Blender

  1. Start a new Blender file and delete the default cube.
  2. In 1. Import from Unity, click Import unity_data.json and select the file.

Blender opens the FBX files directly from your Unity project. Use the same computer, and don’t move the project in between. Your Unity materials are rebuilt in Blender, including:

  • base map and tint
  • normal map
  • metallic and smoothness
  • emission
  • occlusion

Step 3: Add, pack and merge

Press A to select everything, then follow Part 1, Steps 1–4. Armatures and other non-mesh objects are skipped automatically, and rigged meshes keep their rig.

Step 4: Export back to Unity

  1. In 5. Export to Unity, click Export.
  2. Go to the same folder that holds unity_data.json and click Export for Unity.

The file name doesn’t matter here. Each model is saved under its original FBX name, with its armature and animations. The folder now also holds a backed textures folder and merged_material.json. Leave the FBX options on the right of the file browser at their defaults unless you need different axes or scale.

Step 5: Import into Unity

  1. Open Tools > Material_Merger > Merge Materials and click Import Assets & Open Assigner.
  2. Choose the same folder. Material Merger then:
    • backs up each original FBX into a _Backups folder next to it, replaces it with the new one, and reimports it;
    • creates the merged material and its textures in Assets/BlenderImports/<folder name>, set up for your render pipeline;
    • opens the Quick Material Assigner with the new material filled in.
  3. In the Hierarchy, select the root objects of the models you merged. Click Apply to Selection and All Children. Every mesh under them gets the merged material, and Ctrl+Z undoes it.

The shader chosen in step 2 depends on your project:

  • Standard (Built-in), URP Lit or HDRP Lit for normal materials.
  • An Unlit shader if the merged material is unlit.
  • Cutout or transparent mode when the Color map has alpha.

Two things to know:

  • The _Backups copy is replaced on every import. If you round-trip the same model more than once, keep a copy of the first backup somewhere else.
  • On HDRP, lit materials only get the base colour map. Connect the other maps by hand.

Optional: combine the meshes

Once the materials are merged, you can combine static objects into one mesh:

  1. Select at least two objects.
  2. Choose Tools > Material_Merger > Merge Selected Objects.

It creates _MergedObject, asks where to save the new mesh, and deactivates the originals. Skinned (rigged) meshes are not included.

  • $30
  • $125
  • $255
$30

Have questions about this product?
Login to message

Details
Sales 20+
Rating
1 ratings
Published over 1 year ago
Blender Version 4.4 - 4.5
Extension Type N/A
Render Engine Used Cycles, Eevee
License Mit