FAQ: Introduction

Basic API Questions

What is the MAXON API?

The MAXON API is a collection of frameworks and tools provided by MAXON Computer GmbH to build plugins for MAXON Cinema 4D. It is based on interfaces, see MAXON API Interfaces.

What is the "classic" API?

The "classic" API is the API developed for Cinema 4D before Release R20. It is based on plugin classes like NodeData. Currently both MAXON API and "classic" API are used to develop plugins.

What will happen to the "classic" API in future releases?

The classic API defined in cinema.framework will be deprecated and gradually removed in future releases.

What is the most simple "Hello World" plugin?

There are a lot of different plugin types, see Plugin Types. Not every plugin has to have a GUI or interacts with the 3D scene.

For many purposes the most simple plugin can be a CommandData plugin that allows to implement a button in the GUI. Such a command can easily print a "Hello World" message to the "Console" window. See Getting Started: Application and Debug and Output Functions.

What are the features of the MAXON API?

The MAXON API provides state of the art tools for C++ development. It includes an advanced error handling system, interfaces, reference counting and more.

For an overview see API Features.

What kind of plugins can be written?

Plugins are based on plugin hooks or interfaces. A list of relevant plugin types and interfaces is found here: Plugin Types.

What tools and knowledge do I need to use the MAXON API?

To develop plugins using the MAXON API Microsoft Visual Studio or Apple Xcode are needed. For details see Development for Microsoft Windows and Development for macOS.

The MAXON API uses several advanced and modern C++ technologies. Developers should have professional knowledge of these technologies. See C++ Techniques.

Are compiled plugins forward or backward compatible?

Cinema 4D plugins are not backward compatible.

For releases before Cinema 4D R20, plugins were typically forward compatible. Release 20 introduces significant changes to the API so that older plugins are no longer compatible with that version.

Can I licence the MAXON API for different projects?

The MAXON API is currently only available to write Cinema 4D plugins. It cannot be licensed for any other purpose.

Resources and Support

Where do I get the Cinema 4D SDK?

The Cinema 4D SDK is included in every distribution of Cinema 4D. It is stored in the sdk.zip file.

Where do I get latest version of the documentation?

The latest version of this documentation can be found on https://developers.maxon.net/.

Where do I get Support?

Developer support is provided on https://developers.maxon.net/.

Where do I find example code?

Example projects are included in the SDK. They are also available on https://github.com/PluginCafe/.

Code snippets are found in this documentation.

Where do I get the documentation of previous versions of the API?

The documentation of earlier APIs can be found on https://developers.maxon.net/.

How do I stay updated on API changes?

A developer can register for the "Registered Developer" program. This program will inform developers on the latest changes and new resources. For more information see https://developers.maxon.net/.

Where do I get a developers licence?

Developer licences or Cinema 4D can be handed to developers who register for the "Registered Developer" program.

New Projects & Development

What is the Project Tool and why should it be used?

The project tool manages the automatic creation of project files for plugins, frameworks and solutions. It creates project files for all currently supported IDEs (Visual Studio and Xcode). The benefit of using the project tool is that it can easily be executed to create new project files if new source file were added to a project or a new plugin or framework was added.

See Project Tool.

How do I create a new plugin project?

A description on how to create a new plugin project can be found here: Custom Plugins.

How do I create a new framework?

A description on how to create a new framework can be found here: Custom Frameworks.

How do I create a new solution?

A description on how to create a new solution can be found here: Custom Solutions.

While debugging I hit a "critical stop". What does that mean?

A "critical stop" is a software break point. This breaking point will stop the program execution if a debugger is present when Cinema 4D is executed. Even if the execution stops, a "critical stop" is no crash and one can continue after that.

A plugin can trigger a critical stop using CriticalStop(). See Debug and Output Functions.

How do I deploy compiled plugins?

There is no special deployment process or installation procedure for Cinema 4D plugins. The plugin can simply be shipped in a ZIP archive.

Adapting Previous Plugins

Do I need to recompile existing plugins?

Existing (pre R20) Cinema 4D C++ plugins must be recompiled. It is needed to create a new plugin project, preferably using the Project Tool.

Note
Over the next releases (R20+) it will be necessary to recompile plugins for each major release of Cinema 4D.

See Getting Started: Introduction.

Do I need to rewrite my plugins?

in order to recompile existing plugins, the C++ source code must be adapted. This means to include new features like error handling and to replace deprecated functions and classes.

See API Transition and Replacements.

How do I ignore the MAXON styleguide?

Part of the SDK is the Source Processor. This script checks the source code and creates additional utility code.

While processing the code the script checks if the MAXON code style has been followed. This can be disabled in the projectdefinition.txt file. See Stylecheck.