Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Bug Unity's Material Import Module is a Mess!

Discussion in 'Editor & General Support' started by mfatihbarut, Nov 22, 2022.

  1. mfatihbarut

    mfatihbarut

    Joined:
    Apr 11, 2018
    Posts:
    1,059
    Hi,
    After 5 years of intense Unity, I realized that even though I made myself accept the situation I hate my models look gray after I import them.
    Please do something about it.
    Unity does not import materials of the models (any kind fbx dae obj blend) none of them works correctly and those cause frustration, lots of unnecessary jobs, waste of time, etc. etc.
    thanks.
    Edit: Probably another big issue is Sketchfab's folder hierarchy. Unity likes to have textures file with fbx but Sketchfab's default is .fbx under /source folder and textures under /textures folder. We (as indies) heavily use sketchfab therefore it would be very nice if you make Unity check textures under "parent folder"
     
    Last edited: Nov 22, 2022
  2. spiney199

    spiney199

    Joined:
    Feb 11, 2021
    Posts:
    7,609
    The way materials work in heavy weight 3d programs like Blender and 3dMax are wholly incompatible with how Unity as game engine works.

    It'll always be the case that we have to make materials in Unity ourselves.
     
    Kurt-Dekker and arkano22 like this.
  3. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,891
    That's the case with all 3D software, nothing can be done about it.

    You have to understand that the materials used in 3D modeling/animation software (Blender, Maya, Modo, Sketchfab, etc) have absolutely *nothing* in common with each other, and certainly not with the materials used in realtime engines. So you can't take a material from Blender and import it into Maya, or a material from Modo and import it into Sketchfab, for instance.

    At most, you will be able to import the textures you use, and if you're following a PBR (physically-based rendering) workflow, these will result in reasonably similar results when you apply them to a PBR material in Unity, Unreal, Blender, Marmoset or any software that supports PBR. This is what Unity's material import system attempts to do in order to save you a bit of work: create materials and assign textures to them, if possible. Even then, you will often have to swap/reaccomodate channels in your textures because of the way these programs expect info to be laid out in them.

    There's just no magic "import my materials" button between 3D applications, because unlike meshes and textures, materials are unique to the software using them, and tied to the render pipeline/system used. It's like asking Notepad to import .mp3 files.
     
    Last edited: Nov 22, 2022