Page MenuHome

Node wrangler addon not present for some node editor modes
Closed, ResolvedPublicTO DO

Description

System Information
Operating system and graphics card

Blender Version
Broken: 2.72
Worked: 2.71

Short description of error

For GLSL (Blender game) or BI material nodes, there is no UI of the node wrangler. Not even the spacebar search works.
Tried removing all traces of Blender from my system, re-installing, even downloading a non-installer version, nothing worked.

Strangely, it works in some other node editor modes, like compo

Exact steps for others to reproduce the error

  • Switch Render Engine to Blender Internal or to Blender Game
  • create a node material
  • try e.g. ctrl-space or space - search for an operator in node editor

note: Didn't test texture nodes.

Event Timeline

Michael Otto (mayqel) raised the priority of this task from to 90.
Michael Otto (mayqel) updated the task description. (Show Details)
Michael Otto (mayqel) edited a custom field.
Bastien Montagne (mont29) lowered the priority of this task from 90 to Normal.

Bartek, iirc this addon is intended for Cycles mat nodes only? but then, should not be available in compo ones either…

Node Wrangler is designed to work ONLY on compositing nodes and cycles material nodes.
There is no functionality of Node Wrangler in texture nodes nor in blender's render material nodes.
That's why this is disabled in those modes.
This behavior is set like this in purpose.

Bastien Montagne (mont29) changed the task status from Unknown Status to Archived.Oct 20 2014, 7:59 PM

Well, then, thanks for the report, but no bug here. :)

hmmm... Node wrangler worked perfectly by now even for GLSL shader nodes, For my part, I have been using it for a very long time now, and it is such a great tool that it has become an integral (and important) part of my professional workflow.

From a user's view, it's like an important feature suddenly having disappeared. which looks like a bug, even if it isn't from a developer's point of view.
Well, I've learned it's no bug, and I respect this, but maybe it would be a good decision to re-enable at least the parts of it that are safe to do so?

May I kindly ask you to think this over and maybe re-open the issue or do some other appropriate action? I respect your decision, whatever it is, but would like to encourage you. Thank you in any case!

Bartek Skorupa (bartekskorupa) changed the task status from Archived to Unknown Status.Oct 20 2014, 10:17 PM

I made a decision about disabling it for texture nodes and nodes for internal render engine, because I was once asked why cycles nodes get added to internal materials.
Because it was never my intention to make the add-on work for texture nodes and internal material nodes, I made a simplest decision to avoid confusion: disable it in modes it's not intended to work with.
It's great that we can collaborate this way, have feedback from other users. I admit that it didn't even cross my mind that Node Wrangler could anyhow be useful in texture nodes or when creating blender internal's material nodes.
Bringing it back is not a big issue, but before I decide to do it, let me think of some way not to have issues with add-on trying to add not correct nodes.

Could you please tell me how did you use Node Wrangler for Blender Render material nodes so far? Or with texture nodes?
Which features do you miss?

Thank you, that's great!

Let me try to make a summary:
Hotkeys and menu entries, in the order of the hotkey list
+: important to me, using regularly
o: not using so often, but probably useful (maybe to others)
-: either never tried because not needed (or useful), or impossible to transfer function
x: never tried for other reasons, like my German keyboard layout ;)

+: 1) Merge Nodes: all supported modes except z combine, Alpha Over (which don't exist in mat nodes) are useful
o: 2) Batch change: I think the menu was automatically correct, but I don't remember for sure
+: 2b) Switch Node type: same as batch change, I think
o: 2c) cycle through blend modes: same as above
o: 3) Link active to selected: "universally" useful
o: 4) Increase / reduce factor / set to 0/1: can of course be useful as well
+: 5) node label modifications: "universally" useful
o: 6) Detach outputs: "universally" useful
-: 7) Link to output node: didn't try so far, don't know if it worked for mat nodes
x: 8) Select children / parent: didn't use because I didn't look up what it was for, and I didn't find the hotkey on my German keyboard ;) )
x: 9) Add texture setup: (strangely, I never tried to use this)
-: 10) Reset backdrop image zoom: not possible
+: 11) Delete unused nodes: using this permanently --> very useful to me
+: 12) Frame selected: useful, using it often
o: 13) Swap Outputs (rather inputs?): not often used, surely generally useful, but similar functionality in standard Blender
-: 14) Connect to Cycles viewer node: well, not possible (best "translateable" to "connect to a second output node")
x: 15) Reload Images: not sure...
+: 16) "Lazy" functions: "universally" very useful
+: 17) Add reroutes: "universally" useful
o: 18) Node Alignment: well, one of the things I only use once in a while. Probably useful for everybody else ;)
x: 19) Link active to selected menu: never used because of my German keyboard, but probably useful
+: 20) Copy to selected: Universally useful, I think

You are absolutely right.
I didn't even think about using Node Wrangler in Blender Render and thought that having it enabled there causes more problems than advantages.
Made some tests and it seems that many options work there just fine. I understand you 100%. The tool had flows in those modes, but worked in many cases.

Plans: At the moment I will not enable it back. If you however want to have it and don;t mind that it returns errors in many cases try to do as follows (if you are not afraid of changing code yourself.

Replace lines from 945 to 954 that read:

def nw_check(context):
    space = context.space_data
    is_cycles = context.scene.render.engine == 'CYCLES'
    valid = False
    if space.type == 'NODE_EDITOR' and space.node_tree is not None:
        type = space.node_tree.type
        if type == 'COMPOSITING' or (type == 'SHADER' and is_cycles):
            valid = True
        
    return valid

with the following:

def nw_check(context):
    space = context.space_data
    is_cycles = context.scene.render.engine == 'CYCLES'
    valid = False
    if space.type == 'NODE_EDITOR' and space.node_tree is not None:
        valid = True
        
    return valid

(remember about all indentations)
This will bring the addon back in texture nodes and in Blender Render material nodes.
I don't want to do it in trunk because of the errors it returns in many cases.
I will do it when I take care about all those safety things.

Bartek Skorupa (bartekskorupa) changed the task status from Unknown Status to Resolved.Oct 21 2014, 9:51 PM

Brought back Node Wrangler to Blender Render material nodes and to texture nodes.
Improved behavior in those tree types.

Thank you Michael for letting me know about your concerns.

https://developer.blender.org/rBAb714750bf00bd6aaf2c87afad533eb01b68861b8

Thank you a lot, Bartek, that's great!