x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Importing FBX files always creates new materials whether search location setting

This bug has happened since 4.17 to now(4.18). In versions before 4.16 is partial okay.

When FBX files are importing to Unreal, normally we can set the material search location to find previous importing materials with the same name, and then avoid duplicated textures being imported and duplicated materials being created.

But the above function is breaking now(After 4.17). That is terrible because we usually need to reduce the game package as minimal as possible, this bug will cause the serious resource management problem.

I try to trace Unreal source codes by myself to compare difference between 4.16 and 4.18, the problem is seams caused by code changing of FbxMaterialImport.cpp.

After 4.17, the FindExistingMaterialFromSearchLocation() function is moved to MaterialImportHelpers.cpp, and function content is much different with the versions before 4.16.

I set break point to watch, and find that the string value of the variable MaterialFullName contains the specific folder path name, maybe it is the reason why the FindExistingMaterial() function always return NULL?

By the way, in versions before 4.16, the function is still not stable. The CreateUnrealMaterial() function will create new materials with the texture name normally when previous materials are not found, and then it will change the imported texture name to avoid the name conflicting to the created material's name.(Material name: {TextureName}; ImportedTextureName: {TextureName}_1)

That is fine, however, I don't know why sometimes Unreal changes some material's name rather than the textures name.(Material name: {TextureName}_1; ImportedTextureName: {TextureName})

If I import the same FBX file in the different folder, it can't find those changed material's name because Unreal expects the material name is the original texture name.

It means that "material search location" is partial okay before 4.16 and completed breaking after 4.17. Hope it will be fixed as fast as possible, Thank a lot!

Product Version: UE 4.18
Tags:
more ▼

asked Oct 26 '17 at 10:10 AM in Bug Reports

avatar image

htcJJL
1 1 3 4

avatar image Thomas G ♦♦ STAFF Oct 27 '17 at 02:36 PM

Hello htcJJl,

I was unable to reproduce the issue you are experiencing. I have a couple questions to help narrow down the issue you are experiencing.

  1. Can you reproduce this issue with a blank project?

  2. If so could you provide a detailed list of steps, so that I can reproduce this issue on our end?

  3. Could you provide screenshots of your issue?

Thanks!

avatar image htcJJL Oct 30 '17 at 02:45 AM

Maybe you could see this page: Import Materials with Search Location: All Assets has stopped working in UE 4.17.1, In my views, they have the same problem.

You could use the same FBX file and put it into different folders, and set "Material Search Location" to "All Assets" in Import setting window. Maybe you will see duplicate materials and textures, that is the problem.

Thank you.

avatar image BissoQc Jan 18 '19 at 08:25 PM

Problem still persist. May I add that it is possible to prevent the bug from happening by opening the Materials first, then importing the fbx.

We are often running into this issue when different devs are importing the fbx and creating the materials for it. Some fbx use previously made materials (synced with perforce). In these cases, the materials will not be assigned to the mesh, even with Search Location: All Asset selected and will leave the material slot empty. By first finding the materials, opening them and doing the whole operation again, the materials will indeed be found and assigned.

It's a pretty annoying bug, we work with skeletal mesh with sometimes dozens of materials, not always from the same folder, which forces us to go material hunting in our project and redo the whole procedure.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

Hello again htcJJL,

I have reproduced this issue and logged a report for it here

https://issues.unrealengine.com/issue/UE-51857

You can track the report's status as the issue is reviewed by our development staff. Please be aware that this issue may not be prioritized or fixed soon.

Thanks!

more ▼

answered Nov 01 '17 at 03:56 PM

avatar image

Thomas G ♦♦ STAFF
7k 64 4 54

avatar image htcJJL Nov 02 '17 at 02:43 AM

Nice work, thanks for your help and reply

avatar image Kartug Nov 22 '17 at 02:57 PM

Hi,

We just tried out 4.18.1, and this bug prevents us from upgrading from 4.15. Every release since 4.13 has had some dealbreaking bug (most often in the fbx import functionality) that makes us either stick with old versions, or make our own custom version of the engine.

So, since the issue is now marked as fixed, but wont be implemented until 4.19 by the looks of it, can you provide the Git commit ID so we can fix it ourselves? We don't have access to the perforce repo.

Thanks!

avatar image romain janil May 12 '18 at 11:01 AM

Hi this is still not fixed in 4.19.1, had to revert to 4.16.3

avatar image Podzz Oct 11 '18 at 08:32 AM

I may be having this same issue in 4.20. Could someone give me an idea if it is the same?

https://answers.unrealengine.com/questions/836208/view.html

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question