Welcome to the feedback center!

This is the place to:
• Report bugs
• Request features
• Vote on things

This place has been amazing to have during the alpha/beta phase, and I hope it will be continuously used so I can make sure Shader Forge becomes as good as possible for us all!

Before you make a new thread:

• Do a little search to avoid making new threads on already open topics :)
• Try to be as descriptive as possible to help me help you! When did the bug occur? Did SF crash or did Unity crash? Are you getting any errors in the console? What can I do to reproduce the bug from scratch?
• Don't use this place to ask how you make a specific type of shader, this is a place to request features and report bugs. Ask your how-do-I questions here!

For all of you who were part of the semi-closed alpha/beta testing - a HUGE thanks to all of you for being so helpful finding all of these bugs so far!

// Joachim Holmér


Popular ideas 513

Under review
elliot.bentine 3 years ago • updated by Virtus H 2 months ago 20
Under review
jesse 3 years ago • updated by behealed 1 month ago 8
Joachim Holmér (Developer) 3 years ago • updated by QuiteNice 3 years ago 4
Bob Aman 2 years ago • updated by behealed 1 month ago 5
Under review
CosmosTBear 3 years ago • updated by Chun Zhu 5 months ago 19

Latest updates 1,127

Nick 3 days ago 0
cmilr 4 days ago 0
Not a bug
Mark 11 months ago • updated by jcd13 5 days ago 6
Under review
Scottp 1 year ago • updated by Tony C 1 week ago 4

Latest Fixes 602

Not a bug
Mark 11 months ago • updated by jcd13 5 days ago 6

I'm using Unity v5.0.1. I bought SF on November 26, 2015. I believe it was advertised as v1.26 on the Asset Store at my time of purchase. Upon purchase it appeared in my Downloads section as v1.18.

I couldn't figure out how to update it to v1.26. After download and import this (below) is what the SF tab looks like for me.

Clicking 'Download latest version' opens the Asset Store in my browser. It makes no difference whether I try accessing 'download' or 'import' through the web, app, respective Downloads sections, or respective Shader Forge store pages. It stays v1.18.

I've googled this problem and searched this site and haven't found a related solution. Perhaps I missed something?

Help would be deeply appreciated.


You'll need to be running Unity 5.3 for the latest version of SF :)

Full version info here: http://acegikmo.com/shaderforge/changelog/

Brian Hall 3 years ago • updated by Michael Crook 1 week ago 17
We have a lot of objects with hard edges that we need outlines on.  For instance, crates of various sizes.  The problem is the Outline feature breaks at the corners. 

I'd like to see an alternate option to the current outline feature that keeps the vertices connected at the corners:

As of 1.19, you can now switch between three different outline methods:
  • Vertex normals
  • Vertex colors
  • From origin
The first one is the default behavior we've had before.
The second one will read the vertex colors as directions. I've added a script you can add to your objects, to make their meshes write outline-style normals into the vertex colors. That way, you sacrifice the ability to use vertex colors, but gain the ability to have hard edges together with a continuous outline!
The third one is as the "scaled" method mentioned above - it will move the verts away from the origin.

Hope it helps :)

emi 3 months ago • updated by Joachim Holmér (Developer) 2 weeks ago 12

We've upgraded our project to Unity 5.5 but Shaderforge does not work anymore. Here are the errors we get when trying to launch:

NullReferenceException: Object reference not set to an instance of an object

ShaderForge.SF_Editor.OnDestroy ()


AmbiguousMatchException: Ambiguous matching in method resolution

System.Reflection.Binder.FindMostDerivedMatch (System.Reflection.MethodBase[] match) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/Binder.cs:106)
System.MonoType.GetMethodImpl (System.String name, BindingFlags bindingAttr, System.Reflection.Binder binder, CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/MonoType.cs:245)
System.Type.GetMethod (System.String name, BindingFlags bindingAttr) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Type.cs:787)
ShaderForge.SF_PreviewWindow.SetupPreview ()
ShaderForge.SF_PreviewWindow..ctor (ShaderForge.SF_Editor editor)
ShaderForge.SF_Editor.InitializeInstance (UnityEngine.Shader initShader)
ShaderForge.SF_Editor.Init (UnityEngine.Shader initShader)
ShaderForgeMaterialInspector.OnInspectorGUI () (at Assets/ShaderForge/Editor/InternalResources/Inspectors/ShaderForgeMaterialInspector.cs:85)
UnityEditor.InspectorWindow.DrawEditor (UnityEditor.Editor editor, Int32 editorIndex, Boolean rebuildOptimizedGUIBlock, System.Boolean& showImportedObjectBarNext, UnityEngine.Rect& importedObjectBarRect) (at /Users/builduser/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:1233)
Will this be fixed soon ? thanks


This has now been fixed in 1.30, which will release in a few minutes

Not a bug
Mauer 3 weeks ago • updated by Joachim Holmér (Developer) 3 weeks ago 1

I'm working on a simple DiffuseMap-NormalMap-shader for 3D meshes.

I need my normal map to be on a different UV channel than the diffuse map, so I cannot use the standard UV0 for both. However, the normal texture is displayed incorrectly on all of the remaining three channels, even though they all contain the correct unwrap. The texture is torn to pieces and partially flipped for no apparent reason.

This shouldn't be happening, right?

I should be able to use normal maps on UV1, UV2, and UV3 without any problems.


This is likely becuse your UV1/2/3 simply doesn't have the correct UV data. Try debugging with the UV node right into the emission input, and double-check the mesh importer to see if all channels are there

Brad Hammond 10 months ago • updated by Fabio Franconeri 1 month ago 2

I've started playing with Turing patterns and using convolution matrices and came to realize this is how a lot of different filters are done.

I was wondering if there is a way this mothodology of sampling neighbor pixels to the current one can be implimented in shader forage?


It's possible but very cumbersome to make, at least if you have a large matrix.

But yes, just shift the UVs and sample again, and do whatever you like with the result!