GLTF import only supports one UV map (need guidance with fixing)

Hello,

I’m working with GLTF files, and unfortunately I have noticed that UE5 (can’t say for older versions) only imports 1 UV map for each mesh, even though my meshes have more than one: importing the same file into Blender, I can see the multiple UV channels just fine.
I’ve noticed this issue for almost 2 years now, made several bug reports and I got no response (nor it has been fixed).

And yes, I could just re-export to FBX using Blender, but I have several files I batch process and I would rather not do that – also, why have a GLTF importer at all if it’s broken / not on par with the FBX importer? (and to my knowledge, it’s supposed to be a fully supported feature…)
I’m not sure if anyone else noticed this or made a post about it, cause it is just frustrating. We are already in 5.5 and this has never been addressed.

I tried looking at the source code myself, but finding the importers and the actual part of the code I would need to be looking at is hard without any Unreal source code knowledge – if anyone could be able to help me out with that, I would appreciate it. (I don’t think there’s any other real fix here, insert Thanos “fine i’ll do it myself” meme)

Thanks in advance.

Simple steps to reproduce:

  1. Have a GLTF file with at least one mesh with at least 2 UV channels
  2. Drag and drop the file into the content browser and import
  3. Mesh/model only has first UV channel imported

UE supports multi UV for glTF. At least I can find multiple channels if I test on files such as

Can we get a sample model file from you to try to investigate more.
Below screenshot of each of the two UV channels.


Thank you for your input, that is interesting. Here’s a simple model in both GLB and GLTF format – maybe using the non-binary format you could spot the issue I have with the models. To me the UVs seem fine.

gltf_sample_multipleuvs.7z (220.0 KB)

You can see the same model has 1 UV in Unreal, while I can see all of the UVs in Blender. (I also tried re-exporting to GLTF using Blender, same issue) Mine is a skeletal mesh though, are they not supported?

Yes some limitation on our side. Thank you for reporting.
The dev is looking into it. That will be a 5.6 fix but we should get a github commit once it is done.

1 Like

Oh my god thank you so much. Please link the commit once it’s done – I would love to build a custom 5.5 with that change. Thanks!

You can try to port back those changes in your 5.5 and let us know how it goes.
https://github.com/EpicGames/UnrealEngine/commit/89173273b11adf2256283ca2d3c0e67733fb818b

1 Like

oh my god thank you. im excited :smiley:


Thank you all so much. It works!

InterchangeWin64_gltfuvsfix.7z (2.0 MB)
https://github.com/kotn3l/UnrealEngine/tree/uvs-fix5-5

To anyone wanting to try it, just replace the dlls in [your ue5.5 install folder]\Engine\Plugins\Interchange\Runtime\Binaries\Win64.