How do I Feature Level Switch to turn off a map?

I’d like to use a normal map only for SM4 and SM5, not for the other options (including default.)
However, when trying to build that material, I get the error that Feature Level Switch does not have a Default input for Normal.

See picture

An alternative answer to this question might be “what does the Default input really mean”? The documentation is not helpful. It just says “The default feature level.” When is that input used?

Default is whatever you want the default to be. It will then be switched to appropriate level depending on the end user’s configuration.

Sorry, but that doesn’t answer the question of when “default” is actually used.
What is the end user harrdware configuration when the “default” input will be used? Is there support for render targets other than SM4, SM5, ES2, and ES3.1?
And how can I make it so that a particular map is used only when SM4 or SM5 is selected, and turned off / not used otherwise?

You set the default as the quality level you are working at. It is irrelevant in the packaged project since you will set the actual material settings for each shader model as well. For instance, if you want to work with SM5 you plug the SM5 material attributes both to Default and SM5 inputs, and then set the other quality levels accordingly. Watch this video starting at 28min. for a demonstration:

Thanks, but you’re still not answering the question.

I could build two materials. One of the materials is used for SM4/SM5, and the other is used for ES2/ES3.1. The SM4/SM5 material defines a normal map, and the ES2/ES3.1 material doesn’t.

Unfortunately, keeping that development in sync is REALLY HARD AND A PAIN. (That’s a technical term.)

So, I’m trying to use the feature level switch node, to create a material that has a normal map for SM4/SM5, and does not have a normal map for ES2/ES3.1.
However, I get the shader compiler error described in the screen shot above.

Now, “default” isn’t actually well defined in documentation. Unfortunately, I’m not in an area where I can watch videos and hear them; I prefer to to to searchable, readable text for definitions if possible.

“Default” can mean many things. For example, it could mean “if I’m using feature level X, and nothing is connected to the X input, use the Default input insted.” If that is what it means, then I need to be able to provide nothing to the Default pin, in order to be able to provide nothing to the map in the material. For example, to turn off the code that would be generated to transform the normal to world space (or the lights to tangent space.)

“You set the default as the quality level you are working at.”

So, if by default, I do not want a map input for normal into the material, then I cannot express this, because I get the error above.

Also, if “Default” is only used in “the Default HTML / Mobile preview” mode, then again, why do I need to provide a map there, when I don’t need to for the other inputs?

Since no one officially answered this, to get rid of the error you can just plug a vector3 with the value “0,0,1” into Default (0,0,1 is equivalent to flat/no normals).

Also, you (jwatte) are right about the “default” pin - if you are using feature level X and nothing is connected to the X input, it uses the Default input instead - here is the description when you hover over that pin:

Default connection, used when a certain feature level doesn’t have an override