thank you for reaching out to us. We are however a little bit confused about your question, since you already gave the answer yourself. I'll answer in bullet points to make things quicker:
- You cannot register any
NodeDatabase plugin type without providing a description.
- You can however just provide the container in your description resource, let's call it
BaseDescription, and then just dynamically modify that description on an instance level via
NodeData::GetDDescription. To simplify this you could also use
LoadDescriptionto load in resource definitions. This can also be done piecewise, e.g., you could for example consecutively load in a
CommonDescriptionand then a
- What you cannot do, is a
ShaderDatainstance being polymorphic regarding Cinema 4D's type symbol name. So the
nameflag in your
BaseDescriptioncannot be modified. Which in turn means for example, that you cannot have different type names in the attribute manager for a noise shader and gradient shader node - if you follow this
You of course already knew all this, hence our confusion If we missed your point, I would have to ask you to explain your goals to us again.