as many of you know, from UE 5.4 onward, Interchange has replaced the legacy FBX plugin by default, so when you try to import FBX - the most common 3D mesh import format, you will be met with the new Interchange importer.
If you are importing Static Mesh asset, it will default to the “Asset” template.
BEWARE that the out of the box Asset template defaults to “Recompute Normals”:
This literally means that the importer will completely throw away normal smoothing setup done in the DCC and will use trivial angle based heuristic to completely recreate the normal shading. So you will most likely have wrong normals on any meshes you’ve imported since you started using interchange, unless you noticed this wrong default and turned it off.
Maybe not ideal for your usage but It can be changed in the project settings:
You can edit the DefaultAssetsPipeline, or even better duplicate the asset and set it up the way you want and then use that CustomDefaultAssetsPipeline in all your different projects.
Beware that when you import a file, UE will remember the settings you put while importing. So when you reimport a static mesh that has been imported with the originial DefaultAssetPipeline, it will not show the reimport settings. You will have to change the reimport pipeline or import from scractch.
Yes, I figured it out already and made my own customized pipeline asset. I can understand the reasoning, that on larger projects, you may want to have different asset import pipeline per user and per project, depending on where the imported data comes from.
The issue here is that for beginners, or even experienced users working on small projects, the out of the box experience should not require immediate creation and customization of import pipeline. There should be a default one that just works.
I am quite confident that in majority of cases, users want to preserve the normals of the meshes they import, not recalculate them. It’s just a bad default. What doesn’t help is that overcomplicated interchange UI doesn’t help. It’s so complex it makes it all the more difficult to spot incorrect settings in so much visual noise. Essentials toggle fails to address that as well, as there’s almost never case where the settings it contains are sufficient, and one has to turn it off almost all the time.
The UI to manage UI is never a good idea (filter buttons, in case of interchange two separate rows of them). It’s never a win, and usually just covers up underlying UX flaws. But since we’re now unfortunately stuck with the UI to manage UI…
…the next best thing that could be done is probably to make the Essential filter simply mirror the legacy FBX dialog 1:1, both content-wise and default value-wise out of the box.
The UI to manage UI is never a good idea (filter buttons, in case of interchange two separate rows of them). It’s never a win, and usually just covers up underlying UX flaws.
100% – this feels very much like a half-baked “Programmer UI”
It looks like “Force Front XAxis” is missing from the DefaultAssetPipeline asset config? I’m assuming the “Fbx Translator” settings is separate from Interchange Settings, which is why it’s in a weird hidden modal dialogue behind a hamburger menu – but this just reinforces the third-party user-hostile nature of this new import scheme.
Hi, will this ever be addressed? As of 5.5.4 the behavior is still the same. The new, default interchange FBX importer throws away imported mesh normals by default, unless explicitly configured otherwise. That’s really scary.
I’ve never seen any other modern, non-amateur piece of software which would default to ignoring normal data and recalculating then from scratch, given how crucial normal data is, especially in game development world.
Also, the Interchange UI seems quite buggy:
There seems to be desynchronization between the default state of the pipeline as a whole vs default state of individual values: https://youtu.be/89DD09kj1Oc
Regarding default value: it comes from the fact than in Legacy FBX import we have recompute normal at false for Static meshes and True for Skeletal meshes. In Interchange, ATM, we cannot change the settings depending if it is a static or skeletal mesh import. The default value of skeletal mesh import was selected over the one from static mesh.
Thank you for the feedback, We will discuss it internally. The behaviour is that the reset pipelines will reset to the default values of the pipeline asset, while the reset property will reset to the default value of the “parent / master” pipeline, the current pipeline asset inherited from. But I agree that from a user pov that is not explained and confusing.
So importing GLTF will always result in large amount junk materials being imported into a folder usually dedicated for meshes (as that’s where most people import it):
The general problem here is that there are just too many cases where user has to reach into engine content directory, make copy of the interchange pipeline asset, and modify it. It should not be necessary to do that for so many basic use cases. The amount of work needing to be done before first successful import of 3D assets should not be so large.
That being said, even if user does it all correctly, GLTF importer just ignores the Import Materials flag and imports them anyway:
Thanks for checking on this. One more last question:
Is there also a logged bug report for the issue where GLTF exporter creates and uses default material even when material with matching name exists in project and search method is set to “Under Root”?
Setup in Blender: