How can I join 2 objects using the Boolean modifier, but keep their original materials assigned to them?

If it is impossible - is there another way to join 2 intersecting objects and remove useless geometry inside the intersection area?


1 Answer 1


To keep the existing materials on meshes in a boolean operation, simply put the material on those objects on both material lists. For example Cube 1 has Material 01 and Cube 2 has material 02. For those two objects to be joined in a boolean operation and keep their respective materials Cube 1 MUST have Material 01 AND Material 02 in its material list and vice versa.

Two objects with different material lists:

enter image description here

Now the completed Boolean with the two materials in the one list of Cube 2:

enter image description here

If I did not put both materials in then the original one overwrites the mesh material because the material no longer exists (child material data dissolves in a union operation) so you must make sure the material actually "exists" so that it can stay on the object. Hope that helps :)

  • $\begingroup$ Thank you very much, it works perfectly! :) I also found a small cheat: you can select the second object, go to edit mode and select all the vertices. After completing the boolean operation go to edit mode and you will see the vertices still selected, and you can assign material to them. But it makes sense only if the whole object has the same material. $\endgroup$
    – Rumata
    Commented Oct 7, 2017 at 8:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .