Best practice when working between Revit and UE - multiple objects that actually represent one thing

A project I am working on, in fact my unreal engine entry-project, comes initially from Revit. For those who haven’t worked in Revit, it’s an architectural software. You draw walls, ceilings, roofs, put windows and doors into the walls etc. The walls come as separate objects.

In my particular case, I needed to build the context around the project I am working in. Instead of building volumes that represent buildings, I built them with four walls and a roof. That makes five items. Each of the items is a mesh, and an actor. Imagine I got plenty of those.

If I have been clear enough so far, you have figured out by yourself that my scene ends up cluttered with lots of objects, eg walls that individually mean absolutely nothing.

What is the best practice here. Should I export to FBX, attach everything that means one thing (eg 10 walls > “house”) into one mesh, or should I create an actor that contains those multiple items (walls, roofs, slabs, pillars etc)?

I’d love to hear your opinions :slight_smile:

You should look into using Datasmith, it will make whatever you’re trying to do vastly easier

I would recommend the same as above with Datasmith. Check out the Academy for a course.


Thanks @pp_rfrost and @pbdarcey

I already use Datasmith and this is exactly how I got all those meshes in.
Let me rephrase my problem. I would like to group multiple items that I want to treat as one single entity. Something tells me grouping is not the way to work in Unreal.

When I export them from Revit, they come of course as single items. I could import to Max, join and re-export. I have a feeling this is not the right way. So I am asking about the best practice in this case. There might be multiple ways, and I’d love to hear your opinions. In a course in the Unreal Online Learning portal, there was something like Blueprint Class > Actor. Is that relevant in my case?

Please see the attached screenshot that I hope will clarify my question and intent.
As you can see from the selection, I don’t want to be able to select each single plank. I might want to join all the planks into one single item, or maybe the roof is one single item.

One way to make these one static mesh is:

  • Select all the objects in the work outliner
  • Right Click in the world outline and convert to static mesh.
  • Save the new static mesh and replace into the scene.


Hi pbdarcey,

I will try to give you an answer but consider it as limited since I’m not a tech artist.

You have to merge models to optimize drawcalls and at the same time, it has to be optimized for occlusion culling.

For your roof, I think you should merge it.


Merge it beforehand, for example in Max? Or are you talking about another method?

I’d like to ask if there is a method to place the new static mesh exactly where the original meshes were. Is it possible?

The static mesh I created, its a completely new mesh right? There is no connection to the original objects at all - If I would re-import the source objects (RMB >Reimport) the new static mesh would still be the same, right?
If that is the case, right now this is not what I am looking for. At this point I wont care much about resources, draw calls and such. My focus lies on tidying up my scene objects, grouping and so on.

So far, the only solutions I know of now is

  1. create a folder structure, sort the stuff in there and when I need to translate objects in batch I would simply select the folder’s immediate children. I could also group in addition to the folder structure.

  2. Blueprint Actor. The outcome is clean. I am assuming the assets are linked to the physical assets in the scene which is what I am looking for. The downside is that it’s too hard to do it manually, because the objects need to be placed exactly the way they are to be in 3d space in relation to each other. Is there any way to automate this - turning a set of selection to one single Blueprint actor, which also is located where the original objects were located?

I’d love to hear more opinions and thoughts :smiley: