27 March 2024
C4DtoA 4.7.1 uses Arnold 7.3.1.0 and is a major feature release bringing improvements to the Arnold Scatter object and a number of bug fixes.

Download Arnold for Cinema 4D from your Autodesk Account. See Download Arnold for more information about downloading C4DtoA from your Autodesk Account.
Follow these installation instructions.
Lily & flower objects scatterd over a Flower spline object
Lily & flower objects scatterd over multiple Disc and Spline objects distributed by a Cloner
![]() |
![]() |
| Lilies scattered over a plane surface, push apart turned off. | Lilies scattered over a plane surface, push apart turned on. |
Arnold Scatter viewport display: You can now select the color of instances displayed in the viewport, whether it is the final color, the Display Color of source shapes or the Display Color of the Arnold Scatter object. (C4DTOA-3185)
Enable denoising in new scenes: When selecting Arnold as the active renderer, an Intel ® Open Image Denoiser imager (OIDN) is now automatically created and added to the scene, thus you render with denoising enabled. Automatic denoising can be turned off from the Preferences. (C4DTOA-3151)
![]() |
![]() |
| without denoising | with imager_denoiser_oidn |
![]() |
| Automatic denoising can be turned off from the Preferences |
![]() |
| Curves in viewport |
Arnold Sky visibility: A new checkbox allows you to easily turn the visibility of the Arnold Sky to camera rays on and off. (C4DTOA-3182)
Update Intel Open Image Denoise (OIDN) to version 2.2.2: The updated denoiser has 10% better performance on CPU, includes some critical bug fixes, and handles high-frequency details better. (ARNOLD-14772)
OptiX denoiser runs on progressive negative AA passes: The OptiX denoiser imager now denoises the low-resolution progressive passes (renders with AA < 0). This should result in higher quality feedback in IPR. (ARNOLD-11487)
![]() |
| Left side shows the previous behavior where denoising was only applied to the AA > 0 passes. Right side is new behavior where all progressive passes are denoised. |
MaterialX node definitions: The MaterialX node definitions for Arnold shaders now use the standard surfaceshader and volumeshader types, which make them easier to use in DCCs and mix with standard library shaders. The UI for Arnold MaterialX shaders is also improved with the addition of parameter groups and node categories. (ARNOLD-14717, ARNOLD-14736, ARNOLD-14716)
OCIO environment variable priority: The OCIO environment variable now takes priority over the configuration file set in the Arnold OCIO color manager as well as the builtin OCIO configuration file. A new ignore_environment_variable parameter on the OCIO color manager causes Arnold to ignore the value of the environment variable and restores the previous behavior. The OCIO environment variable is also now taken into account by maketx. (ARNOLD-9012)
Progressive dithered sampling: Arnold now supports dithered samples in progressive and adaptive rendering. Dithering brings nicer noise distributions at low AA sample counts. (ARNOLD-10739)
![]() |
![]() |
| before 7.3.0.0, AA=1 | 7.3.0.0, AA=1 |
Improved MaterialX support: Arnold can now render MaterialX node graphs mixing Arnold nodes with MaterialX standard library nodes. DCCs loading the Arnold node definitions benefit from the newly added UI metadata and provide a better user experience. Arnold also now uses MaterialX 1.38.8, this update brings new nodes in the MaterialX standard library, for a full list of changes please see the full release notes. (ARNOLD-14286, ARNOLD-14623, ARNOLD-14513)
Emission and per-light-group AOVs: Per-light-group indirect AOVs no longer include emission. Emissive surfaces now only appear in the "default" light group output. When using emission in shaders, the sum of the light group AOVs will now add up to the beauty pass. (ARNOLD-9453)
Evaluate autobump in SSS on GPU: Autobump will now be evaluated in the SSS computation with the GPU renderer when the sss_use_autobump option is enabled, this matches the behavior when rendering on CPU. (ARNOLD-8494)
Device selection in the Intel Denoiser: It is now possible to toggle between Auto/CPU/GPU for OIDN denoiser imager. Arnold now also provides accurate timing information for the denoiser in the log. (ARNOLD-14524, ARNOLD-14526)
Batch renders now abort on license fail: Arnold now aborts if there is a license error in a batch render. The option abort_on_license_fail is now true by default, and applies to batch renders only. This means you don't have to check rendered image sequences for watermarks. Interactive renders do not abort, and have a watermark on license fail as usual. The environment variable ARNOLD_FORCE_ABORT_ON_LICENSE_FAILoverrides this default behavior (0 = batch and interactive render with watermarks on license fail, 1 = batch and interactive abort on license fail). (ARNOLD-13024)
Add license checkout time to render statistics: The render statistics now include the "license checkout time", which is the time in microseconds spent on license checkout for a specific render. This is useful to users to diagnose long checkout times when rendering in batch. (ARNOLD-13497)
New network server configuration modes in the License Manager: You can now choose a license file or specify a three server redundancy setup on the network server configuration tab in the License Manager. (ARNOLD-14586, ARNOLD-14615)
Upgrade to OpenColorIO 2.3.2: OpenColorIO library has been upgraded to use version 2.3.2. For the list of changes see the release notes for 2.3, 2.3.1, and 2.3.2. (ARNOLD-14026)
Updated Alembic to 1.8.5: The Alembic procedural has been upgraded to use version 1.8.5 of the Alembic library. (ARNOLD-14448)
Autodesk Analytics Program: A newer version of the Autodesk Analytics Program (ADP) has been integrated into Arnold. This brings stability improvements. (ARNOLD-13805)
AI_NODE_IMAGER node type. usd#1870The API is built upon a new AI_NODE_IMAGER node type and is implemented via two main API.
imager_evaluate allows you to modify output pixels of a render.#define imager_evaluate
static void ImagerEvaluate(AtRenderSession* render_session, AtNode* node, struct AtOutputIterator* iterator, int bucket_xo, int bucket_yo, int bucket_size_x, int bucket_size_y, uint16_t tid)
imager_prepare is an optional API allows you to query the outputs an imager will recieve and prepare any evaluation specific data.#define imager_prepare
static void ImagerPrepare(AtRenderSession* render_session, AtNode* node, const AtNode* driver, struct AtOutputIterator* iterator, AtImagerSchedule& schedule);
Additionally, there are a couple of helper APIs for the imager_prepare method. These API let you request additional inputs to be rendered for imager evaluation, and to add additional output layers that the user may want to write to the driver.
AI_API bool AiImagerAddInput(AtRenderSession* render_session, const AtNode* imager, const AtNode* driver, int aov_type, AtString aov_name, AtNode* filter);
AI_API bool AiImagerAddOutput(AtRenderSession* render_session, const AtNode* imager, const AtNode* driver, int output_type, AtString output_name);
Improved builtin metadata: Node and node parameter definitions have been further augmented with metadata that could be useful across DCCs. The metadata that have been added or improved are the following: help, category, ui.groups. Some of these metadata were previously distributed as separate mtd files in each DCC. (ARNOLD-14677, ARNOLD-14678, ARNOLD-14702, ARNOLD-14661)
Builtin metadata: Nodes and their parameter definitions have been augmented with more metadata that could be useful across DCCs. The metadata that has been included are the following: animateable, default, help, gpu_support, hide, linkable, max/min, softmax/softmin and units. Some of these metadata were previously distributed as separate mtd files in each DCC. (ARNOLD-10265)
Remove _private functions from BSDF API: The functions AiMicrofacetBSDF_private and AiMicrofacetRefractionBSDF_private (included to support dielectric priority) have now been removed from the BSDF API. The functions AiMicrofacetBSDF and AiMicrofacetRefractionBSDF now take dielectric_priority as an optional argument. (ARNOLD-14166)
Expose conductor Fresnel mode as an enum in AiMetalBSDF: AiMetalBSDF has been modified to accept an AtMetalFresnelMode enum argument, selecting between the original "Gulbrandsen" conductor Fresnel model and the new "F82-tint" model. (ARNOLD-14165)
Expose random walk version in the closure API: AiClosureRandomWalkV2BSSRDF has been removed, and instead the existing AiClosureRandomWalkBSSRDF has been modified to accept an AtRandomWalkVersion enum argument, selecting between the original v1 and v2 SSS modes. (ARNOLD-14164)
Expose thin walled transmission in the public BSDF API: AiMicrofacetBSDF has been modified to accept an optional thin_walled_transmission argument, which specifies the fraction of the BSDF considered to represent a thin-walled dielectric. This is used to implement thin-walled transmission in Standard Surfaces. This was previously implemented in a way that circumvented the API, which has been fixed to be more explicit with this change. (ARNOLD-14167)
Provide azimuthal roughness to AidEonBSDF: AidEonBSDF has been modified to accept a roughness_azimuthal argument, specifying the specular roughness for azimuthal scattering specifically. This is in addition to the existing roughness argument specifying the specular roughness for longitudinal scattering. (ARNOLD-8325)
Removed AiADPSetIntroShown() and AiADPDialogStrings(): These deprecated functions were removed from the Arnold API. (ARNOLD-13805)
Change AiUniverseCacheFlush API to receive a non-const universe: The AtUniverse passed into AiUniverseCacheFlush() was changed from const to non-const. (ARNOLD-14548)
Remove deprecated AiGPUCachePopulate functions: Deprecated functions AiGPUCachePopulate(), AiGPUCachePopulateStatus(), AiGPUCachePopulateRemainingSeconds(), and AiGPUCachePopulateTerminate() have been removed. (ARNOLD-14570)
Remove deprecated AiRenderSetCallback function: Deprecated function AiRenderSetCallback() has been removed. (ARNOLD-12583)
Text overlay: Text overlay settings are removed from the Arnold render settings and converted to an overlay imager. Overlay settings of IPR snapshots are also removed, they now have to be defined also via an overlay imager. (C4DTOA-3032)
Arnold Scatter push apart: Push apart algorithm in Arnold Scatter has been changed and it is now executed after calculating transformation and executing Effectors. That means old scenes which has Push Apart enabled will now look different. (C4DTOA-3174)
Layer shader default values: Layers in layer_float and layer_shader shaders are now disabled by default to be consistent with the layer_rgba shader. Old scenes are not affected, however saving a scene with C4DtoA 4.7.1 and loading in a previous version might break the look. (C4DTOA-3167)
OCIO environment variable priority: The OCIO environment variable now takes priority over the file set in the Arnold OCIO color manager. Setting color_manager_ocio.ignore_environment_variable to true restores the previous behavior.
This version breaks binary compatibility: Shaders, procedurals, and other plugins compiled against older versions of Arnold are not compatible with this version of Arnold and need to be updated and recompiled.
Autodesk Network Licensing version: Arnold 7.3 switches to ARNOL_2025 licensing. (ARNOLD-14292)
ARNOL_2025 licenses.--pk C0PQ1 --pv 2025.0.0.F with the AdskLicensingInstHelper command.abort_on_license_fail defaults to true: Arnold now aborts by default if there is a license error in batch renders. You can revert to the previous behavior by setting the abort_on_license_failto false, or by using the new ARNOLD_FORCE_ABORT_ON_LICENSE_FAIL environment variable. (ARNOLD-10455, ARNOLD-13024)
Emission and per-light-group AOVs: Per-light-group indirect AOVs no longer include emission. (ARNOLD-9453)