Your comments

We have the unity support at the studio so i'll ask them what can be wrong.

This is what i got when I download shaderforge from the asset store. I tried with a new project, so no other shaderforge version installed and still have the same errors. I can also tell the version is not up to date because when I try to import shaderforge in a new Unity 2017 project, Unity prompts a popup saying that the plugin contains scripts that use obsolete APIs.


I also removed the cache from the server cache just in case.


My version of Unity is 2017.1.0f3.


Also you marked this thread as resolved, but I guess you should wait for user's answer first. No offense, I'm sorry but this is not resolved for us and the only action I can do is getting this plugin from the Asset Store.

I fix the button error. In ShaderForgeInspector script, reflection is used to get Unity internal method "ButtonMouseDown". This method does not exist anymore in Unity 2017. It has been replaced by the public method EditorGUI.DropdownButton.

So to fix the error button, 

  1. remove the line 124 :
    editorGUIMouseButtonDown = typeof( EditorGUI ).GetMethod( "ButtonMouseDown", privStatic, null, new Type[]{typeof(Rect),typeof(GUIContent),typeof(FocusType),typeof(GUIStyle)}, null );
  2. remove line 334 :
    bool mDown = (bool)editorGUIMouseButtonDown.Invoke( null, new object[] { position, GUIContent.none, FocusType.Passive, GUIStyle.none } );
  3. replace line 335 :
    if( mDown /*EditorGUI.ButtonMouseDown(position, GUIContent.none, FocusType.Passive, GUIStyle.none)*/)
    by :
    if( EditorGUI.DropdownButton(position, GUIContent.none, FocusType.Passive, GUIStyle.none))

Unfortunately this will only remove the button error, as some errors will appear when trying to show the ShaderForge editor window. But this is in a dll and we don't have access to this code. So we really the ShaderForge developer to fix.