In most cases, users will use the same material for multiple engines (e.g., Eevee and Cycles).
However, in some cases users should be able to have different Output nodes in the same material datablock, so that different engines can have different nodes. We need to figure out how we will expose that to the users.
The current proposal is to refine the behaviour of the active output node :
- We set it (and save it) manually per engine.
- We should restrict active output only to supported output type (we can't have active Eevee's output in cycles if cycles does not handle it).
You can read the original discussion here: https://lists.blender.org/pipermail/bf-viewport/2017-June/000314.html