Hello @ferdinand
I've found that if I create the connector via the code above, I can fix the problem with the itemtree/inexdata and joint settings (reference_axis parameter) successfully.
But by testing it, I've found another issue.
As I mentioned in my first message, instead of the legacy FORCE_TYPE DescID now there are two DescIDs: FORCE_TYPE_GROUP and FORCE_TYPE_MODE.
And if I am trying to set the Connector mode by them, then after the creation of the Connector the "Type" and the "Mode" of the Connector object are selected correctly, but in the viewport they are not.
F.e. I do this:
connector->SetParameter(ConstDescID(DescLevel(FORCE_TYPE_GROUP)), 3, DESCFLAGS_SET::NONE);
connector->SetParameter(ConstDescID(DescLevel(FORCE_TYPE_MODE)), 3, DESCFLAGS_SET::NONE);
Here I am trying to create the Connector in the Ragdoll mode.
But in the viewport I see the mode as the "Ball and Socket" mode. And it works if I hit Play as a Ball and Socket.
But in the parameters section it is selected correctly: type=Spherical, mode=Ragdoll.
So, I've found this problem and then I've decided to use the old FORCE_TYPE instead of new FORCE_TYPE_GROUP and FORCE_TYPE_MODE:
connector->SetParameter(ConstDescID(DescLevel(FORCE_TYPE)), 3, DESCFLAGS_SET::NONE);
And in this case the created Connector become in the correct Ragdoll mode.
Actually it is what I need. And it works for all other modes.
...Except for a "Fixed".
The old "Fixed" mode was under the int number = 6.
The new Fixed is equal to 0.
Anyway I've found the way to fix it in my plugin. But it requires to add another new if-statements (#if API_VERSION >= 2024500) in all places where the Fixed connectors should be used .
I do not know is it a bug or feature, just will leave it here to get back in 2 years and remember why I've added all that #ifs in my code