Cinema 4D C++ SDK

The Cinema 4D C++ SDK offers the full tool set of the public Cinema 4D API. It is an excellent choice for experienced developers who want to implement computationally demanding plugins or plugin types such as custom render engines or material systems that are exclusive to the C++ API.

Quickstart Online C++ Documentation: The most recent Cinema 4D C++ online documentation. To bookmark a link to the most recent version of the documentation, bookmark developers.maxon.net/docs/cpp/ (when you bookmark a link you followed, you will bookmark a specific version). Offline C++ Documentation: The official most recent Cinema 4D C++ offline documentation. Unlike the online version, you cannot switch between multiple versions here. C++ Code Examples: The C++ SDK code examples. You will need the frameworks provided in an sdk.zip to run these. Project Tool: A tool to generate Visual Studio and XCode solutions for Cinema 4D C++ API projects. SDK Database: The SDK Asset API database, containing assets used by code examples.

⚠ To be able to compile the code examples, one requires t+the frameworks provided in the sdk.zip of a Cinema 4D installation. See Getting Started for details.

Development Environment

To build plugins for a specific SDK, one must meet the development environments listed below. And while it might be possible to deviate from these requirements from time to time, doing so will be out of scope of support; when you run into technical problems and ask for support, we will ask you to match the required environment.

ℹ The Application Binary Interface (ABI) marks the range of compatibility of SDKs and plugins compiled for them. All versions that are binary compatible with each other can run your plugin, if the SDK version is equal to or lower than the Cinema 4D version. So, a plugin compiled for R21.0 will also run in R21.1, S22.0, and S22.1 because they all share one ABI. But you cannot run a plugin compiled for S22.0 (using S22.0 features) in R21.0. For the greatest range of compatibility, it is therefore often best to compile for the earliest version within an ABI one can use for the feature one requires.

Release ABI Windows macOS Linux 2024 2023904 VS 2019/22 Xcode 13 GCC 9.3.1.12, glibc 2.17, Python 3, Scon 3.1.2 2023 2022901 VS 2019 Xcode 13 GCC 9.3.1.12, glibc 2.17, Python 3, Scon 3.1.2 S26 25004 VS 2019 Xcode 12 GCC 9.3.1.12, glibc 2.17, Python 3, Scon 3.1.2 R25 25004 VS 2019 Xcode 12 GCC 9.3.1.12, glibc 2.17, Python 3, Scon 3.1.2 S24 23004 VS 2019 Xcode 12 GCC 9.3.1.12, glibc 2.17, Python 3, Scon 3.1.2 R23 23004 VS 2019 Xcode 11 GCC 9.3.1.12, glibc 2.17, Python 3, Scon 3.1.2 S22 21014 VS 2019 Xcode 11 GCC 9.3.1.12, glibc 2.17, Python 3, Scon 3.1.2 R21 21014 VS 2017 Xcode 10 GCC 9.3.1.12, glibc 2.17, Python 3, Scon 3.1.2