Provides an overview of the major changes introduced with Cinema 4D 2026.0 API when migrating code from the Cinema 4D 2025.0.0 API.
The 2026 release comes with relatively few signature changes compared to the previous releases. Instead, most of your work will go into adapting to the new CMake build system and conforming with the OCIO color management system. But even these changes are relatively straightforward to implement.
Change | Type | Description |
---|---|---|
CMake | Major | The old Project Tool based build system has been deprecated with 2025.2 and removed with 2025.3. You must build plugins for 2026 with a CMake based build system. See the Build Systems manual to understand the new system and its structure, and Migrating Configuration Files for instructions on how to migrate your legacy project configurations. |
C++ 20 | Major | The SDK now targets the C++ 20 standard. But most of its features are not yet supported. See the Code Style Guide for details on the supported and not supported C++ features. The major change is now that you must explicitly capture this in lambdas when you access the object in the lambda. |
OCIO | Major | Open Color IO (OCIO) has become the default color management system in all documents. We recommend reading the OpenColorIO Manual (OCIO) article manual to understand how to work with OCIO colors. It is particularly important to understand the examples Initialize Colors of Scene Elements and Drawing with OCIO Colors in a Viewport as legacy plugins might otherwise initialize or draw with incorrect colors. |
Track Plugins | Major | The plugin type CTrackData for implementing tracks has been updated and its methods FillKey and TrackInformation have become const , aligning with similar changes made to the whole API in the 2024 release. See the blinker.cpp example in the SDK for an updated implementation to align your code with. See Constness of Overridable Methods in the 2024 migration manual for a general overview of how to update your code to const methods. |
Threading | Minor | Code that uses the job and threading system such as JobRef myJob = JobRef::Create(...) now might require an explicit #include <maxon/thread.h> statement where it formerly did not. |
Access Callbacks | Minor | The method AccessedObjectsCallback::MayAccess has been renamed to MayAccess2. The signature of the method has otherwise not changed. |
When you have any questions or need further assistance, please do not hesitate to contact us via the Maxon Developer Portal.