[4.11 and 4.12] Fbx Combine Meshes Rearchitected?

The behavior of combine meshes is completely different in 4.11 than in previous versions.
I have reproduced this in a clean 4.11.2 project (no source control).

When I import a fbx file that contains multiple meshes, with combine meshes off, via the following setting…

It imports the meshes individually and they show up individually in the content browser.

89329-contentbrowser.png

However, only one uasset is created in the file browser with the name of the fbx file.

This is completely different behavior than in previous versions.
Previous versions have created a uasset file for each mesh that was within the single fbx file.
So I would have a uasset named “spacestation_Right_Room_Ceiling” and another uasset named “spacestation_WallShort_Tunnel_2”

Like so…

So now I’m stuck with a ton of uassets that work the old way.
When I import an fbx now that contains some of those meshes it doesn’t overwrite them. Instead it creates duplicate meshes in the content browser with the exact same name. However on the file system there is just one file for those now (like a master file).

Was this change made on purpose? Is this the way that it is going to stay?
When you import a fbx with combine meshes off will it create a single uasset from now on?
This seems like a redesign but I can’t find it in any of the release notes.

Or is this a bug?
Would love to get some feedback on this because I will have to delete all of my meshes and reimport if that is the way it is going to stay.

I just tested this in 4.10.4 and it creates a uasset for every mesh just like I said.

I think this rearchitecture actually makes sense. I just want to make sure it was intended (since it wasn’t in any release notes) and how it’s going to stay for the foreseeable future.

This design has been working a lot better than how it worked previously. There is only one file for source control which is nice. And I can now export the entire fbx and bring it in when I make changes without things getting confused. Before, when I tried to import the entire fbx again and overwrite it would switch my materials that were already applied around. So I had to keep deleting the all of the meshes and importing. So I really like how it is working now. I just hope it stays this way.

4.12 UPDATE Well you went and you changed it back to the old way where it creates a new uasset per mesh. And you added a bunch of scene importing options too and none of them are the way it works in 4.11; where you have all of the meshes in the world outliner and content browser but only one uasset on the file browser. WHY EPIC??

The behavior you were used to in 4.11 was actually incorrect as bug was entered for this issue, UE-28898. It is expected that when you disable the ‘Combine Meshes’ option when importing multiple meshes within a single FBX file, it will create a unique .uasset for each mesh.

If you want to avoid this you can either combine the meshes when importing to keep the single .uasset, or you can export them from your modeling program in separate groups.

Thank you,

The modelling program thing isn’t super feasible since we have 400 meshes. If I import with combine meshes on it will be a single mesh in the world correct? I really liked the behavior of multiple meshes in the world but only a single uasset.

Yes, when you import the .fbx and leave ‘Combine Meshes’ on, they will be combined as a single mesh.

The desired behavior is a single mesh on the filesystem but multiple meshes in the content browser and world outliner. Is that no longer possible in 4.12?

It is expected that each object that is imported is its own .uasset with the Combined Meshes set to false. This is the current and correct behavior in 4.12.

Is there anyway to get an enhancement request for the functionality where it only creates a single uasset on the file system but multiple meshes in the editor? It’s funny that I want a “bug” to stay :stuck_out_tongue: It would be nice to at least have a checkbox to support this behavior. I want this because it seemed to have fixed several issues I was having before. For example, when importing my materials would get mixed around or unset on various meshes. Also, sometimes when I imported and it overwrote the meshes I couldn’t save after. However, with the 4.11 behavior everything was fine. I didn’t see any bad behavior. And it was nice to just have a single file in my source control that was updated whenever a change to any of the meshes occurred. Since I didn’t originally get a response on whether it was intentional I assumed it was since it seemed intelligently designed :stuck_out_tongue:

Refactoring a workflow back into a bugged state where the behavior was not working as intended is not something we plan on doing. I do understand things made more sense to you and might have worked better in your case, but how the engine deals with importing assets and creating .uassets is crucial to making sure calling on specific meshes and the static mesh pipeline function as expected.

The behavior may have not been working as intended but it was working better. Re-importing the mesh didn’t cause loads of problems. I wasn’t asking for the default asset importing to change, I was requesting a checkbox that could read something like “Use Single UAsset” or something along those lines. Obviously this would need to go through the normal QA.

I asked around and found that the functionality of what you are asking for actually was implemented within the 4.12 release. This is part of the reason why the import behavior within the Content Browser is back to the correct way.

You can now go to the File > Import into Level option. This allows you to import an FBX that has multiple objects or is a full scene. You can then set it to save it as single asset or BP, or just import into the scene and all the objects will have their original pivots too.

Cheers,