SDK Change Notes for Cinema 4D 2024.0.0

Summarizes the API and documentation changes made between Cinema 4D versions 2023.2.2 and 2024.0.0.


For an an overview of the required development environment for this release on Windows, MacOS, or Linux, see Development Environments.

Major Changes

The Cinema 4D API has been modified substantially to improve scene execution timings. Most changes revolve around a more rigorous handling of the mutability of data. Heavily modified has been the cinema.framework and particularly the NodeData type. See Migrating Plugins to the 2024.0 API for a detailed overview on how to migrate your plugins.

Minor Changes

The style with which API changes as shown below are presented has changed. The process is not manual anymore which leads to a slightly different style. Included are now also the complete file diffs for all changed files to get a better sense of how a specific file has changed.
The source processor does now support custom function and variable qualifiers. See Support for Custom Qualifiers for details.
TransformColor in c4d_shader.h has been renamed to BasicTransformColor and now does not support all transformation paths anymore. When using other transformation paths than LINEAR_TO_VIEW, SRGB_TO_VIEW, LINEAR_TO_SRGB, or SRGB_TO_LINEAR, you must now instantiate an OcioConverter instead. The BaseDocument methods GetColorConverter, GetBasicColorConverter, GetColorConverterForActiveDocument should then be used to retrieve an appropriate converter.

API Changes

Summarizes the technical changes made to the public APIs of Cinema 4D within the scope of these change notes.

The section below lists the differences between the 2024.0.0 and 2023.2.2 as collapsible sections organized in frameworks, files, and changes. The collapsible sections each denote the number of changes they contain in light gray on the right of the section bar. Note that change means here block of change, so 10 consecutive lines which have all been changed count as one change. Click a section bar to expand or close it it, or click the ↧ or ↥ button to expand or close a framework section and all its nested sections. With the ▸ button found on file sections, you can jump to the complete file dif for that file, a ⇲ button will transport you to the matching documentation page of a file or framework.