Operating system: Arch Linux
Graphics card: GTX Titan
Broken: git version, 2.81.8 (f2400c1bb5e2)
Short description of error
Behaviour with respect to keeping Cycles/Evee shader nodes around seems to be inconsistent with the documentation, as the shader editor is either not available or shows an incomplete list of shader nodes.
Exact steps for others to reproduce the error
On https://docs.blender.org/api/current/bpy.types.RenderEngine.html the property bl_use_shading_nodes_custom is described as
Don't expose Cycles and Eevee shading nodes in the node editor user interface, so own nodes can be used instead
Using the attached RenderEngine test class, which is based on the code in the above doc page:
- Start blender -P blender_render_engine.test.py
- Switch to Custom renderer
I see the following depending on bl_use_shading_nodes_custom:
- When bl_use_shading_nodes_custom is False (i.e. keep Cycles/Eevee nodes around) the Shader editor's add node menu (Shift+A) under Shader only has a Principled Volume entry, other Cycles nodes are gone. But when creating a new material in the editor the initial graph is Principled BSDF -> Material Output, i.e. using the principled BSDF node that cannot be created from the menu.
- When bl_use_shading_nodes_custom is True the Shader editor is no longer available. Is this new behaviour, where a custom RE needs to provide its own editor page, instead of adding to the existing shader editor?
There's also a corner case when having the Shader editor visible (for example when Cycles is active) and then switching to a render engine that has bl_use_shading_nodes_custom=True: the icon for the editor will become blank, but the Shader editor remains visible. In the console I warnings in this case:
WARN (bpy.rna): ../source/blender/python/intern/bpy_rna.c:1451 pyrna_enum_to_py: current value '3' matches no enum in 'SpaceNodeEditor', '(null)', 'tree_type'