UE 5.5 Importing FBX - Can't set material properties (no "Create New Instanced Materials")

Edit: I’m gathering the answer is just The New import system breaks a lot of things and frustrates a lot of people but hopefully there’s a different answer or workaround…

Importing an FBX, having it create an instanced material based on a base material

In 5.5, I can’t actually set the material properties up correctly - they don’t even show up.

I tried the exact same fbx importing to 5.4 with the same base material and they show up fine. There is no longer an option for “Create New Instanced Material”

First image is 5.4 with the properties
second is 5.5 – nothingn there
What am I doing wrong, here?

And then here it is in 5.5 without the same options

Importing FBX - Can’t set material properties (no “Create New Instanced Materials”)

Out of the box, you could modify your Parent Material to expose some parameters like you would see in the example of /All/EngineData/Plugins/InterchangeAssets/Materials/PhongSurfaceMaterial
Just make sure you name them the same way: DiffuseColor, DiffuseColorMap, etc.

When importing, UE will create a material instance based on your parent material while filling those parameters using the input from the FBX file.

However you cannot tweak the redirection manually nor choose if you want to keep FBX or your Parent material default value. If a parameter exists in the parent material, that has the same name than an input in the FBX file, UE will apply the FBX value.
You might be able to do that with a custom pipeline but you would have to use C++.

When you import your FBX with UE, and once you have selected “import as material instances” you can have a look at what inputs Interchange gets from your FBX file and use that to rename properties in your custom material. You could also get inspired by materials like /All/EngineData/Plugins/InterchangeAssets/Materials/PhongSurfaceMaterial

I have parameters exposed. I am not totally sure my question was understood, and I may not have worded it well.

Maybe to clarify my above post:

I have a material with many parameters exposed for textures and colors being used.

I tested the exact same material in 5.4 and 5.5.

I tested by importing the exact same fbx.

In 5.4, when I import the fbx, I can set the parameters as seen in the image in the first post.

In 5.5, with the exact same (master) material, importing the exact same fbx, I can’t set any parameters, and while it does create an instance of the material, all the (exposed parameters) textures are not connected to anything. I have to manually connect all the textures to the parameters, which for hundreds of materials is impractical.

5.4 it works.

5.5 it does not.

I’ve tried several different shader bases in Maya (Phong, blinn, standard surface) and the results are the same.

I’m not sure why this functionality was not added to the new pipeline.

I will try to present it in a different way.

UE does not look for the parameters on your custom material anymore. So you cannot plug the base color into any random parameter. What it is going to do is, if there is a parameter called “DiffuseColor” then it will overwrite it with the diffuse color from the FBX, else it will not overwrite.

The UI to overwrite material properties is gone in 5.5 and is not coming back. If you want exactly the same behaviour you will have to write a custom pipeline, most likely in C++.

What 5.5 offers you is:

  • If you import as material, it will create a material from scratch
  • If you import as a material instance, without specifying a parent material, it will pick one of the predefined materials /All/EngineData/Plugins/InterchangeAssets/Materials/ (Phong or Lambert or…) and fill those predefined material with the properties that are stored in your FBX file.
    So in 5.5 Epic provided predefined materials representing how a Phong shader or Lambert shader should be written in UE so users do not have to do it, and the import process will instance them for each material in FBX with the respective properties.
  • If you do not like the shader selected for you by UE, and you really want to apply your custom material, then edit your custom master material. For instance “EmissColor” should be “EmissiveColor”. Then on import you will get instance material of your master material and the Emissive Color plugged into the “EmissiveColor” property of your material.
1 Like

Thank you for the clarification