Is it possible to create "mesh instances" like materials ?

On my project, I have several meshes with multiple materials slots and I often have to use multiple of them with same set of materials and a specific transforms depending on the area (for example, one room have 10 boxes with scale 1, material A and B, while another room have 10 boxes with scale 3, material C and D.

Option A : I could just add the mesh to my scene, applies the right materials and duplicate this specific one.
Issue : If I have to use the same set on another level, I can’t access it conveniently in the outliner and have to load the other level to duplicate it.

Option B : I can import the same mesh multiple times and applies the material and scale I need for each of them.
Issue : If I make changes to the model, I have to reimport all of them individually, and if the mesh in too complexe it could severly impact the final game size.

Honestly this isn’t so bad and both could work depending on the project, but I wonder if there is a way to create “mesh instances”, that would take any static mesh) and let you chose differents materials, transforms, collisions, etc… as the default value, while being dependant of the that parent mesh in all other areas.

So I’m not even completely sure what your issue is, but I’ll go with what I have.
This would only be a problem if you’re using static mesh actors (the result of just dragging a mesh into the world), so I’ll assume that’s what you’re using.

Static Mesh Actor

You can just create children of the StaticMeshActor and change your scale in there. You can create multiple children to suit all your needs.

Result when dragged into the scene:

Default Materials

Also, you can set default materials in the mesh window:


If you have multiple materials, multiple material slots will show there.

hi there, you have options:

  1. add all variations to an empty level, and add this level to your gameplay levels using the outliner.
  2. save your objects as blueprint actors, and use a data table to build all possible combinations, each one of those with an unique name. Then, a variable type name inside the blueprint and a code to retrieve the selected data table row will define which configuration you want for each actor.

Hope that helps.