Hey @mikeudin,
just as an FYI, one of our engineers pointed out that Description.CheckDescID is the likely culprit for the problem and that this method should be avoided when possible due to its resource hungry nature. Instead, you would just manually define the parameter ID you mean, e.g., c4d.DescID(c4d.ID_TAGFIELDS). The problem with this is of course that this statement has been made disjunct from the dynamic parameters example because I stripped that aspect away in my minimized code.
The original code example says:
# Fills DescLever type and creator
completeId = desc.CheckDescID(descId, None)
return True, completeId, tag
So, they seem to be only after filling in the data type and creator ID and not resolving multi-level IDs. Which you could also do manually when you know the parameters you want to wrap, e.g.,:
descId: c4d.DescID = c4d.DescID(c4d.DescLevel(c4d.ID_TAGFIELDS,
c4d.CUSTOMDATATYPE_FIELDLIST,
c4d.MAXON_CREATOR_ID))
return True, descId, tag
Cheers,
Ferdinand