many members of our developer community have criticized our SDK documentation. And rightly so!
To cite just a few of your requests:
“I spend days looking up this stuff sometimes. Even with the search functions in the C++ docs the relations between things just don’t really come together sometimes.”
“Why do I even care about these markers? What purpose do they serve in the grand scheme of things?”
“I just wish they would put more examples in the SDK”
“I find myself annoyed about missing information in the SDK documentation very often recently, because I had to invest a lot of time figuring out these tings myself.”
“But i don’t know where to start. The documentation is very unclear if you are a beginner to plugin development :(“
We heard your complaints, made a plan and worked quite hard to come up with a first bunch of improvements.
Today, we uploaded an extended C++ SDK documentation, which will provide you with some insight of what we have in mind.
Note: If you run into troubles with the updated docs, please check/clear your browser cache.
The General Concept
Before we basically had a mere API references with some additional information sprinkled in between.
In future, we plan to have “Overview” articles and “Manual” pages. For most topics and tasks you will find small code snippets demonstrating the usage of functions and classes.
“Overview” articles provide an About section, briefly explaining the broader context and concepts of a field of interest, and links to related classes and “Manual” pages.
“Manual” pages on the other hand explain classes and their context in more detail.
With this update, you get such “Overviews” and “Manuals” for the most basic datatypes and classes. But please rest assured, this is not the end, it’s just the beginning. We are already working on such articles for more advanced classes. The end goal of course is to cover all classes, but we won’t be able to deliver this in one step. We’ll continue based on importance and relevance for most of the developers and will deliver updates from time to time, whenever we feel a certain field of interest is mature enough.
There’s a new “Basic Knowledge” section under “Overviews”.
In this section you find:
- General Plugin Functionality – Most important basic functions of Cinema 4D plugins
- Foundation Classes Overview – Most fundamental classes and concepts of Cinema 4D’s API
- Data Types Overview – Most important data types of Cinema 4D’s API
- BaseDocument Overview – The class representing a Cinema 4D project
- Scene Elements Overview – Objects and Tags
- Materials and Shaders Overview – Classes defining the surface properties of scene objects
- Animation Overview – Keyframe animation of parameters
In the end, we are making these changes for you. So, we are especially interested in your thoughts on this new concept. Taking the involved amount of work into account, it would be fatal, if we ran into this direction, while everybody wants something different. Also we are aware there are many other places we need (and want) to improve on (search engine, page style+formatting,…). We’ll address these separately, for now, we are really interested in feedback on the new concept and the new parts of the SDK documentation.
your SDK team