Search Unity

Survey: Material Import Default for Unity

Discussion in 'Asset Importing & Exporting' started by willgoldstone, Jul 31, 2013.

?

What should the default for 'Material Naming' be in the FBX Importer?

  1. 'From Base Texture' (current)

    16.7%
  2. 'From Model's Material'

    83.3%
  1. willgoldstone

    willgoldstone

    Unity Technologies

    Joined:
    Oct 2, 2006
    Posts:
    794
    Hi guys, just looking to grab a consensus on what the Material Naming part of the FBX importer should default to.

    Currently its set to From Texture, which, for many artists means importing a model, switching to 'From Model's Material' and deleting the auto generated material that has the texture's name on.

    Please make your preference known in the attached Poll, and add any comments to the thread!

    Cheers

    Will
     
  2. Wahooney

    Wahooney

    Joined:
    Mar 8, 2010
    Posts:
    281
    I'd love to see an additional option where one can assign default materials manually to the importer, like the default options in Scripts and Shaders.

    Not sure how, or even if this is possible, but it would be fantastic.

    Neither of the poll options actually work flawlessly in my studio's work flow (I still voted for Material Names though ;) ), so we have a asset preprocessor script that just turns material generation off completely! If we leave the import option on, invariably we have masses of unused auto generated materials that are never used by anything, which makes commits to our repository very messy.

    My 2 cents :)
     
  3. TrialByFun

    TrialByFun

    Joined:
    Jun 23, 2009
    Posts:
    97
    Echoing Wahooney's statement

    Material name is the more useful default for us, but we're also overriding the import process to avoid the material spam situation.

    We have an asset pre-processor to step in before a material is actually created and saved, with a user prompt to create the material.
    If you click no it assigns a default "Missing Material" to the object.

    Mainly this is to encourage naming conventions ( used in our atlasing ) and also to maintain clean source files as well as keep a handle on how many materials are created unnecessarily.
     
  4. NicholasFrancis

    NicholasFrancis

    Joined:
    Apr 8, 2005
    Posts:
    1,587
    Would prefer current as that way I can just assign my texture in the 3d app and it just works.

    Having to name materials in ever small model file for a piece a background art would be a waste of time. If I set up one thing I.r.t the material/texture, that is to assign the main texture so I can UV map it
     
  5. K-JBrothers

    K-JBrothers

    Joined:
    Feb 27, 2013
    Posts:
    43
    Material Naming would be best, because most of my textures has _diffuse, _normal and other suffixes, and I have to ALWAYS change this to material naming, remove created crap and reimport. It drives me nuts! Thanks for the pool!
     
  6. dzodzu

    dzodzu

    Joined:
    Nov 25, 2012
    Posts:
    46
    +1
     
  7. Cygon4

    Cygon4

    Joined:
    Sep 17, 2012
    Posts:
    382
    About a year ago, I started thinking "From Model's Material" would be best and changed all my model import settings accordingly.

    But this caused more problems that it solved for me:

    - In models, I usually want to name materials conveniently. For example, just "wood" or "leaves" if the model uses just one type of wood or leaf. Thus, a set of 4 different trees would all have colliding material names

    - If I tried to use globally unique material names: "CherryBark," "AppleBark," "OakBark," I would not notice any accidental collisions. Unity would just silently reuse the existing material and my modeling tool would not show it either. Having a texture name collision immediately shows because I would be asked whether I want to overwrite the file when I copy the assets together.

    I'm now thinking of switching everything back to "From Base Texture" :)

    Maybe a project-wide default for new assets would be best. When you decide on a non-standard setting anywhere, you currently have to go through all models in a project and click the same boxes over and over...
     
  8. RvBGames

    RvBGames

    Joined:
    Oct 22, 2013
    Posts:
    141
    That sucks. . .I lost what I was typing. I'll try to be brief this time.

    I should mention that I may not know the particulars of Unity well enough at this time to provide useful feedback to the original questions. However, I have a few comments that I'd like to make:

    1. I like to name my materials.

    2. Unity keeps creating materials even after I delete them, and recreate and reassign it to the different objects.

    3. A structured system is always better.

    I understand the point of trying to prevent duplicate materials/textures/shaders from being uploaded to the graphics card or consuming system resources, but I prefer the responsibility to be on the developers/artists. Maybe I'm missing what's being stated here, but I'd rather have a tool that notes where the same texture names/materials are being used instead of something that is trying to maintain a global space.
     
  9. Rodolfo-Rubens

    Rodolfo-Rubens

    Joined:
    Nov 17, 2012
    Posts:
    1,197
    I think that should be in the preferences! Because every single model I save I'll need to change, and the materials will be generated anyway, I want to use "From Model's Material" and "Project-Wide"!
     
  10. Pix10

    Pix10

    Joined:
    Jul 21, 2012
    Posts:
    850
    Houdini has a nice feature, where you can right-click on an attribute and select "Set as Default".

    It would be real nice if we could do this in Unity with importer options.

    However, artists need to be forcibly educated that materials SHOULD BE NAMED.

    There is nothing in the universe worse, when working with other people, than receiving a max or maya file with a hundred materials called Map #1, Map #2, Map #231...etc...



    So Option 2. :)
     
  11. AlexIsmere

    AlexIsmere

    Joined:
    Jun 1, 2014
    Posts:
    5
    I create stuff with the model name and Mat at the end and import right, fbx always goes with the characteristics of maya 2014, and with the texture in Unity 4.5.1f3 free
     
  12. Deleted User

    Deleted User

    Guest

    If I select "from Model´s Material" I still get the naming from the base texture"

    this is ridiculous
     
  13. Pix10

    Pix10

    Joined:
    Jul 21, 2012
    Posts:
    850
    Something that's been nagging me the past couple days, is having multiple types of imported object which all have different requirements for import settings.

    What I think would be a most elegant solution, is to have the folder that the models/data are being imported to, contain the default/override settings, which apply to everything inside that folder. Subfolders inherit the parent folder's settings, but can have their own local overrides on top of this.

    Because folders can contain anything, and you need a way to identify the contents of the folder to map settings to, perhaps the ability to add a new type of component to folders would be useful. This way we could have a Sprite Settings Override component, an FBX Settings Override component, an Audio override component, and so forth.
     
  14. glennnn

    glennnn

    Joined:
    Sep 26, 2013
    Posts:
    10
    This still is an annoying option that needs addressing.
    We can write a script that will effect all new fbx imported to adopt the "materialNaming" to from Models Material
    But if the project is reimported this will effect all existing assets. Meaning its most likely a lot of assets would need to be re exported from 3dsmax
    What would be great is if there was an option in project settings that allowed to switch this to default across whole project.
     
  15. westsidazrhidaz

    westsidazrhidaz

    Joined:
    Mar 9, 2011
    Posts:
    4
    whats the status of this? is there a preference option somewhere?
     
  16. pwalters

    pwalters

    Joined:
    Oct 1, 2016
    Posts:
    3
    Is this still being considered now that this thread is nearly 4 years old? Every time I bring in a new fbx I have to change it to import by material name, then go through and delete all the incorrect material names.
     
  17. the_motionblur

    the_motionblur

    Joined:
    Mar 4, 2008
    Posts:
    1,774
    *coincidetial bump* and also paging @willgoldstone
    Yes I was just wondering the same thing.
    Even better than the standard being one or the other - could Unity please have a default setting for import naming conventions of new items?
    A good example for me would be Allegorithmic with their export settings. Give us the option to set the convention ourselves. Maybe even in a dedicated folder that is not just based upon a recursive search (always search textures here [folder] - always create new materials here [folder])
     
    Last edited: Apr 10, 2017
    Anjin_nz likes this.