Migrating to the 2026.0 API

Table of Contents

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.

Warning
Never modify the frameworks of the SDK and always use the CMake build systems shipped with the SDK. Ignoring any of these rules may create plugins that are binary incompatible with Cinema 4D. We will refuse development support for any plugins that do not comply with these requirements.

Overview

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.