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.