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:
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.
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.