# Export custom ShaderMaterial as material for blender

**URL:** <https://discourse.threejs.org/t/export-custom-shadermaterial-as-material-for-blender/7707>\
**Category:** Questions\
**Tags:** obj-format, blender, materials, shaders\
**Created:** [May 23, 2019, 12:36pm UTC](https://discourse.threejs.org/t/export-custom-shadermaterial-as-material-for-blender/7707 "2019-05-23T12:36:59Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![compmonks](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/compmonks/32/5684_2.png) [@compmonks](https://discourse.threejs.org/u/compmonks)\
**Post date:** [May 23, 2019, 12:36pm UTC](https://discourse.threejs.org/t/export-custom-shadermaterial-as-material-for-blender/7707/1 "2019-05-23T12:36:59Z")

</div>

I am currently using THREE.OBJExporter() to export meshes with their materials in the obj format. But I also have several custom material shaders that I would like to use as well mostly to import in Blender. Is there a way to directly export the instance of a ShaderMaterial in a mtl file like the OBJExporter ? Should the shader be reproduced in Blender?

Thanks

---

<div class="post-metadata">

**Author:** ![Mugen87](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/mugen87/32/5645_2.png) [@Mugen87](https://discourse.threejs.org/u/Mugen87)\
**Post date:** [May 23, 2019, 1:12pm UTC](https://discourse.threejs.org/t/export-custom-shadermaterial-as-material-for-blender/7707/2 "2019-05-23T13:12:00Z")

</div>

> [@compmonks](#):
>
> I am currently using THREE.OBJExporter() to export meshes with their materials in the obj format.

`THREE.OBJExporter` does not support materials. But `GLTFLoader` does. Is there a special reason for still using `OBJ`? `glTF` is the more modern standard and actually the recommended 3D format of `three.js`. You can import and export glTF with the latest Blender version.

[https://threejs.org/docs/index.html#manual/en/introduction/Loading-3D-models](https://threejs.org/docs/index.html#manual/en/introduction/Loading-3D-models)

Exporting `ShaderMaterial` to any kind of 3D standard will not be supported since this type of material represents custom shaders. There is no guarantee that your (arbitrary) material can be converted to the material definitions of a 3D format.

---

<div class="post-metadata">

**Author:** ![compmonks](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/compmonks/32/5684_2.png) [@compmonks](https://discourse.threejs.org/u/compmonks)\
**Post date:** [May 23, 2019, 9:54pm UTC](https://discourse.threejs.org/t/export-custom-shadermaterial-as-material-for-blender/7707/3 "2019-05-23T21:54:59Z")

</div>

Is there any example,tutorial,reference on how to code for and export a ShaderMaterial to a material?  
If so, I could probably improve these shaders.  
For example, would it be possible to save a shader as a texture and export it with the mesh?
