Your comments

I'm pretty sure this already happened. No?

Makes sense. I'm just used to the idea that you can compile a shader in SF without anything plugged in, and it still works, making the learning curve so much smoother. The fact that some slots are now required that I might not need (ie: deferred with zero specularity) seems like it requires prior knowledge of how things work under the hood.

At the moment, porting my game to Unity5 will require me to go into every shader and add this zero value for no other reason than the one you stated.

Anyway, It's probably more work for you than me so I'll go along :)

Cheers!
Oh. I see. So I guess I should simply plug in a zero value in the specular input.

I just feel this defeats the purpose of SF re-compiling according to the plugged inputs if I'm not allowed to "not" plug anything in the specular slot.

Thanks for the answer :)
Here's a really quick demo:



And here's the modified line:


I'm using 1.06. I don't know yet where to get 1.10 if this is the version you are referring to.

I'll stay tuned in the meantime, and check once that version comes out.

Thanks!

[edit: the video was recorded with an older version, but the issue is in 1.06 I can confirm]
I'm gonna bump this issue if I may.

Here's a video demonstrating the problem in action:

Again, this issue is extremely easy to reproduce, and not only happens in the editor, but in our builds as well.
Sounds good! Multi-pass shaders would kick serious ass ( not that SF isn't already...)
Oh I see. This pretty much solved my problem, thanks!
Ok, my mockup may have been a bad example of what I meant.

One of the nice features of the "If" node is the ability to pass a color value as the result, allowing it to be used both as a gate node and a datastream node.

Secondly, if I need to check if a value is between two others (a rather common occurrence), as far as I know it can't be done in less than 4 nodes.

I realize this behavior can be done with existing nodes, but I thought this might be a useful shortcut feature.

Anyway labeling this feature as "Completed" would be misleading, as this feature does not actually exist currently in Shader Forge.

Hey! Thanks for the answer :)

Yeah, I'm already using a Scripting/OnUpdate approach, but using it within the shader would not only simplify things, but get rid of the need for a script entirely.

Cheers!