4.8.1 - Arnold for Cinema 4D
26 March 2025
C4DtoA 4.8.1 uses Arnold 7.4.1.0 and is a feature release including performance improvements, initial GPU support for Toon shading, a new html-based Render Report, object matte workflow improvements, and many bug fixes. Cinema 4D 2024.0 support is dropped, and the minimum required Cinema 4D 2024 version is now 2024.4.
Installation
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.
Cinema 4D Compatibility
- 2023.0.0 and above
- 2024.4.0 and above
- 2025.0.0 and above
Enhancements
Arnold Object Matte tag: The Arnold Object Mask tag is renamed to Arnold Object Matte and new Object ID and Custom Material modes are added. The Arnold Custom AOV tag is removed, use the Custom Material mode in the Arnold Object Matte tag instead. (C4DTOA-3359)
Puzzle Matte: You can now write out Puzzle Matte AOVs from the Arnold Object Matte tag. (C4DTOA-3358)
Simplified material preview settings: Shader-specific preview settings are now removed from the Arnold Node Material and from the Preferences. (C4DTOA-3345)
Arnold Scatter transform on/off: You can now turn the position, scale, and rotation offset in Arnold Scatter on and off. (C4DTOA-3369)
Arnold Scatter shape distribution auto-update: Knots in Arnold Scatter shape distribution settings are now updated automatically based on the number of child shapes. (C4DTOA-3370)
Render stats report: An HTML-based, interactive viewer for the Arnold render statistics. You can quickly visualize and inspect detailed render stats such as frame render time, memory usage, render time by category or by node, and texture usage. (ARNOLD-14140)
- GPU Toon shading: Arnold GPU now includes initial support for the Toon shader and the contour filter. The Toon shader is currently limited to rendering direct lighting only (no reflections, refractions, or indirect lighting). (ARNOLD-15656, ARNOLD-15988)
- Faster procedural instancing: Arnold is faster at rendering scenes with complex hierarchies and point instancers. The new
options.procedural_instancing_optimization
flag usually produces speedups between 1-2x, but for sufficiently complex scenes the speedup can be significantly larger. This new optimization defaults toexhaustive
mode, which gives the most speedup. Exhaustive mode may use more memory; you can switch toconservative
mode to use only the optimizations that do not consume additional memory. This setting is currently only supported for batch CPU rendering. (ARNOLD-14208)
Better scaling for parallel scene init/update: The parallel scene init and update are now faster than before, especially on many-core machines. (ARNOLD-14902, ARNOLD-15718)
Reduced scene update time with progressive batch renders: Negative AA progressive renders no longer perform a redundant full scene update on the final pass. (ARNOLD-15974)
Improved interactivity when using only skydome and distant lights: Scenes that contain only skydome and distant lights are now significantly more interactive, especially in scenes with many nodes. A scene with close to nine million nodes that rendered in about 1fps now allows for more than 20fps. (ARNOLD-16114)
Light transforms in point instancer: When an instancer contains lights, it now takes their local matrix into account if
instance_inherit_xform
is enabled. (ARNOLD-16028)
-
Improved Global Light Sampling: Rendering photometric (IES) lights and mesh lights using Global Light Sampling is now higher quality, using the same render settings and taking the same render times. (ARNOLD-13692, ARNOLD-15859)
Before-and-after comparison: improved renders of various IES profiles (with equal render times and render settings)
Before-and-after comparison: improved renders of a motion-blurred mesh light (with equal render times and render settings)
Lights in procedural instances: When you instance a procedural, any lights created by the procedural are copied for each instance. For example, instances of ASS or USD assets with lights now render the lights properly. (ARNOLD-15657)
Imager run once mode: Imagers can now be set to run only once, at the end of a bucket or the end of a completed final frame. This can be useful for particularly expensive imagers and can be enabled via the
ImagerProperties::run_once
property. (ARNOLD-12191)OpenColorIO 2.4.1: OpenColorIO has been updated to v2.4.1. (ARNOLD-15681)
Improved MaterialX support: MaterialX has been upgraded to v1.38.10-OpenPBR, this new version brings support for the OpenPBR MaterialX node, improved Lama support and new nodes such as the NPR nodes. See v1.38.10, v1.38.9 release notes for details. (ARNOLD-15659)
Update Autodesk Desktop Licensing installer Arnold now uses Autodesk Desktop Licensing installer version 15.1, which includes the following components: AdskLicensingService 11.16.6.5912, AdskLicensingAgent 5.20.12.4281, and AdskLicensingInstHelper 2.13.1.2514.
USD Enhancements
Hydra-based USD translation: When you render USD, Arnold now uses Hydra by default to handle the translation of USD to Arnold, which makes the render consistent with the Hydra render delegate usd#2248. You can roll back to the previous behavior with
options.usd_legacy_translation on
, or by setting the environment variablePROCEDURAL_USE_HYDRA=0
. (ARNOLD-15977).Reduced USD memory usage: USD geometry buffers are shared with Arnold, which removes one copy of the scene in interactive mode usd#2148. As an example, rendering a high resolution USD mesh with 30 million polygons now consumes 5.5 Gb instead of 7.5 Gb to render. During batch renders, the Hydra-based USD procedural now releases the USD stage memory once the translation is done usd#2228.
Distant Lights normalize support : Distant lights now support the normalize attribute, so you can now disable normalize (before it was always enabled and the normalize attribute was ignored). You can use the Arnold option
usd_legacy_distant_light_normalize
to roll back to the previous behaviour. (usd#2176)USD 24.11: The USD procedural now uses USD 24.11.
API Additions
Replace AtImagerSchedule with AtImagerProperties: The
imager_prepare
API has a newAtImagerProperties
structure that provides more control over how an Imager should run. (ARNOLD-15774)Setting Imager bucket / full frame schedules will now work like so:
imager_prepare { if (run_imager_full_frame) properties.schedule_full_frame = true; else properties.schedule_bucket = true; }
Improved return values for device selection API: AiDeviceSelect and AiDeviceAutoSelect now return the AtDeviceSelectErrorCode enum instead of an int to better describe the error status of the API call. (ARNOLD-14652)
AtDeviceSelectErrorCode SUCCESS Device selection was successful FAILURE_NO_DEVICES_FOUND No Arnold compatible devices found FAILURE_NAME No matches found for options.gpu_default_names regular expression FAILURE_MEMORY No matching device has free memory greater than options.gpu_default_min_memory_MB threshold FAILURE_INVALID_ID Invalid device id in selection FAILURE_UNSUPPORTED Unsupported device in selection FAILURE_UNKNOWN Generic error AiProceduralExpand now updates procedurals: This API function now both initializes and updates the procedural node, along with expanding (loading) the children nodes. This ensures any custom
procedural_update
functions are called. (ARNOLD-15898)Viewport proxies for points, polymeshes, and volumes:
AiProceduralViewport()
now accepts non-procedural nodes such as points, polymesh, and volume, and returns viewport proxy representations. (ARNOLD-15941)Render stats report API:
AiReportSetFileName()
sets the file name so that the render creates a render stats report (an html file),AiReportGetFileName()
gets the render report file name. (ARNOLD-14140)Cryptomatte metadata: Common cryptomatte metadata is now included in the Arnold core, so plugins do not require an mtd file for cryptomatte. (ARNOLD-15661)
Incompatible Changes
Cinema 4D 2024 support: The minimum required Cinema 4D 2024 version is now 2024.4. Versions below 2024.4 are not supported. (C4DTOA-3320)
This Arnold version breaks binary compatibility. Shaders, procedurals, and other plugins compiled against older versions of Arnold are not compatible with this version of Arnold and must be updated and recompiled.
Autodesk Network Licensing version: Arnold 7.4 switches to
ARNOL_2026
licensing. (ARNOLD-15400)- Single-user subscriptions will work with Arnold 7.4. The plugin installers automatically register the new version. If you do not use a plugin, then after you download Arnold, open the Arnold License Manager and click Register.
- Existing network licenses will not work with Arnold 7.4. Log on to your Autodesk account to generate your new
ARNOL_2026
licenses. - If you do not run the installers, and you manually register Arnold, then use
--pk C0PR1 --pv 2026.0.0.F
with theAdskLicensingInstHelper
command.
Removed sss_use_autobump option: Use the per-object
autobump_visibility
flag. (ARNOLD-15782)Removed legacy_volume_albedo: This option is no longer available as the new volume albedo is more useful. (ARNOLD-15782)
Removed AiMsgSetCallback(), AiMsgAddCallback(), AiMsgResetCallback(): Use
AiMsgRegisterCallback()
andAiMsgDeregisterCallback()
instead. (ARNOLD-15782)Removed AiASSLoad(), AiASSWrite(), AiASSWriteWithMetadata(): Use
AiSceneLoad()
andAiSceneWrite()
instead. (ARNOLD-15782)Removed deprecated versions of AiOrenNayarBSDF() and AiMicrofacetSetThinFilm(): Use the version with the same function name but additional arguments. (ARNOLD-15782)
Removed AiLoadImage(): Use
AiReadImage()
instead. (ARNOLD-15782)Deprecated enable_new_quad_light_sampler and enable_new_point_light_sampler options: The new samplers should always be better, so these options are marked as deprecated and will be removed in a future version of Arnold. (ARNOLD-15782)
Distant Lights normalize support : Distant lights now support the normalize attribute, so you can now disable normalize (before it was always enabled and the normalize attribute was ignored). You can use the Arnold option
usd_legacy_distant_light_normalize
to roll back to the previous behaviour. (usd#2176)Single full scene update in batch: Arnold now only does a single full scene update for render sessions in batch mode. This can cause issues for plugins allowing the modification of the scene in batch sessions, as dependencies between nodes are not tracked. Plugin developers should use interactive render sessions when modifying the scene. (ARNOLD-15974)
Legacy Arnold Material is deprecated: The legacy Xpresso-based Arnold Material is now deprecated. The default material system setting is removed from the Preferences and Node Materials are preferred. You can convert legacy materials to Node Materials through the Arnold > Utilities > Material > Convert plugin menu. If needed, you can still create the legacy material node through the Create > Extensions menu from the Material Manager. (C4DTOA-3295)
Arnold tag inheritance in Cloners: Child objects now inherit the Arnold Parameters tag of a parent Cloner only if they have no Arnold tag assigned. Previously the Cloner's tag was overriding the child object's tag. (C4DTOA-3319)
Length unit and degree user attributes: User attributes that are in length unit are now exported to the Arnold scene length units. That means they are scaled up or down, based on the Export Scale value in Arnold Render Settings. The Z component of vector type length unit attributes is also inverted, because Cinema 4D and Arnold use different coordinate systems (left vs right handed). Degree type user data is now exported as degree instead of radian. User attributes in old scenes have to be adjusted accordingly. (C4DTOA-3334)
Title case labels: All attribute labels are now changed to title case format (capitalized first letter of every major word). If you reference attributes by name in the overlay imager or scripts, then they have to be updated. (C4DTOA-1587)
Bug Fixes
- C4DTOA-1732 - Arnold tag on an Instance Object is ignored when the instance is deformed
- C4DTOA-1874 - Arnold tag on a Cloner has no effect in Multi-Instance mode
- C4DTOA-3334 - User data parameters do not respect length unit and degree settings
- C4DTOA-3354 - Lost material link when converting legacy to Node Material
- C4DTOA-3357 - Random crash in command-line render at scene load
- C4DTOA-3366 - Incorrect object mask if tag is assigned to a root Null object
- C4DTOA-3368 - Arnold Scatter instance alignment and push apart does not respect object hierarchies
- ARNOLD-15723 - No visible layering when layering a dielectric on top of a diffuse Lama shader. In MaterialX, layering of a Lama dielectric node on top of a Lama diffuse node was not generating the correct appearance of the diffuse surface coated with the dielectric. The OSL layering logic in Arnold has been improved to fix this issue.
- ARNOLD-15713 - [MaterialX] Mix shader does not work as surface shader
- ARNOLD-15834 - Sampling noise is now consistent across renders
- ARNOLD-15686 - Utility AOV shader crashes Arnold if skydome has a texture
- ARNOLD-15842 - OSL shader not rebuilt when a parameter is modified
- ARNOLD-15858 - Per-light sampling performance regression fix
- ARNOLD-15892 - Procedural bounds are not updated when its child objects undergo motion transforms
- ARNOLD-15905 - Lens effect doesn't update correctly when the render resolution changes
- ARNOLD-15914 - [GPU] Arnold should throw an error when the shader stack size cannot be determined
- ARNOLD-14467 - [GPU] GPU crash during JIT compilation
- ARNOLD-15939 - Nodes created in procedural_update ignore procedural matrix
- ARNOLD-15942 - Crash when modifying a parameter that triggers procedural reloading during scene update
- ARNOLD-15943 - Procedural bounding box is not recalculated after creating or removing nodes in procedural_update, leading to clipped objects in renders or poor performance.
- ARNOLD-15948 - Crash when destroying an object node from procedural_update
- ARNOLD-15983 - OpenEXR DWAA float textures read incorrectly
- ARNOLD-15993 - Raw drivers receiving incorrect number of samples
- ARNOLD-16000 - Dependencies should not be added when enable_dependency_graph is disabled
- ARNOLD-16005 - Hang in AiProceduralViewport with ginstance nodes
- ARNOLD-16041 - [MaterialX] connections to named nodegraph outputs do not work
- ARNOLD-16050 - [MaterialX] ND_mix_surfaceshader renders black when assigned from materialx operator
- ARNOLD-15985 - [MaterialX] Parameter with "defaultgeomprop" attribute set overrides connection
- ARNOLD-15986 - [MaterialX] Crash when node with the same name exists inside a nodegraph
- ARNOLD-16053 - Triplanar produces artifacts on GPU with some NVIDIA drivers
- ARNOLD-16060 - Lights under procedurals cannot be transformed during interactive renders
- ARNOLD-16073 - Prevent instancer from setting invalid custom names to child nodes
- ARNOLD-16081 - Subdivided meshes included in cached procedurals were not always correctly identified, which might cause differences in the subdivision results
- usd#2201 - Hydra procedural should not modify the input usd stage with shutter range
- usd#2197 - MaterialX textures not applied properly in hydra through mayaHydra
- usd#2208 - Fix unnecessary allocations in the instancer and mesh
- usd#2218 - Fix Hydra warning with orthographic cameras
- usd#2219 - Fix race condition in Hydra with node names
- usd#2224 - Fix warning "HdArnoldDriverMain is already installed"
- usd#2225 - Fix crash in point instancers with missing prototypes
- usd#2232 - Fix incorrect husk render of left-handed indexed meshes with normals
- usd#2234 - Fix warning "Selected Hydra renderer doesn't support prim type 'RenderSettings'"
- usd#2239 - OpenVDB asset with explicit fieldName does not render in Hydra
- usd#1402 - Incorrect transform when exporting parented objects to USD
- usd#2227 - Hydra procedural breaks the Arnold log
- usd#2240 - Default volume shader should be assigned in the USD procedural
System Requirements
- Windows 10 or later, with the Visual Studio 2019 redistributable.
- Linux with at least glibc 2.17 and libstdc++ 4.8.5 (gcc 4.8.5). This is equivalent to RHEL/CentOS 7.
- macOS 10.13 or later.
- x86-64 CPUs need to support the SSE4.1 instruction set. Apple Mac models with M series chips are natively supported.
- GPU rendering and OptiX denoising work on Windows and Linux only, and require an NVIDIA GPU with the Maxwell architecture or later.
- On Linux, we recommend 560.35.03 or higher drivers.
- On Windows, we recommend 560.76 or higher drivers.
- Intel OIDN GPU support is limited to:
- MacOS
- Apple native CPUs (M1 and newer)
- Windows
- Intel Xe dedicated and integrated GPUs
- NVIDIA GPUs using Turing or newer architectures
- AMD GPUs with RDNA2 (Navi 21 only) and RDNA3 (Navi 3x) architectures
- MacOS