File "/Users/aled/Library/Application Support/Blender/2.79/scripts/addons/rprblender/core/nodes.py", line 984, in get_sss_radius
val = blender_node.inputs[getattr(blender_node, input_id)].default_value
KeyError: 'bpy_prop_collection[key]: key "Subsurface Radius" not found'
1. Loaded Blender from terminal by typing "blender".
2. Opened an existing Blender file created with an older version of RPR.
3. Press preview render. Get ERROR reported on the render view.
4. Look in log (see above for log).
5. Hint is Subsurface Radius not found.
6. Open a Material with an old Uber.
7. Place a new Uber next to it and turn on the same items.
8. See that Subsurface Radius is indeed not on the old Uber.
9. Have to reconnect and re-setup the Uber shader to work again.
Loading older files should add at least basic defaults on existing Uber shaders (and all the others that change from version to version).
Solved! Go to Solution.
This is kind of partly a blender problem. In that old scenes can't easily be updated to new nodes: Nodes are set up when they are added to the scene and can't really be upgraded.
For the most part we try to make things backwards compatible, but for now it seems like a fairly easy workaround to create a new uber node?
Thanks for the explanation that it's a Blender thing.
The difficulty with it just not working or spitting out "ERROR" on the viewport is that you have absolutely no idea which node (and there could be 10s or 100s of nodes in a scene) to actually replace... and it could be all of them you'd have to re-create (there's no copy this node settings, paste node settings function?). A lot of fiddly settings to transfer over one by one manually.
It would be great if breaking changes between Node versions could have a default applied and some kind of notification as to which material has an old node that needs replacing? It's probably not possible if it's a Blender issue.