[Python, C++] Behavior of NodeData.Init() changed with R25
-
Dear Development Community,
we want to inform you that R25 plugin interfaces derived from
NodeData
that implementInit()
are affected by a currently undocumented change in behavior. Affected is any version of both the Python and C++ R25 SDK. The SDK for S24 and lower are not affected.The change in behavior entails:
- The Asset API will create multiple instances of your plugin when a parameter of an instance of your plugin has been changed. This will cause NodeData.Init() to be called multiple times, once for each instance.
- The argument node passed to these functions is not the always the node representing the plugin in the respective manager, e.g., the object in the object manager, as the underlying Asset API will now also check presets assets with the respective
Init()
method of your plugin interface.
This does not mean that parameter initlization will not work in
Init()
, it does, but that one cannot rely anymore onnode
inInit()
to check for the identity of the object that has been (re)allocated.Other methods of
NodeData
derived plugins likeMessage
,GetVirtualObjects
,Execute
, etc., which also get passed in the node representing the plugin in a manager, are not affected and will receive the correct node.Thank you for your understanding,
The SDK-Team