How to use GameTextures in ANY engine! (Updated with tools for UE4 and Unity5!)

Finally.

The days of setting up crazy material networks in UE4 just to use our materials is over. Finally. This week we’re happy to release a quick little tool we built inside of Substance Designer which will allow you to easily, and rapidly convert our Specular / Roughness workflow textures in to the Metalness Workflow used by Unity 5.0 and Unreal Engine 4.0.

It was our goal with this project to build something that YOU could use to very simply get our textures working in Unreal Engine or Unity 5.0. Usage is incredibly simple. In most cases, you should be able to convert a material in under thirty seconds.

All you need to do is follow along with the simple video below. Load in your textures by clicking the “Input – Start Here” tab. In this, you will need to import your Albedo, Specular, Gloss, Height, Normal, AO, and MASK map.

If your material is not a metal, that’s all you’ll have to do. Pick your resolution, click Export, pick your directory, and untick “Albedo Reference”, and press Ok.

If you’re building a metal texture, you need to open the “Metalness” tab, and pick which color channels control the metalness in the “mask” file. In most cases this will be pretty obvious. If you’re still not getting the results you want, we have included a color picker option which will allow you to pick any color from your Albedo texture, and generate an additional mask from it. Hit export, select your directory, and press OK. That’s pretty much it!

We hope this helps, and hit the comments if you need any help!

Unity 5x Tutorial

(double click for full screen)

Unreal 4x Tutorial

(double click for full screen)

54 Comments on “How to use GameTextures in ANY engine! (Updated with tools for UE4 and Unity5!)”

  1. Paul Gordon

    Hey guys (and gals?) this works very well! Thank you so much. It really simplifies our workflow!

  2. Jeremy Jones

    This is just amazing this will help out so much since I have to re-import the textures I did due to a hardware failure. This tool will save a ton of time for me and the rest of the team. Thanks for the awesome tool and tutorial man!

    Jeremy
    Owner and Founder of NeoSpawn Games

  3. GMC

    I have a quick question: isn’t there supposed to be a Spec Map when exporting, or am I missing something? Altogether a great
    program though, especially with the gloss and metal maps (very cool)!

    1. Tanner

      Hi GMC,

      Thanks for your question, and nope! In the Metalness Workflow the Base Color image also contains the specular color. This action is merging the two together based on the mask created by the metalness mask. Where there is “metal” the action blends the specular map on top.

      The rest of the specularity is controlled by simply modifying the roughness slider either in this little tool, or inside of your engine of choice.

      Let me know if that makes sense!

      1. GMC

        OK, that makes sense, but do you know if there is a way to separate them (or something of the sorts) since UE4 has a separate input for specularity and (unless I’m wrong) using that input is better than having the spec in the base color?

        Or is there a way to not put the spec in the base and I can just use the regular specular texture (unless keeping it in the base color is better) and if I do keep it in the base, but still use the spec input, would that mess up the specularity?

        Thanks for responding so quickly though!

  4. Whitson

    Does this work with all of your textures? And is this all I need to do in order to make them work in UE4 and Unity 5? Thanks a ton, if so this will save us a load of time on converting.

  5. Don Gray

    I really appreciate the work you’ve done on this to make it easier to do this, thanks!
    One request, how possible is it to automate this further by having Substance Designer import the proper maps into the proper slots.
    With hundreds of textures it would be helpful. I don’t code.

    Thanks!

    1. Tanner

      Hey Don,

      We’ll look in to it. Perhaps there is some sort of batching or a little python utility which could handle this using the batching tools for substance.

    2. Tanner

      Hey Don- We updated the tool to have a standalone version which automatically adds the inputs into the correct channels for Unity to use. There are some new tutorials up there as well. We’re looking at a batch tool right now which might help you batch out hundreds of materials at a time, but that will take some time to investigate.

  6. Raphael

    Thanks for this, but how about at least moving forward your material are compliant with the metalness workflow to start with? Unity 5 and UE4 is most likely what most of your user go for anyway, no?

    1. Tanner

      We’re working on it, unfortunately this is much easier said than done, however this tool really will speed up that process on our end!

    1. Tanner

      We’re using the UE4 system. In this tool there is a slider which lets you very easily tweak the roughness as well, so that way you can make it look just perfect for whichever engine you’re using.

    1. Arvin

      Bmike!!! What’s up man! I keep telling Josh you guys should send us a texture request or something! Your game’s looking awesome btw. Showed Tanner the other day! We’re all excited about it!

  7. cafe

    Hey, I noticed in the UE4 tutorial that you exported the height map but then didn’t use it in the UE4 material. Was that a mistake? How can I use the height map in UE4?

  8. Jeremy Jones

    Once again I am blown away with the quality of the textures and the support of the Game Textures Staff. I am going to be reccamending GameTextures.com to everyone I know who does 3D art be it on a professional or hobby level. I can honestly say I have not found any other texture resource site that has been so helpful for my work as well as the work my company is doing with the Unreal Engine 4. Hands down #1 in my book when it comes to texture resources.

    Jeremy Jones
    Owner of NeoSpawn Games

  9. Todor

    Thanks for the tool:)
    I have problem importing the GT2UE4 material into UE4 version 4.7 – it doesn’t show at all! Is it only 4.8 or 4.9 ?

  10. Cynthia

    So I downloaded a Texture from GameTextures and received a file with the label of “Misc__GlassDirty_1k_p”.
    I do not know where to plug the “p” into substance player, could anyone help?

    1. Tanner

      Hi Cynthia,

      Sorry about the confusion! Just ignore the _P file for the substance player conversion tools! All the _P is, is a preview of the transparency applied to the albedo map so you can see how the transparency affects the material. It should not be used.

  11. HuntaKiller

    So this exports an RMHAO texture but has no inputs for you to connect roughness or metallic? Following the directions in the video the metallic channel is empty and the roughness needs to be inverted, so the tool is almost useless as I see it. Am I doing something wrong?

  12. Arvin

    Hey Hunta,
    Sorry for the confusion here.
    Maybe I’m misunderstanding, but here’s what I’m getting from your post. You’re looking for an input for metallic and roughness, but they don’t exist. Is that right?

    This tool is specifically for converting our textures (based on spec/gloss) and converting it into a UE4 format meaning roughness metallic via RMHAO. That being said, are you needing a tool that will package Roughness/Metallic textures to create RMHAO?

  13. HuntaKiller

    I did get a bit confused between the two (GameTextures S/G versus textures I get from my modeller based on UE4 (rough/metallic). What would be ideal is if your tool gave me the ability to choose the textures I wanted to create the RMHAO map. Currently, it does not make use of the metallic map at all (if a specular map is input, it should make use of that green channel to store the specular.

    This same tool could then also easily be used with roughness and metallic to export an RMHAO map, making it useful for GameTextures materials, and others. An option of whether we wanted to invert each individual channel the texture on export would be an amazing addition too. These minor modifications to the tool would be a great help GameTextures 🙂

  14. Rastasr

    Just tried this with the Clean Copper material, and the result isn’t good – looking more like a sandstone than copper. Openend the sbsar, input albedo, gloss, normal and specular, and used the green channel of the mask as the metalness. What else do I have to do?

    1. Tanner

      Hi there!

      Which tool are you using? UE? or Unity? Are you certain you’re using the correct shader if it’s Unity? You should be using just the Standard Shader. If it looks like sandstone, then it seems like the channel you’re using for metalness is incorrect. In fact, for the clean copper material you shouldn’t need to really use the mask at all. There is an option to ignore the mask, and just use global metalness value at one.

      Anyhow, I can help you more if you tell me which tool you’re using.

      Sorry about the delay!

  15. Robin

    I know how backwards it sounds now, but I need to have only the diffuse, specular textures. Is it possible to get such a simple output? As is, I have a workflow in photoshop that I use to combine, but I’m sure that the folks at Allegorithmic can do it better. I actually own substance live and this is an issue I face constantly.

    1. Tanner Kalstrom

      Hi Robin,

      You’re actually not the first person who has requested this – We’re developing a tool right now which will allow this to happen – stay tuned. It should be out shortly!

  16. Felipe Campos

    The GT2UE4_MaterialTemplate.uasset simply does not work in UE 4.8 or higher. I put it in the content folder but it doesn`t open when a double click on it in UE4… Is this a known bug? Thanks

    1. Tanner Kalstrom

      Hi Felipe!

      You can still load the template in to UE4 by copy/pasting the following text DIRECTLy in to the UE4 Material Editor:

      Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_0"
      Begin Object Class=MaterialExpressionTextureSampleParameter2D Name="MaterialExpressionTextureSampleParameter2D_0"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6869"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6870"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6871"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6872"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6873"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6874"
      End Object
      Begin Object Name="MaterialExpressionTextureSampleParameter2D_0"
      ParameterName="Albedo"
      ExpressionGUID=725E8A9F4A703C1A584C889EBEB76D9E
      Group="Texture Maps"
      Coordinates=(Expression=MaterialExpressionBumpOffset'MaterialGraphNode_4.MaterialExpressionBumpOffset_0')
      Texture=None
      MaterialExpressionEditorX=-768
      MaterialExpressionEditorY=-256
      MaterialExpressionGuid=B12BF0BC47476E21D608DDA13DAE88AD
      Material=PreviewMaterial'/Engine/Transient.GT2UE4_MaterialTemplate'
      End Object
      Begin Object Name="EdGraphPin_6869"
      PinName="UVs"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_4.EdGraphPin_6893'
      End Object
      Begin Object Name="EdGraphPin_6870"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_Root_0.EdGraphPin_6843'
      End Object
      Begin Object Name="EdGraphPin_6871"
      PinName="Output2"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="red")
      End Object
      Begin Object Name="EdGraphPin_6872"
      PinName="Output3"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="green")
      End Object
      Begin Object Name="EdGraphPin_6873"
      PinName="Output4"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="blue")
      End Object
      Begin Object Name="EdGraphPin_6874"
      PinName="Output5"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="alpha")
      End Object
      MaterialExpression=MaterialExpressionTextureSampleParameter2D'MaterialExpressionTextureSampleParameter2D_0'
      Pins(0)=EdGraphPin'EdGraphPin_6869'
      Pins(1)=EdGraphPin'EdGraphPin_6870'
      Pins(2)=EdGraphPin'EdGraphPin_6871'
      Pins(3)=EdGraphPin'EdGraphPin_6872'
      Pins(4)=EdGraphPin'EdGraphPin_6873'
      Pins(5)=EdGraphPin'EdGraphPin_6874'
      NodePosX=-768
      NodePosY=-256
      bHasCompilerMessage=True
      bCanRenameNode=True
      ErrorType=1
      ErrorMsg="Param2D> Requires Texture2D"
      NodeGuid=BACDC88E4EEDE6E361E16C8D09CD3CD1
      End Object
      Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_1"
      Begin Object Class=MaterialExpressionTextureSampleParameter2D Name="MaterialExpressionTextureSampleParameter2D_1"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6875"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6876"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6877"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6878"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6879"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6880"
      End Object
      Begin Object Name="MaterialExpressionTextureSampleParameter2D_1"
      ParameterName="RMHAO"
      ExpressionGUID=0C503A2D4A597246681ED49DBEFEA845
      Group="Texture Maps"
      Coordinates=(Expression=MaterialExpressionBumpOffset'MaterialGraphNode_4.MaterialExpressionBumpOffset_0')
      Texture=None
      MaterialExpressionEditorX=-768
      MaterialExpressionEditorY=256
      MaterialExpressionGuid=B12BF0BC47476E21D608DDA13DAE88AD
      Material=PreviewMaterial'/Engine/Transient.GT2UE4_MaterialTemplate'
      End Object
      Begin Object Name="EdGraphPin_6875"
      PinName="UVs"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_4.EdGraphPin_6893'
      End Object
      Begin Object Name="EdGraphPin_6876"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask")
      End Object
      Begin Object Name="EdGraphPin_6877"
      PinName="Output2"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="red")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_Root_0.EdGraphPin_6846'
      End Object
      Begin Object Name="EdGraphPin_6878"
      PinName="Output3"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="green")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_Root_0.EdGraphPin_6844'
      End Object
      Begin Object Name="EdGraphPin_6879"
      PinName="Output4"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="blue")
      End Object
      Begin Object Name="EdGraphPin_6880"
      PinName="Output5"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="alpha")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_Root_0.EdGraphPin_6857'
      End Object
      MaterialExpression=MaterialExpressionTextureSampleParameter2D'MaterialExpressionTextureSampleParameter2D_1'
      Pins(0)=EdGraphPin'EdGraphPin_6875'
      Pins(1)=EdGraphPin'EdGraphPin_6876'
      Pins(2)=EdGraphPin'EdGraphPin_6877'
      Pins(3)=EdGraphPin'EdGraphPin_6878'
      Pins(4)=EdGraphPin'EdGraphPin_6879'
      Pins(5)=EdGraphPin'EdGraphPin_6880'
      NodePosX=-768
      NodePosY=256
      bHasCompilerMessage=True
      bCanRenameNode=True
      ErrorType=1
      ErrorMsg="Param2D> Requires Texture2D"
      NodeGuid=A263EBEA4BBC53FFA901BDBF56193C6C
      End Object
      Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_2"
      Begin Object Class=MaterialExpressionTextureSampleParameter2D Name="MaterialExpressionTextureSampleParameter2D_2"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6881"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6882"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6883"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6884"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6885"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6886"
      End Object
      Begin Object Name="MaterialExpressionTextureSampleParameter2D_2"
      ParameterName="Normal"
      ExpressionGUID=1FF24DC845C01176179972A664946DB4
      Group="Texture Maps"
      Coordinates=(Expression=MaterialExpressionBumpOffset'MaterialGraphNode_4.MaterialExpressionBumpOffset_0')
      Texture=None
      SamplerType=SAMPLERTYPE_Normal
      MaterialExpressionEditorX=-768
      MaterialExpressionGuid=B12BF0BC47476E21D608DDA13DAE88AD
      Material=PreviewMaterial'/Engine/Transient.GT2UE4_MaterialTemplate'
      End Object
      Begin Object Name="EdGraphPin_6881"
      PinName="UVs"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_4.EdGraphPin_6893'
      End Object
      Begin Object Name="EdGraphPin_6882"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_Root_0.EdGraphPin_6850'
      End Object
      Begin Object Name="EdGraphPin_6883"
      PinName="Output2"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="red")
      End Object
      Begin Object Name="EdGraphPin_6884"
      PinName="Output3"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="green")
      End Object
      Begin Object Name="EdGraphPin_6885"
      PinName="Output4"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="blue")
      End Object
      Begin Object Name="EdGraphPin_6886"
      PinName="Output5"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="alpha")
      End Object
      MaterialExpression=MaterialExpressionTextureSampleParameter2D'MaterialExpressionTextureSampleParameter2D_2'
      Pins(0)=EdGraphPin'EdGraphPin_6881'
      Pins(1)=EdGraphPin'EdGraphPin_6882'
      Pins(2)=EdGraphPin'EdGraphPin_6883'
      Pins(3)=EdGraphPin'EdGraphPin_6884'
      Pins(4)=EdGraphPin'EdGraphPin_6885'
      Pins(5)=EdGraphPin'EdGraphPin_6886'
      NodePosX=-768
      bHasCompilerMessage=True
      bCanRenameNode=True
      ErrorType=1
      ErrorMsg="Param2D> Requires Texture2D"
      NodeGuid=C0E7E5C346E9876AA202DDA536221297
      End Object
      Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_3"
      Begin Object Class=MaterialExpressionMultiply Name="MaterialExpressionMultiply_0"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6887"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6888"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6889"
      End Object
      Begin Object Name="MaterialExpressionMultiply_0"
      A=(Expression=MaterialExpressionTextureSampleParameter2D'MaterialGraphNode_7.MaterialExpressionTextureSampleParameter2D_4',Mask=1,MaskR=1,MaskG=1,MaskB=1)
      B=(Expression=MaterialExpressionScalarParameter'MaterialGraphNode_8.MaterialExpressionScalarParameter_1')
      MaterialExpressionEditorX=-512
      MaterialExpressionEditorY=768
      MaterialExpressionGuid=EB32DFAF428515E880B46A8D687BC1CE
      Material=PreviewMaterial'/Engine/Transient.GT2UE4_MaterialTemplate'
      End Object
      Begin Object Name="EdGraphPin_6887"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_7.EdGraphPin_6902'
      End Object
      Begin Object Name="EdGraphPin_6888"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_8.EdGraphPin_6907'
      End Object
      Begin Object Name="EdGraphPin_6889"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_Root_0.EdGraphPin_6847'
      End Object
      MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_0'
      Pins(0)=EdGraphPin'EdGraphPin_6887'
      Pins(1)=EdGraphPin'EdGraphPin_6888'
      Pins(2)=EdGraphPin'EdGraphPin_6889'
      NodePosX=-512
      NodePosY=768
      NodeGuid=A094FFFA495BF3E10CAFE09577414D47
      End Object
      Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_4"
      Begin Object Class=MaterialExpressionBumpOffset Name="MaterialExpressionBumpOffset_0"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6890"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6891"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6892"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6893"
      End Object
      Begin Object Name="MaterialExpressionBumpOffset_0"
      Height=(Expression=MaterialExpressionTextureSampleParameter2D'MaterialGraphNode_5.MaterialExpressionTextureSampleParameter2D_3',OutputIndex=4,Mask=1,MaskA=1)
      HeightRatioInput=(Expression=MaterialExpressionScalarParameter'MaterialGraphNode_6.MaterialExpressionScalarParameter_0')
      HeightRatio=0.015000
      MaterialExpressionEditorX=-1424
      MaterialExpressionGuid=0148EF1F4D1041E5A1EFC7BF2F1D206E
      Material=PreviewMaterial'/Engine/Transient.GT2UE4_MaterialTemplate'
      End Object
      Begin Object Name="EdGraphPin_6890"
      PinName="Coordinate"
      PinType=(PinCategory="optional")
      End Object
      Begin Object Name="EdGraphPin_6891"
      PinName="Height"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_5.EdGraphPin_6899'
      End Object
      Begin Object Name="EdGraphPin_6892"
      PinName="HeightRatioInput"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_6.EdGraphPin_6900'
      End Object
      Begin Object Name="EdGraphPin_6893"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_0.EdGraphPin_6869'
      LinkedTo(1)=EdGraphPin'MaterialGraphNode_1.EdGraphPin_6875'
      LinkedTo(2)=EdGraphPin'MaterialGraphNode_2.EdGraphPin_6881'
      End Object
      MaterialExpression=MaterialExpressionBumpOffset'MaterialExpressionBumpOffset_0'
      Pins(0)=EdGraphPin'EdGraphPin_6890'
      Pins(1)=EdGraphPin'EdGraphPin_6891'
      Pins(2)=EdGraphPin'EdGraphPin_6892'
      Pins(3)=EdGraphPin'EdGraphPin_6893'
      NodePosX=-1424
      NodeGuid=7A868BB941D4598BA358D581DC019B56
      End Object
      Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_5"
      Begin Object Class=MaterialExpressionTextureSampleParameter2D Name="MaterialExpressionTextureSampleParameter2D_3"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6894"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6895"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6896"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6897"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6898"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6899"
      End Object
      Begin Object Name="MaterialExpressionTextureSampleParameter2D_3"
      ParameterName="RMHAO"
      ExpressionGUID=2FF3ADD44B50B41C985878B5D4D7AC62
      Group="Texture Maps"
      Texture=None
      MaterialExpressionEditorX=-1920
      MaterialExpressionEditorY=-128
      MaterialExpressionGuid=B12BF0BC47476E21D608DDA13DAE88AD
      Material=PreviewMaterial'/Engine/Transient.GT2UE4_MaterialTemplate'
      End Object
      Begin Object Name="EdGraphPin_6894"
      PinName="UVs"
      PinType=(PinCategory="optional")
      End Object
      Begin Object Name="EdGraphPin_6895"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask")
      End Object
      Begin Object Name="EdGraphPin_6896"
      PinName="Output2"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="red")
      End Object
      Begin Object Name="EdGraphPin_6897"
      PinName="Output3"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="green")
      End Object
      Begin Object Name="EdGraphPin_6898"
      PinName="Output4"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="blue")
      End Object
      Begin Object Name="EdGraphPin_6899"
      PinName="Output5"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="alpha")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_4.EdGraphPin_6891'
      End Object
      MaterialExpression=MaterialExpressionTextureSampleParameter2D'MaterialExpressionTextureSampleParameter2D_3'
      Pins(0)=EdGraphPin'EdGraphPin_6894'
      Pins(1)=EdGraphPin'EdGraphPin_6895'
      Pins(2)=EdGraphPin'EdGraphPin_6896'
      Pins(3)=EdGraphPin'EdGraphPin_6897'
      Pins(4)=EdGraphPin'EdGraphPin_6898'
      Pins(5)=EdGraphPin'EdGraphPin_6899'
      NodePosX=-1920
      NodePosY=-128
      bCanRenameNode=True
      NodeGuid=8300FCC449D4AD84CD71E8865B0EA6F4
      End Object
      Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_6"
      Begin Object Class=MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_0"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6900"
      End Object
      Begin Object Name="MaterialExpressionScalarParameter_0"
      DefaultValue=0.015000
      ParameterName="Bump Offset Strength"
      ExpressionGUID=28BDA113485161CAD4E34C8FA8D6E8A2
      Group="Adjustments"
      MaterialExpressionEditorX=-1808
      MaterialExpressionEditorY=640
      MaterialExpressionGuid=5B39E2984BC479F2B3DF239C12BD9FF4
      Material=PreviewMaterial'/Engine/Transient.GT2UE4_MaterialTemplate'
      End Object
      Begin Object Name="EdGraphPin_6900"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_4.EdGraphPin_6892'
      End Object
      MaterialExpression=MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_0'
      Pins(0)=EdGraphPin'EdGraphPin_6900'
      NodePosX=-1808
      NodePosY=640
      bCanRenameNode=True
      NodeGuid=89B2DA7B46E4090B0FAC2C8DD6AF8FE4
      End Object
      Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_7"
      Begin Object Class=MaterialExpressionTextureSampleParameter2D Name="MaterialExpressionTextureSampleParameter2D_4"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6901"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6902"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6903"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6904"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6905"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6906"
      End Object
      Begin Object Name="MaterialExpressionTextureSampleParameter2D_4"
      ParameterName="Emissive"
      ExpressionGUID=DB36B20F4C7B378EF34CF1A5111F5B58
      Group="Texture Maps"
      Texture=None
      MaterialExpressionEditorX=-768
      MaterialExpressionEditorY=768
      MaterialExpressionGuid=B12BF0BC47476E21D608DDA13DAE88AD
      Material=PreviewMaterial'/Engine/Transient.GT2UE4_MaterialTemplate'
      End Object
      Begin Object Name="EdGraphPin_6901"
      PinName="UVs"
      PinType=(PinCategory="optional")
      End Object
      Begin Object Name="EdGraphPin_6902"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_3.EdGraphPin_6887'
      End Object
      Begin Object Name="EdGraphPin_6903"
      PinName="Output2"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="red")
      End Object
      Begin Object Name="EdGraphPin_6904"
      PinName="Output3"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="green")
      End Object
      Begin Object Name="EdGraphPin_6905"
      PinName="Output4"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="blue")
      End Object
      Begin Object Name="EdGraphPin_6906"
      PinName="Output5"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="alpha")
      End Object
      MaterialExpression=MaterialExpressionTextureSampleParameter2D'MaterialExpressionTextureSampleParameter2D_4'
      Pins(0)=EdGraphPin'EdGraphPin_6901'
      Pins(1)=EdGraphPin'EdGraphPin_6902'
      Pins(2)=EdGraphPin'EdGraphPin_6903'
      Pins(3)=EdGraphPin'EdGraphPin_6904'
      Pins(4)=EdGraphPin'EdGraphPin_6905'
      Pins(5)=EdGraphPin'EdGraphPin_6906'
      NodePosX=-768
      NodePosY=768
      bHasCompilerMessage=True
      bCanRenameNode=True
      ErrorType=1
      ErrorMsg="Param2D> Requires Texture2D"
      NodeGuid=81F0303C4DFC122DC2EA64AE01FF7E26
      End Object
      Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_8"
      Begin Object Class=MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_1"
      End Object
      Begin Object Class=EdGraphPin Name="EdGraphPin_6907"
      End Object
      Begin Object Name="MaterialExpressionScalarParameter_1"
      ParameterName="Emissive Strength"
      ExpressionGUID=E9C8B16B4F6DA383C8F052BE1C34E85B
      Group="Adjustments"
      MaterialExpressionEditorX=-1792
      MaterialExpressionEditorY=768
      MaterialExpressionGuid=2B0EF0D842E0562813BE658507E338A4
      Material=PreviewMaterial'/Engine/Transient.GT2UE4_MaterialTemplate'
      End Object
      Begin Object Name="EdGraphPin_6907"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_3.EdGraphPin_6888'
      End Object
      MaterialExpression=MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_1'
      Pins(0)=EdGraphPin'EdGraphPin_6907'
      NodePosX=-1792
      NodePosY=768
      bCanRenameNode=True
      NodeGuid=E73DD9B34A34AF166B710B8035CEE5E4
      End Object
      Begin Object Class=MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_0"
      Begin Object Class=MaterialExpressionComment Name="MaterialExpressionComment_0"
      End Object
      Begin Object Name="MaterialExpressionComment_0"
      SizeX=332
      SizeY=261
      Text="Adds Light Parallax Bump"
      MaterialExpressionEditorX=-1474
      MaterialExpressionEditorY=-50
      MaterialExpressionGuid=FD98321543262F66D436C5A824F1828A
      Material=PreviewMaterial'/Engine/Transient.GT2UE4_MaterialTemplate'
      End Object
      MaterialExpressionComment=MaterialExpressionComment'MaterialExpressionComment_0'
      NodePosX=-1474
      NodePosY=-50
      NodeWidth=332
      NodeHeight=261
      NodeComment="Adds Light Parallax Bump"
      NodeGuid=7E2538DE4E239F4ECA72CB88132632E2
      End Object
      Begin Object Class=MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_1"
      Begin Object Class=MaterialExpressionComment Name="MaterialExpressionComment_1"
      End Object
      Begin Object Name="MaterialExpressionComment_1"
      SizeX=258
      SizeY=296
      Text="Intensity Controls"
      CommentColor=(R=1.000000,G=0.417922,B=0.389263,A=1.000000)
      MaterialExpressionEditorX=-1858
      MaterialExpressionEditorY=590
      MaterialExpressionGuid=2A33E5EA4B53288010C98596D3F53B28
      Material=PreviewMaterial'/Engine/Transient.GT2UE4_MaterialTemplate'
      End Object
      MaterialExpressionComment=MaterialExpressionComment'MaterialExpressionComment_1'
      CommentColor=(R=1.000000,G=0.417922,B=0.389263,A=1.000000)
      NodePosX=-1858
      NodePosY=590
      NodeWidth=258
      NodeHeight=296
      NodeComment="Intensity Controls"
      NodeGuid=E8DFA51941567BD280121FB51C975926
      End Object
      Begin Object Class=MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_2"
      Begin Object Class=MaterialExpressionComment Name="MaterialExpressionComment_2"
      End Object
      Begin Object Name="MaterialExpressionComment_2"
      SizeX=241
      SizeY=787
      Text="Main Textures"
      MaterialExpressionEditorX=-818
      MaterialExpressionEditorY=-306
      MaterialExpressionGuid=F4072F7B4B9B80AAD04782A2FDEC3332
      Material=PreviewMaterial'/Engine/Transient.GT2UE4_MaterialTemplate'
      End Object
      MaterialExpressionComment=MaterialExpressionComment'MaterialExpressionComment_2'
      NodePosX=-818
      NodePosY=-306
      NodeWidth=241
      NodeHeight=787
      NodeComment="Main Textures"
      NodeGuid=144F3E904E7CBA2738297A80ACE75DD8
      End Object

    1. Tanner Kalstrom

      Hi Ondrej,

      Thank you for your comment – We found the issue – please re-download the tool and open it up again. The new version should resolve the issue. Thanks for the report!!

      Can you please email us directly: [email protected] with your account login information and we’ll give you a free month to say thank you for your detailed report!

      Thank you!

      Tanner

      1. ondrej paloncy

        Hi Tanner,

        the upgraded version works like a charm and I’ll email you right away. Though I’m surprised no one brought the issue up earlier, the tool has been around for some time.

        Thanks a lot!

        1. Tanner Kalstrom

          Hi Ondrej

          WE’re not sure about this either – we did find a workaround in the tool, so maybe people were using the method we found. I’m not sure, but either way, thanks for the heads up 🙂

  17. Louis

    Can you confirm me that it’s not fake????
    I just wanna try it and THEN maybe subscribe if its cool!

    Thanks Louis

    1. Lasse

      I can confirm as well, that this is indeed not fake.
      Go for it lad! Awesome product at a ridiculous low price.

  18. juneho hwang

    The textures(albedo, metallic, normal…..) from gametextures already works perfectly in unity 5.
    I am kind of new on the texture part and I don’t understand what difference does it make to convert all the targa file into another targa file using substance player. Many Thanks!

  19. Matt Paul

    Hi, I’m new around here and new to Unity and 3D modeling as well so please be gentle with me 🙂

    I tried to use the tool with the Obsidian texture which isn’t available as an archived substance.. I followed the tutorial but had trouble because the texture didn’t include an ambient occlusion map. I tried leaving that unset as well as using a map from another texture but both times the results were undesirable.

    I don’t know if that particular texture is unique in this regard but the net effect was that the model I applied it to in Unity appeared transparent except for triangles having normal vectors near the direction of the light source.

    Also – do you have any tips on how the tool can be used for many such textures in a single project? I tried renaming the tool’s sbar archive file name and making multiple copies of it but that didn’t seem to work well (dimensions and OpenGL vs DirectX settings were ignored) and wouldn’t scale well with many textures. Perhaps a forthcoming tutorial could demonstrate that?

    Feature request: I think what we really want is an Export As / Save As substance archive that is ready to go when dropped into Unity. Is that not possible because the Normal map needs to be fixed? Perhaps that would be an acceptable step req’d once imported into Unity.

    Thanks in advance for your help,
    MP

Leave a Reply

Your email address will not be published. Required fields are marked *