Runtime Import, IFC still not supported ?

Hello everyone,

I am working with IFC files and in an other forum question
(To open any IFC file in packaged application and not in editor - #4 by UE_FlavienP),
it was said that IFC import in runtime will be there, one day.

I just tested (5.4) importing with DatasmithRuntimeActor,
with this :

And nothing (the boolean is false)

Am I doing something wrong ?
Or is the runtime import of IFC not supported, yet ? :cry:

Hopefully someone have the information or can help me,

Have a nice day :wave:

Found solution ?

I presume IFC can’t import directly at runtime. Datasmith runtime format works

Not with ONLY the IFC in runtime, no;

But we managed to :

  • Convert IFC in XML
  • get the data we needed (Type, Location, Forward, Right, GUID etc.)
  • Convert IFC in GLTF
  • Import the GLTF with a plugin (GLTFRuntime)

Everything work in runtime/shipping

I wish it could be simplier…

I created a temporary solution for Windows.

As you know there is a pre-built tool called “IfcConvert.exe” from “IfcOpenShell”.

So, I developed a helper function to trigger “IfcConvert.exe” with correct arguments to convert IFC files to GLB files at runtime with with ExecuteProc in AsyncTask.

It is just like running something with Windows Command Prompt but from UE5’s inside and without creating a terminal windows (it is headless).

Just copy IfcConvert.exe to your Project’s Binaries folder.

codes are here. It is blueprint exposed. You don’t need to write arguments manually. It automatically creates for you. But if you need custom parameters, you can do that, too.

It can be slow operation based on target IFC’s size but users won’t feel anything because async. design. Also It can export metadata as XML or JSON.

Additional Notes:

  1. Couple days ago, I finished my in house OCCT 8.0 based STEP importer. Today, I forked IfcOpenShell’s itself and modified it to work with OCCT 8.0 and Boost 1.88 (it is UE5’s version). I can create a real IFC importer, too but it is not in my top priorities. If converter + gLTFRuntime will become inconvenient, I can look at it.

  2. About runtime CAD importers other than Datasmith Runtime: I am not an Epic employee but I saw that Epic used Hoops Exchange to bring CAD support to the engine. These kind of libraries are NOT open sourced (besides OCCT if you want to support only OBJ, GLB, IFC, IGES, STEP, VRML but not native ones like .sldasm .iam parasolid) and very expensive. I mean at least 20-30K USD per year per developer + runtime fees. So, I don’t think Epic will ever bring that feature. It is not technical but financial.