You're blocking ads, which pay for BlenderNation. Read about other ways to support us.




Yes! *FINALLY* somebody has written a decent material library manager for Blender. Awesome. Now all we need is a connection to an on-line materials repository :)

tinangel writes:


ShaderTools is a Material Library for Blender and includes more than four hundred and fifty materials. It uses an SQLite database to save and import materials.

You can export your material and to share easily.

It is currently a beta release but you can without problem use the material list includes to use them in your projects.



    • Valentin Kovalenko on

      same question! I can't understand the language of the page with plugin
      Can somebody describe in english how to download and use the plugin?

  1. wow this is fantastic! 

    I think the lack of material presets as a starting point has been a major stumbling block for people adopting blender.  I can't wait to use this and stop rebuilding materials every time I start a new project.

    thanks for your work!!!!

    • If it was anything other than "it look's' like for hackers", it would not really fit in with Blender current UI philosophy. 

      • I don't agree. New blender UI is quite intuitive and gets better every day.. would be good if people who make addons would think about user friendlines as well.

  2. This is so COOL! Just when 2.61 was released, I asked myself: Can there be anything exciting developments in the next month? Well, Blender community never fails to surprise! 

  3. Holy. Monkey. Stank.

    This is freaking awesome and more than a little useful!! I really REALLY can't wait to really dig into these .. what, 400 or so materials? AMAZING!
    Christmas time is here! 

    • Ditto, on my Ubuntu there are problems with paths.
      At the beginning I was figting  with no configuration file (creatde empty one), next I've
      redirected script by brutal force to /lang/en_US which was not found, but my invention
      had died within the GUI and the database location.

      Connexion.execute("SELECT Mat_Index, Ren_Preview_Object FROM RENDER")
      sqlite3.OperationalError: no such table: RENDER




  4. This is a fantastic addition!  Every little bit helps, and with this and b-mesh and cycles in the trunk, we are fast closing in on the time when we will be able to fend off the usual scoffing we get from competitors when we point out that Blender is the best 3D ever made!

        • ok, i got this in console mode:

          Traceback (most recent call last):
            File "/home/alexander/blender/blender-2.61-linux-glibc27-i686/2.61/scripts/modules/", line 259, in enable
              mod = __import__(module_name)
            File "/home/alexander/.blender/2.61/scripts/addons/shader_tools/", line 232, in
              config = open(AppPath + "config",'w')
          IOError: [Errno 2] No such file or directory: '/home/alexander/blender/blender-2.61-linux-glibc27-i686/2.61/scripts/addons/shader_tools/config'

          • He don't found config file in add-on folder and he can't create a new config file. I looking for this error in ubuntu. It's a strange error.

          • Hey, diud you found already what causing this error? Bacause i have the same problem:
            Traceback (most recent call last):  File "/usr/share/blender/2.62/scripts/modules/", line 259, in enable    mod = __import__(module_name)  File "/home/XXX/.blender/2.62/scripts/addons/shader_tools/", line 122, in     config = open(ConfigPath,'w')IOError: [Errno 2] No such file or directory: '/usr/share/blender/2.62/scripts/addons/shader_tools/config' ubuntu 11.10 64bit, blender installed via ppa irie

  5. Hi all,I create this Add-on with Blender Clan Community.It's an Béta version.There are still certain errors which I am correcting in particular for the users Windows 7 x64. I'm French I tried as well as possible to adapt it for the other languages. Thank you for your comprehensions.Web Link -->

    • I forgot to specify that currently you must launch blender in mode comforts to activate the add one in the menu. I use the console to correct the errors you can look at the videos of the site to see how to activate it on the three OS.

    • Thank you for working on this script.  I have windows 7 64 bit.  I can see the script in my add -on's but it will not allow me to check the box to enable.  Is that the problem right now that is occurring with Windows 7 64 bit?  Just curious to see if any Windows 7 64 bit users has gotten this to work properly?

  6. It is exactly this problem under Seven. You see the add-on without being able to activate it. I am installing a version of Windows Seven 64bits (I was on a 32bits). I think that it is a problem of formatting but I must check.

    I keep you informed as soon as it is done

    : -)

    • Thanks for the quick reply, I am looking forward to trying it out.  I noticed that on one of the videos, you see that cycles render is picked in your settings, but does this currently work with cycles or only blender internal?

      • You can use Blender Internal, Cycles, PovRay and I think it's compatible with Yafray. (the last version of Yafray Mac need python 2.5 and I'm in Python 3.2.)


  7. I follow all the instructions and its not working, in 2.61 , I try to install both releases the and the . I try to install it manually by putting the addon folder in the right path, and using the install addon in the preferences panel inside blender. Not working. Windows 7 64 bits.

  8. I think unless you are French, German or American you won't enable this addon. Tough luck.

    I can't run it either. (something about system locale language, I try to look into it.)

    • wow really?I've been having the same problems as mentioned above but the solutions don't work. I'm from belgium (just to acknowledge the system locale theory).Anyone know how to create those lang files yourself?

      • Bonjour, 

        Si tu es Belge la version actuelle est une version béta. Je l'ai tester sur un environnement français/anglais et un test Allemand.

        Je ne connais pas le type de clavier utilisé en Belgique par exemple en france ce sera 'fr_FR' en angleterre/americain ce sera "en_US". Dans ton répertoire lang qui est dans le shader_tools tu peux prendre le fr_FR ou le en_US et le remplacer par ce que tu as comme message d'erreur dans la console.

        J'ai eu un italien qui c'est retrouver avec une erreur du type "/lang/it_IT" admettons si tu es en belgique et tu devrait avoir un truc de se type là "be_BE". Tu prends un des fichier de lang dans le dossier "lang" du shader tools et tu le renomme  en be_BE si c'est bien ça.

        Les fichiers ne sont que des fichiers texte que tu peux modifier à la main si tu le désire.

        Par contre si c'est qu'un problème de type de clavier tu pourrais me dire si c'est bien le type "be_BE" s'il te plait que je l'implemente pour les prochaines versions.

        Merci d'avance.

    • You can create your propers langages. Open "lang" folder and copy for example "en_US" and modify contains. Or you can just rename "en_US" with your keyboard locale type for example ('it_IT' for Italie). 

  9. I've been wanting to do something like this myself, but I'm no coder....this is awesome, I've been hoping for something like this for a while now.

  10. Below the error i'm getting trying to enable plugin on a Windows 7 x64 system... (running as administrator or using XP/Vista compatiblity mode does not help)

    found bundled python: C:Program FilesBlender FoundationBlender2.61python
    Traceback (most recent call last):
      File "C:Program FilesBlender", line 259, in enable
        mod = __import__(module_name)
      File "C:Program FilesBlender", line 40, in
        from . import ShaderTools
      File "C:Program FilesBlender", line 8512, in
    WindowsError: [Error 5] Access is denied: 'C:\Program Files\Blender Foundation\Blender\2.61\scripts\addons\shader_tools\\\lang'

  11. I'm on XP and have the same problem, I can't click on the Enable box. This is what is written in the console:

    found bundled python: C:Program FilesBlender FoundationBlender2.61pythonTraceback (most recent call last):  File "C:Program FilesBlender", line 259, in enable    mod = __import__(module_name)  File "C:Program FilesBlender", line 1231, in     LangageValuesDict = LangageValues(langage, LangageValuesDict)  File "C:Program FilesBlender", line 374, in LangageValues    for readValue in langageFile:  File "C:Program FilesBlender", line 23, in decode    return codecs.charmap_decode(input,self.errors,decoding_table)[0]UnicodeDecodeError: 'charmap' codec can't decode byte 0x9c in position 2915: character maps to good luck and thanks for your hard work!

  12. Hi,

    I have update add-on for Win7 x64bits users.

    The "en_US" file in "lang" wasn't correctly formatting (he was in UTF-8 and not in ASCII mode). 

    Cloudsquall88 : I think that it was the same error :-)

    Thanks for your comments.

    Note: Now I looking for resolve Ubuntu problems :-)

  13. Lawrence D’Oliveiro on

    Just a note that your downloads have a bunch of OS X cruft included in them: “_MACOSX” directories, “.DS_Store’ and “” files, that kind of thing. Oh, and you can leave off the __pycache__ subdirectories as well.

    Have you thought of putting the source on a repo site like GitHub?

  14. Lawrence D’Oliveiro on

    Quicker way of splitting the version components:

    majorVersion, minorVersion, subVersion =

    Saves a couple dozen lines of code. :)

  15. Lawrence D’Oliveiro on

    Another tip: I believe Python allows you to use “/” instead of “\” as the path separator on Windows, just like on *nix—less confusing that way, you can remove a whole lot of tedious special-case tests, and you can avoid mistakes like where you forgot to double the backslash on line 132 (luckily harmless in this case).

  16. Lawrence D’Oliveiro on

    After going to the trouble of defining majorVersion, minorVersion and subVersion above, you end up referrencing the components of directly anyway.

  17. Lawrence D’Oliveiro on

    History file handling: you can avoid duplicating the code that does the loading of the history file. Also removing the “history=” prefix should not be done with ‘replace”, which will remove all occurrences in the string.

  18. Thanks, ^^ testing some of your materials now. Really good.
    Works for me ^^. Any plans adapting this for Cycles as well?
    This is how I do it if it helps
    1st. Install the add-on on the add-on list in the preference window. (Install Add-on then I point it to the .zip)
    2nd: extract the shader_tools folder to the add-ons folder inside Blender 2.61

  19. Lawrence D’Oliveiro on

    Don’t do “select *” and expect the fields to be returned in a particular order. Explicitly specify the field names you want, in the order you want, instead. This is less fragile against changes to the database schema.

    • Thanks for your comments,

      I add new values at last position in my database schema. This method makes it possible not to change the basic structure.

      You are right however :-) .

  20. Hi,

    Finally I include langages files into script. Errors of encodings will be avoided.

    I have include US/English - French - Deutch but if your langages is not found the script use US/English.

    I have testing on OSX Lion, Win 7 32b (French & English), Win 7 x64b (English & French), Ubuntu 32b (English & French).

    I must to install a 64bits version of Ubuntu in my computer.


  21. Lawrence D’Oliveiro on

    Instead of e.g.



    how about

    MY_EXPORT_INFORMATIONS.extend([line1, line2] line3])

    • Lawrence D’Oliveiro on

      Sorry, let me try again

      Instead of e.g.


      how about

      MY_EXPORT_INFORMATIONS.extend([line1, line2, line3])

  22. Lawrence D’Oliveiro on

    "SELECT Mat_Index FROM MATERIALS WHERE Mat_Index = (select max(Mat_Index) from MATERIALS)"

    can be just shortened to

    "select max(Mat_Index) from MATERIALS"

    and similarly for the others.

  23. Lawrence D’Oliveiro on

    Instead of


    how about

    row.label(text = 498 * "-")

  24. Merci , for this great extension to Blender.
    This is a very important step for Blender to be more user friendly.
    Amazing 450 shaders.

    Works on my computer WIn7 64. Blender 2.61.

    Merci again and good work !

  25. Lawrence D’Oliveiro on

    You seem to be trying to create files in the first element of bpy.utils.script_paths(), which is a system area not writable by ordinary users. Put them in bpy.utils.user_resource("SCRIPTS") instead.

  26. Je vous complimente, monsieur.  Votre programme est très utile.
    En outre, vos vidéos d'instructions sont claires et compréhensibles… même pour un pauvre flamand comme mois (mon Français est très faible).

  27. Translation:

    My compliments to you, sir.  Your program is very useful.

    In addition, your instruction videos are concise and very understandable... even for a poor Flemish fellow like me (my French is very weak).

  28. Hi,

    Ignatz : thanks you.
    Lawrence D’Oliveiro : thanks for all your corrections in the source code. I'm currently creating new sections in the shadertools 
    site for coders.

    I am creating a page for coders and other for evolution project 

    I make this at my time of free and if persons want to give help without being coders you can help the Blender community translating program in your native langage. You can use this link for more details -->

    The persons having a German version then which would like to have an English version or French version you can download the new update. I correct errors. 

    you can if you like it to make claim of on this page -->

    I will not lie to you by saying to you that I not this fact not in all its reactions. Thanks to all. I am going to do my best to move forward this plan. By hoping that this can help the community to blender. :-) 

  29. Very much want to use your addon!  Having trouble installing on OSX 10.58.  Have seen it in Addons; but will not allow check to enable.  Download location for latest/working English version?  Thank you in advance.

  30. Does anyone have a vid on how to install this?

    Im terrible with plugins.   I just check em off in preferences addons,  and hope for the best


    • I Susie,

      If you are in Mac/Linux (load blender in console mode)
      Copy shader_tools folder in Blender add-on folder
      Lauch Blender.
      Open User Preferences
      Go to Add-on / System
      Clic to "Install Add-on"
      Select "" in shader_tools folder
      Check box for activate add-on
      Clic "Save as Default" button

      Go to Material Properties  
      Clic "Open..." (in English version)
      A windows appeared (it's a Bookmarks update)
      Close and reload Blender
      Clic "Open..." 
      Select "Materials Database" bookmarks and select your material :-)

      I hope this explains are help you.


  31. I am a blender newbie on a Mac. Initially I had  some difficultly until I actually read over Tinangels instructions. They worked. Great add-on. Thanks Tinangel for making Blender more usable for us beginners.
    This is what I did- hope it helps. Sorry for basic step by step drill instructions but I am new to all this
    Downloaded file and saved initially to desktop
    Found Blender 2.61 release on my mac (applications) right clicked blender icon and then double clicked "show package contents". A new finder window opened. Opened folders/contents/mac os/2.61/scripts- you should see now the add-on folder. Copied the downloaded folder to add-ons - ensuring the folder is then shown not just the py file. 
    I then opened Blender, file/user preferences/disabled and addon shown and was able to be ticked. Saved user preferences
    I closed blender, reopened (used blender render not cycles) and then with object selected goto materials and chose Material defined. Choose open and then on left hand side - bookmark section on Blender screen selected blender database. 
    note 3rd icon to right of "Create new directory" is the visual panels of the materials available for selection

    Again thanks Tinangel.

    • Thanks Kathy Mark that really simplified things. But, I am having a problem saving textures, are there any settings I need to change so I can save out my own textures?

  32.   File "C:Program FilesBlender", line 201, in     val = KeyboardLanguage.readline().rstrip("n")  File "C:Program FilesBlender",line 300, in decode    (result, consumed) = self._buffer_decode(data, self.errors, final)UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 3131: invalid start byte

    win7, 64bit

  33. Hi trsh,

    Please download current version (0.8.1).

    I think you have download Developer Version. 

    You can use this link --> and click on "Version actuelle 0.8.1"(in french) or "Current Version 0.8.1" if you use Google Translate. :-)

    Or you can use this link too --> (it's the first link).

    I hope this version correct your problems.


  34. Hello!

    I installed the add-on and it seems to work but then i have imported an material and render the material isn't applied to the object how come?

    Kind regards

  35. great addon ! :)...but I'm having the same prob as inkoqnito....''' installed the add-on and it seems to work but then i have imported an material and render the material isn't applied to the object how come?'''

  36. regarding my last comment/?..''the material isn't applied to the object how come?''...resolved....when I select 'assign' in the mat panel, then it renders just fine

  37. I'm on the Mac running 10.7.3, I love to use this add-on but I can't click on the check box (because it's greyed out) even after I went throughout instructions. Can someone help me out please I would seriously appreciate it. :)

Leave A Reply

To add a profile picture to your message, register your email address with To protect your email address, create an account on BlenderNation and log in when posting a message.