FBX SDK 2016.1 problem/bug in 4.10/4.11/4.12Preview

Hi,

So after not knowing that in 4.11 the FBX SDK Version got bumped to 2016.1, we were importing Static Meshes from 3dsMax with 2014/2015 FBX SDK.
This worked for quite some time but there seems to be an incompatibility with the FBX SDK 2014 fbx-files.
At one point in time, UnrealEngine Import/Reimport locks up and you cannot import/reimport any fbx 2014 file.
Error: Could not find any node is the error for importing.
And LogFbx:Warning: Warning No FBX mesh found when reimport Unreal mesh ‘InsertMeshName’. The FBX file is crashed. when trying to reimport the file that once worked.

After importing a working FBX 2016 file, you can also reimport 2014 fbx files again!!!

From my point of view, this is quite a huge inconsistency.

  1. There should have been a bigger notification on 4.11 release that FBX SDK is now 2016!
  2. From an end user perspective, I don’t know if the 2016 FBX SDK Versions should be downwards compatible? Maybe tell us?
  3. If not, there should be a warning presented to the user that he is importing a problematic 2014 fbx file that can work but can fail to (re-)import, too!
  4. Epic Games should also be clear that, if there are incompatibilities between 2014-2016, it is forcing the user to upgrade the existing pipeline. For example the 3dsMax plugin cannot be updated anymore so you would have to switch 3dsMax versions which may be relying on other plugins. I don’t know how often the Blender FBX plugin and gets updated/worked on.
  5. Maybe it would be better to keep an older pipeline path for the upcoming years, wouldn’t it be possible to keep fbx 2014 and 2016 at the same time, deciding on runtime which fbx version the imported file is etc. ?

Anyway, for a bug report, this is super hard to reproduce as the editor locks up at random times, I could provide an fbx file but how often do you need to reimport etc. to trigger this problem?

Maybe, fbx 2014 and fbx 2016 are compatible, then this is a bug at the FBXImporter, but I can’t tell at all. Just letting you know.

I am looking forward to having my questions answered about the compatibilities and what should work in 4.11 and what should not.

Hi LeFxGuy,

This change in FBX version was covered in the Release Notes for 4.11 here: What's New | Unreal Engine 5.1 Documentation

Any of the later versions of the FBX SDK should be backwards compatible with previous versions unless specifically mentioned. There could be issues that are not known. We’ve had FBX2016 for a while internally with 4.11 since that took a while to get released and no issues that I’m aware of have been reported with it. Our Artists have been using it consistently, but that doesn’t mean that there aren’t any bugs and it could really depend on other workflows that are not necessarily used here internally at Epic.

If you have a test asset that can reproduce this I can try. I’ve not seen anything with my own test assets though. If you have any additional detailed repro steps aside from what’s above that could be helpful as well.

Thank you!

Tim

here is one of the fbx files (part of a wall) that crashes 4.10, does not import in 4.11 and opens perfectly fine in 4.9
I am not sure what went wrong and there are a few of those.
Export Settings are the same as shown for the fbx static mesh pipeline although i think “preserve edge orientation” was activated as well. (fbx 2014)
Import as static mesh, no collision, no uv generation, uncombined (as it is already only 1 object in there), no LODs; transform vertex to abs checked; remove degenerates checked, adjacency buffer checked; reversed index buffer checked; import normals only using Mikk TSpace, importing with textures and materials

Wall

btw. If I may make a little remark: Yes, it stands in the release notes but it’s only mentioned once, it’s quite far below between a lot of text and if you search for “FBX 2016” you dont even find it, you have to search for “FBX” or “2016”. So, i knew it was in there (after I found it), i just thought it should be posted more prominently. Although if it should be downwards compatible, nothing to worry about but as shown above, there are assets that work perfectly fine with 4.9 and dont work at all for 4.11

one last remark: I exported a working version with FBX 2014 with, well exactly the same export options and that one is 1kb larger, I have no clue what is wrong there :frowning: Unfortunately this is no real bug and reproducing this problem could turn out quite hard. And i only have the binary version so it’s hard to know what exactly was saved in there.

I’ll pass the suggestion along to our community guys who make the release notes. I just checked on the last update to FBX 2014 back with version 4.2 there was a bigger notification, but it also listed some issues it directly fixed. I’m not sure if that was the case, but it could have been since there have been a couple of years between the two.

As for the differences between 4.9 and 4.11 there have been some significant changes to the FBX importer with UE4 since these versions are ~6 months or more apart in the Change lists.

So trying this I can see the Import Failed option with the asset.

Currently, I have Max 2013 & 2015 installed and Maya 2015. When I export from any of these I’m seeing no issue importing the FBX using FBX2013 or FBX2014 (from Max 2015 since there is no FBX2015 option).

I’ve got Max 2014 at home I’ll have a look at the file and see if I get any issue. I tend to do a lot of UE4 and custom assets at home and I’ve not run into the issue. Maybe I can narrow down something more concrete there.

For reference if you’re interested I did find the release notes for all FBX SDKs on Autodesks site here: Help

So I tested this with Max 2014 while at home and I still didn’t have any issue that I could see.

Well Tim, Sorry I have no clue really. Somehow there is a possibility to create bad fbx files that crash the engine from, well i guess otherwise working geometry, but it’s not really easy to reproduce. I Think the case should be closed, i guess, because I also can’t really tell when this happens and how. Btw. Thank you for the autodesk FBX change list :slight_smile:
Also for really taking the time and working through it. But I can’t really reproduce it yet and don’t have the time to spend hours exporting and importing objects but maybe over time when the error repeats and I get a clearer grasp of it. But on the other hand, we are trying to opt for FBX 2016 export now because it’s 100% working there, except for the few poor ones that are sticking to 2014 at the office :smiley: Anyway, really for trying but it’s just super hard to reproduce.

Ok, Tim, I got something for you!!
I attached a 3dsMax 2016 file with a test asset that can reproducibly create the fbx error.
I also attached a zipped image with my FBX-Settings and the import settings in launcher Version 4.11.

I tried ResetXForm and resetting the normals using EditNormals modifier and well, the thing that fixes the export is when I just center the pivot point. But you can try for yourself :slight_smile: I also have cases where this does not work and I can’t get the asset to import! I hope you get the export crash in UE with this file :slight_smile:

Also, what is quite a problem in the first place: Imagine I import the asset successfully and then overwrite the asset. Pressing reimport, the editor popup tells me that reimport was successful but the output log says:
“LogFbx:Warning: Warning No FBX mesh found when reimport Unreal mesh ‘blubfdg’. The FBX file is crashed.
LogEditorFactories:Warning: – import failed”

So actually the import failed but the editor told me something else. This is a problem in general and not directly related to my asset and should be fixed because I guess this is the wrong code path for fbx reimport failure.

Concerning the creation of this asset, I have a suspicion what the problem is. Some of my assets are run through “IPackThat”, a stand-alone UV packing program that uses FBX as its exchange format and I reimport my UV-packed assets by deleting the old ones so there seems to be something wrong in the transforms or something.

But this is just information for you and it should (re-)import correctly into the engine anyway.

I hope this helps you reproduce this problem.

for further help, 4.12 preview errors out too, but has a warning in the output log that the others dont have. The error “could not find any node” and “import failed” in the message log/output log are the same but the warning “Mesh [Geometry have no name] in the fbx file is not reference by any hierarchy node” is new and maybe helps you pin-point the problem.

just an update. I’m in the process of getting Max 2016 as well. Should be able to continue this test this week. I’ve only had 2013 and 2015 to this point.

Sorry Tim,i missed this XD If you had said something earlier, i would have just saved it in another verison, 2014/2015 whatever. But I am really looking into your findings and hope the error is reproducible with my file for you, too.

It seems like there may be something up with IPackThat that is corrupting the data for the export from their program. I can’t say for certain since I was able to get the demo and try out the program but it will not let me export any assets from it since it’s a demo.

The original mesh you gave me, that I assume was used with IPackThat and fails to import, I was able to take this back into Max and re-export. This imports properly now that I can see. From what I can see with this information this isn’t a bug with UE4. I also noticed that I couldn’t import any FBX2016 assets into IPackThat so they are likely on an older FBX SDK.

As a test you may want to do the following and then submit the issue to IPackThat on their end for testing.

  • Create an asset (your wall)
  • Import into IPackThat, replace the UV, and Save the FBX
  • Import the IPackThat FBX into UE4 (should fail based on discussion)
  • If it fails, Reimport the IPackThat FBX into Max and export out again
  • Import the fixed Max FBX into UE4 and that should import as intended.

Let me know if any of this is the case.

Tim, I provided you with a 3dsMax file with a single asset. This one is re-imported from IPackThat.
Pls dont use the initial fbx that I provided, just export from 3dsMax.
I havent tested yet but I thought that renaming the re-imported asset in 3dsMax solves the problem.
I never import directly from IPackThat into UE, always back to 3dsMax. That is why I provided you with the max file. And the fbx export from Max with the asset fails, too.

For me exporting from the Max file you provided, which is all I used aside from the initial asset as a test to see the crash on reimport thing. When I export from the Max file in Max 2016 it works as intended. I was able to import without any issue with a created FBX. I’ll re-test this on Monday when I’m in the office, but the only thing beyond that I could see was the asset was taken straight from IPackThat, which is why I used the initial asset provided as well. I imported that into Max 2016 and re-exported to FBX, which would import as intended.

Again, I’ll retest this on Monday to be sure. I’ll test with FBX2016, 2014/15, and 2013 SDK to make sure I didn’t miss anything. Beyond that I can submit a ticket with the broken asset and Max file, but if it’s not reproducible it may not go very far or directly be an issue with UE4. It would be up to the assigned engineer to decide how to proceed.

I certainly wasn’t trying to push the issue off, but without it reproducing the issue on my end some assumptions had to be made that were not clear before based on the results I had.

Here are my export settings from 3dsMax.

and sorry, did not want to sound like you are ignoring the problem :slight_smile:
But, well, just try once more. use Max 2016, use my export settings as shown above and use the max file i provided. If you dont get an error with it, then well :smiley:

I’ve attached a video of your process with your max file as well 3Ds Max to importing into UE4 4.12 preview 4 and 4.11.2.

Video

On another note that leads me more to believe this is a Max issue and not related to UE4 is that I had this happen on an asset the other day that I had in 3Ds Max. I was getting the same error, and all this was done with 3Ds Max 2013 (my default version I work out of). To test see if I could get rid of the issue in Max since it was saying there was no hierarchy I created a simple box and attached the broken asset to the box. Then I simply deleted the box asset being left with my original broken asset. I was then able to export and import this into UE4 without any issue.

Yup, ok so i took some time anbd checked again.- First of all, you have the same geometry options set as myself, but not the rest. i have animations, light and embed media deactivated but it does not matter.
For me, the import crahes reproducibly if i have FBX 2016 set and important Z-Up! If i leave it at y-up, it works fine and imports without a problem., Can you pls test exactly that configuration? (and deactivate the animations etc, ) Also, i am using “export selected”, i am not exporting the whole scene, this could probably make an internal fbx difference, too. I also tested different geometry settings and no matter what (with or without normals, or preserverd edge orientation), it crashes as soon as i have the conversion to Up-Axis Z-Up.
And well, I mean it imports correctly into UE4 with Y-Up but in Max, it’s Z-up and so i thought this would be the correct setting as I dont want any conversion to happen after all?..