PBR Support for the Unified Smart Mesh Importer Beta

Today, if you want to import a mesh with a SurfaceAppearance (PBR textures), you have to first import the mesh, then import the individual images, then create a SurfaceAppearance, then manually assign asset IDs, and finally your mesh looks right.

We’ve added native PBR support to the Unified Mesh Importer, which lets you import a mesh with SurfaceAppearance at the same time in a single step. There’s even a live preview so that you can ensure your mesh looks great before you click Import.

To ensure our importer can read SurfaceAppearance information from your FBX files, you need to setup shaders properly in Blender, Maya, or whatever DCC tool you’re using to create your meshes.

How to set up the shaders properly in common tools:


To take advantage of importing PBRs in blender make sure you’re using a principled BSDF material.

Then in the shading tab, hook up your image texture nodes for Base Color, Metallic, and Roughness directly into the correlating BSDF slots.

A normal texture can be applied similarly but with the catch that the image texture node must be routed through a normal map node before being sent to the BSDF shader.

Finally just export your scene as an FBX as normal and you should see your new textures when you import with the new mesh importer!


Supported Shaders**:

  • Standard
  • AI Standard


  • Open up the Hypershade by clicking on the Button here:

  • Under “Create Window”, navigate to Maya>Surface and click on and select “Standard Surface:”

  • You will also need to navigate to Maya>Utilities and click on and select “ Bump 2d” to plug your normal map into:

  • The Material will appear in your “Graph Network” . Drag and drop your PBR textures to the Graph and hook up accordingly. Make sure your “Bump2d” is set to use as “Tangent Space Normals” and your Normal Texture to Color Space “Raw:”

  • Select your model and navigate to your Browser Window to the Materials tab and right click on your Material and “Assign Material To Selection:”

  • Export model using your desired setting and “FBX File Format” as “ASCII FBX 2020” or “Binary FBX 2020:”

3DS Max

Supported Shaders**:

  • PBR Surface


  • Open up the Material Editor by clicking on the Button here or using the hotkey “M:”

  • Under Materials>General, Double click and select “PBR Material (Metal/Rough):”

  • The Material will appear in “View1”. Drag and drop your PBR textures to the correct slots under the “Material Parameters:”

  • Select your model and Right Click on your Material and “Assign Material To Selection:”

  • Export model using your desired setting and “FBX File Format” as “ASCII FBX 2020” or “Binary FBX 2020:”

Note that if you don’t have PBR textures, we will continue to import your textures as we did before and not create a SurfaceAppearance object automatically.

We hope you all try this new feature and have a more seamless experience with importing your assets into Studio. We’ll continue to work on improvements, fixes, and additional features to make your workflow even easier. Happy importing!

Finally, we’d like to thank the engineers that built this! @tasavix @OriginalSleepyHead

And an additional thank you to everyone else who helped make this feature a reality! @MisoPonyo, @CurbM0nkey, and the many others who helped us test.

**Currently surface appearances will only work with full model uploads. I.e. with the “Import as model” option checked. Uploading them as individual meshes will upload the mesh part alone.

***These represent the material flows we’ve tested and ensured work. It’s possible that other shader combinations might work, but we currently don’t formally support them.

Update May 30, 2022


This topic was automatically opened after 10 minutes.

This is nice! trying it right now, it will help me a lot.


Cannot express how much time this will save artists trying to import surface appearance materials into assets on studio. Thank you so much Roblox.


amazing update.

Lowers the time I have to import the textures.

Thanks roblox.

plz revert audio update now plz


They will not. ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ


And yet we are still incapable of using multiple diffuse textures on one mesh without having to go through the grueling process known as UV-mapping.

1 Like

Good Update, is anyone else getting a bug with the importer though, where it extremely simplified your mesh as an fbx, but is normal as an obj?

1 Like

Wow, this will save so much time! My current project relies heavy on PBR textures. Not only did I have to make custom textures but also import them one by one…Atleast with this I will skip one of the steps !

Hopefully with this we can avoid getting random warnings when uploading textures

1 Like

This came at a perfect time we were working on figuring out how to get our PBR textures to look right now it will work properly, hopefully

Could we expect 2K resolution textures or higher following changes like this, perhaps later down the line? This is a massive improvement to the mesh workflow, and 2K textures are the next big thing we are currently missing.


Thank you! Now if you’ll add the ability to change the directory we use for our textures, I’ll have no more complaints for mesh editing. I want to use SketchFab meshes, but the importer doesn’t let me change the directory it uses to get textures, an issue if I don’t have the exact same folder setup as the creator. It can’t even account for username differences! (e.g. the importer can’t tell that there should be no difference between C:/Users/CreatorUsername/some/directory/setup and C:/Users/MyDifferentUsername/some/directory/setup.) Some .fbx files there aren’t set up with textures, so could we expect specifying textures in-importer?

Yeah for now we have to split meshes to get better UV maps its messed up We need 4K tbh

I’m not sure if I entirely understand the way you’re wording this. A mesh part always uses a single map and you should always uv map for a clean model look. What I think you’re referring to is UDIMs, which isn’t a workflow usually used in game development. However, if you’re meaning you can’t use different texture files for each mesh in a model, then that is an issue

This is definitely something we’d like to improve in the future. At the very least we would like to allow you to change the file path in settings.

This is exactly what we needed! Importing should be a breeze now with this plugin.

Does this also support rig imports? Or do we still need to import and create seperate surface appearances for those?

Yes! The surface appearance will be created for rigged meshes as well.

Lovely! I never used PBR yet but I’m starting to see how it works and trying it out. :smiling_face_with_three_hearts:

fantastic! I was just thinking of this a few days ago