Hey,
Sorry for the really delayed answer... Perhaps I didn't explain something well enough. What we changed was the id of a parameter as seen in the screenshot above in the Softbox shader from 613662896 to 1404507874 . The disk level used to be 0 before the change and then we set it to 1 after. So in more recent V-Ray versions we register the shader with disk level 1 and if I understand how the serialization works the level in the old scene should be 0 and Read should be called with a disklevel=0(since that is what ReigsterShaderPlugin was called with in the old V-Ray version). I was trying to do the same with another shader i.e. increment the disk level from 0 to 1 in RegisterShaderPlugin and do something along the lines of
if (diskLevel < 1) {
BaseContainer &nodeData=static_cast<BaseShader*>(node)->GetDataInstanceRef();
const BaseLink* oldLink=nodeData.GetBaseLink(oldParameter);
if (oldLink != nullptr) {
GeData linkData;
linkData.SetBaseLink(*oldLink);
nodeData.SetData(newParameter, linkData);
}
nodeData.RemoveData(oldParameter);
and it just doesn't work in 2024.