22 October 2026
Arnold for Cinema 4D 4.9.5 uses Arnold 7.5.4.0 and is a minor feature release.
Arnold 7.5.4.0 is a feature release that includes a new Shader Imager for interactive compositing, a faster and more responsive accelerated viewport, the ability to pause and resume renders, a new Rim Light shader, faster scene updates for deforming meshes and GPU renders, and more.
C4DtoA 4.9.5 adds support for the new Shader Imager, a new viewport render with an accelerated mode, pause and resume in the IPR, a Frame Time Limit for batch renders, mip-map levels of detail for OpenVDB volumes, shader assignment on Gaussian splats, ramdisk URLs in texture filenames, and agent skills for AI coding agents.
C4DtoA includes a Tech Preview of Flow Render, an Arnold cloud-rendering solution. We are providing 2400 minutes (per user, per month) of rendering time to Arnold users for testing and evaluating the service. Please report any feedback or issues in the Arnold feedback forums.
In this release, Flow Render adds support for custom OCIO configs, UDIM tile tokens in texture filenames, and a per-frame render time limit.
See the Flow Render Tech Preview documentation for more information.
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.
![]() |
![]() |
| Different OSL-authored styles applied to the same render via the Shader Imager | Painterly brush strokes applied to a portrait render via the Shader Imager |

Accelerated mode: Viewport render supports an accelerated mode. It gives a smoother, more responsive experience, with less noise while you move the camera. You get a usable image sooner and can stay in the viewport while you work on lighting and do look development. Turn on Accelerated Mode in the Viewport Settings. Imagers, including the new Shader Imager, are not applied in accelerated mode. See Viewport Rendering. (C4DTOA-3638, C4DTOA-3647, ARNOLD-18151)
Responsive navigation: In accelerated mode, when you move the camera, the viewport gets to an interactive frame rate quickly and holds it, then returns to full quality once the camera settles. To keep up, it can drop several quality settings in one step and render at a reduced resolution. These navigation optimizations apply to GPU rendering only. (ARNOLD-18083, ARNOLD-18181, ARNOLD-17770)
![]() |
| Accelerated mode (GPU) in real time: the resolution drops while the camera moves and returns to full resolution once it stops. |
A cleaner, sharper image: In accelerated mode, the viewport shows a cleaner, sharper image closer to the final result while you navigate and edit the scene. (ARNOLD-18001, ARNOLD-18113, ARNOLD-18197, ARNOLD-18252, ARNOLD-18418, ARNOLD-18401, ARNOLD-18459, ARNOLD-18572, ARNOLD-18608)
CPU rendering in accelerated mode: Accelerated mode also works when you set Render Device to CPU in the Viewport Settings. A GPU device is still required for the viewport processing stage. Without one, Arnold logs a warning and falls back to a normal render. (ARNOLD-18154, ARNOLD-18214, ARNOLD-17853, ARNOLD-18133)
Pause and resume in the IPR: Pausing the IPR now pauses the render in place, freeing CPU and GPU resources until rendering is resumed. Resuming picks up exactly where rendering left off, keeping all the pixels rendered so far. Previously, pausing only prevented IPR restarts on scene updates. (C4DTOA-3607, ARNOLD-11048)
Stop a batch render after a fixed time: The new Frame Time Limit (Batch) setting, in the Sampling section of the Arnold Render Settings, stops a batch render after about that much time per frame and writes out the image reached so far. This is useful for shots that have to be delivered by a certain time. Choose seconds, minutes, or hours. The render uses the progressive sampler, so the image is complete but noisier than a converged render. The limit is approximate: the render can run longer if some pixels don't have valid data yet. It is ignored in interactive rendering. (C4DTOA-3633, ARNOLD-18340)
New Rim Light shader: The Rim Light shader is a standalone node that outputs the same rim lighting that you get from the Toon shader. For stylized rendering, such as non-photorealistic rendering (NPR), you can layer the rim light into any shader network, without using Toon, and use the rim lighting as a discrete RGB component rather than a fixed, built-in effect. (C4DTOA-3610, ARNOLD-17744)

![]() |
![]() |
Specular shader's Specular Weight renamed Reflectivity: The Specular Weight parameter of the Specular shader is now called Reflectivity, which describes better what it does: it multiplies the dielectric Fresnel reflectivity without affecting refraction. The old name is still accepted as a synonym, so existing scenes keep working. (ARNOLD-18136)
Detect Arnold from OSL shaders: OSL shaders can now call getattribute("renderer:name", ...) and getattribute("renderer:version", ...) to check whether they are running in Arnold, and in which version. This lets you write shaders that use Arnold-specific behavior and still work in other renderers. (ARNOLD-18066)
Arnold Denoiser moved to Utilities menu: The Arnold Denoiser tool, which allows you to denoise EXR images with the noice command-line executable, is now available from the Utilities menu in the Render Settings. (C4DTOA-3613)
Noice denoiser: The Filter Strength of the Arnold Denoiser (Noice) now behaves consistently across all rendering filters, instead of requiring a different optimal value per filter as before. The recommended range is 0.6 to 0.8, depending on your preference for the detail/noise tradeoff. (ARNOLD-18168)
Automatic configuration of variance_filter parameters: The variance_filter, used by the Arnold Denoiser (Noice), has parameters width and filter_weights that need to match the filter settings of the corresponding AOV. Incorrectly setting this will hurt denoiser quality. Arnold now sets the width and filter_weights automatically, so you can ignore them. Using them will trigger a deprecation warning. A future version of Arnold will remove these now unused parameters. (ARNOLD-17982)
Faster GPU scene updates: GPU renders of scenes with many objects or instances now start sooner and react faster to interactive edits, such as moving objects or adding, removing, or changing instances. In scenes with many instances, the GPU acceleration structures also use less memory. (ARNOLD-17900, ARNOLD-18140, ARNOLD-18160, ARNOLD-18179, ARNOLD-18376, ARNOLD-18380, ARNOLD-18384) For example:
Warning when the GPU is out of video memory: On Windows, Arnold now warns you when a GPU render is close to exceeding the GPU memory budget provided by the operating system. When GPU memory goes over budget, GPU renders become very slow, followed by possible crashes and hangs. (ARNOLD-17693)
Better accounting of GPU memory in stats: Previously unaccounted-for GPU memory is now reported in the stats as compute stacks. This is the GPU memory allocated by each GPU thread to do its computation. This memory increases with the number of GPU cores, not with scene complexity, and is usually a few GBs in size. (ARNOLD-17310)
Faster updates when deforming meshes: When a mesh deforms in an interactive session, such as when animating or sculpting, Arnold can now process it faster (ARNOLD-18289, ARNOLD-18321, ARNOLD-18544). For example:
Faster motion blur with varying motion keys: Arnold now renders scenes more efficiently when objects have different numbers of motion keys or different motion start and end values. Previously, these differences could cause significant slowdowns. In a test scene with 39k moving objects, render time dropped from 3.76s to 0.28s (13.4x faster) when 90% of objects had 5 keys and 10% had 2. Another scene with 30 different motion time ranges and 1–9 keys per object improved from 1.37s to 0.31s (4.4x faster). This optimization increases acceleration structure memory usage based on the maximum number of motion keys per object. Performance and memory usage remain unchanged for scenes where objects already use consistent motion keys. (ARNOLD-6597)
Faster light importance map calculation: Quad light importance maps are now multithreaded and significantly faster. For example, a 4096x4096 quad light map went from 3.7s to 0.12s. Skydome light importance maps are now built before rendering starts, and are up to 2x faster with 32 or more threads. Rendered results and memory use are unchanged. (ARNOLD-18155)
Faster BVH builds for objects with invalid geometry: Some objects contain primitives that are invalid or have unusable bounds, such as NaN or infinite vertex positions, or points with a negative radius. Building the BVH for these objects used to include a pass over every one of their primitives that ran on a single thread. That pass has been removed, so these objects no longer slow BVH builds down on machines with many cores. In a stress test with a 387-million-primitive object on a 24-core machine, this step went from 2.1s to under a millisecond. (ARNOLD-16616)
Optimized dependency graph: The Arnold dependency graph used in interactive sessions is now more efficient and uses about half as much memory. For example, in a test scene with 1 million dependencies between nodes, each dependency now uses 203 bytes instead of 405 bytes. (ARNOLD-16102)
Parallelized nodes destruction: When the Arnold universe is deleted, the nodes are now deleted in parallel, making the shutdown time faster. The USD Caldera scene is now 3.6x faster at render shutdown. (ARNOLD-16156)
Shaders support in the dependency graph: The shading trees are now properly handled by the node dependency graph. Shaders can now be deleted during interactive renders without requiring additional process on the plugin side. (ARNOLD-7064)
![]() |
![]() |
| Beauty | roughness AOV |
Thanks to Alex Mateo for the use of the Salita scene.
More detailed timing stats: Scene creation time now has two subsections: scene setup and scene load (this is for all scene formats, not just ASS scenes). In the general frame time, a new render setup time was added, which covers one-time setup (both CPU and GPU) and has a separate gpu context creation subsection for GPU. Finally, light-tree building is now correctly accounted for and included in light-accel building. (ARNOLD-16395)
Alembic procedural is now a built-in node: The alembic node is included in Arnold and is not a separate library in the plugins subdirectory. (C4DTOA-3630, ARNOLD-18288)
Updated DLSS: The DLSS library used by the viewport render's accelerated mode is upgraded to version 310.9.1, which includes the newer DLSS 4.5 Ray Reconstruction model. (ARNOLD-18263)
Update network licensing: The Autodesk network licensing library is updated to version 3.4.0.4. (ARNOLD-18220)
Volume mipmap generation: You can now generate mip-map-like levels of detail in OpenVDB volume files, delivering faster, lower-memory volume rendering with cleaner detail at a distance. (C4DTOA-3588)
Gaussian splat shading: Built-in shading parameters have been removed from the Arnold Gaussian Splat object in favor of assigning a shader directly to the object. Use the Gaussian Splat shader for the intended result. Other Arnold shaders are also accepted, but render the splats as flat ellipsoids. (C4DTOA-3608, C4DTOA-3618)
Path metadata: Added support for the path metadata on Arnold node parameters. Parameters tagged path=file or path=folder now show a file browser control in the UI. (C4DTOA-2199)
Ramdisk URLs: Added support for in-memory ramdisk URLs (ramdisk://) in texture filenames. Ramdisk files are written to a temporary folder during translation to Arnold. (C4DTOA-3614)
AI agent support: C4DtoA now ships a set of agent skills in the skills folder of the plugin. They teach AI coding agents, such as those working through the Cinema 4D MCP server (introduced in Cinema 4D 2026.4), how to do common Arnold tasks from Python, such as creating Arnold materials, lights and OSL shaders, render AOVs, diagnose failed renders, and submit Flow Render jobs. To use them, copy the skill folders into your agent's skills directory. (C4DTOA-3658)
Custom OCIO config support: Custom OCIO configs are now supported when submitting scenes to Flow Render. (C4DTOA-3628, ARNOLD-17134)
Tile token support: The <utile> and <vtile> tokens are now supported in texture filenames. (ARNOLD-18206)
Frame time limit: The Flow Render Submitter has a new Frame Time Limit setting. A frame stops rendering when it reaches the time limit, and writes out the image rendered so far. The result is a complete image that is noisier than a fully rendered one. This is useful when shots have to be delivered by a certain time. (C4DTOA-3644, ARNOLD-18416)
UsdShadeCoordSysAPI, so named coordinate systems can be bound to a prim and referenced by the Space parameter of MaterialX shaders such as MtlX Position. See Material X for an example. (ARNOLD-18248) usd#32arnold:driver_exr:compression attribute. The compression set on the render product is still used as a fallback. usd#2742 usd#2731ray_direction and ray_origin inputs of the uv_camera are now supported in Hydra, which fixes cage handling when baking textures in Solaris. usd#2710HDARNOLD_GEOM_DEDUP environment variable sets the mode: 0 (no deduplication), 1 (point instancer prototypes only; the default), or 2 (all duplicate geometry). usd#2749Render pause API: New AiRenderPause() and AiRenderIsPaused() functions let a host pause a running render without losing progress, then resume it with the existing AiRenderResume(). AiRenderGetStatus() continues to report AI_RENDER_STATUS_RENDERING while a render is paused. Call AiRenderIsPaused() to check the pause state. (ARNOLD-11048)
Imager interrupt and resume APIs: When an imager or a shader under its graph is modified interactively, the imager passes should be interrupted using AiImagerInterrupt(). This interrupts only the imager passes, not the render itself. Once the imagers and its shaders have been modified, they can be resumed with AiImagerResume(), which replaces the previous request_imager_update render hint. (ARNOLD-11648)
Detect shaders used only by imagers: New AiShaderInImagerTree() function tells a host application whether a shader is used only by an Imager Shader. The host can call it on each shader edit during an interactive session, because it is fast enough to call every time. If it returns true, the host can make the edit between AiImagerInterrupt() and AiImagerResume() instead of interrupting the render. (ARNOLD-18297)
OSL screen coordinates: OSL shaders evaluated by the Imager Shader can read the screen position of the current pixel, in the 0–1 range, with two new attributes. getattribute("screen_uv", ...) has v = 0 at the bottom of the image, matching Arnold's convention and the Imager Shader's Screen UV mode. getattribute("screen_st", ...) has t = 0 at the top of the image, matching OSL's texture convention, so you can pass it to texture() without flipping. Both return screen-space derivatives, so texture() lookups are filtered correctly. See OSL Shaders. (ARNOLD-18419)
Volume grid type API: New AiVolumeFileGetChannelTypes() function lets you check whether a vdb grid is a volume channel or a points grid. (ARNOLD-18209)
AiGetRenderOutput() output properties: AiGetRenderOutput() takes a new optional AtRenderOutputProperties argument that sets how an AOV is written into the destination. This lets hosts copy directly into their own buffers without an extra conversion pass. destination_row_pitch lets the render region be copied into a CPU buffer wider than itself, such as a mapped viewport framebuffer. half_float converts the AOV to 16-bit half float on the GPU before a CPU transfer, which halves both the destination size and the amount of data copied. alpha_mode writes the alpha as is, inverted, or as a constant alpha_value, for example 1.0 for an opaque result. The defaults keep the existing behavior, so existing code compiles without changes, but it must be recompiled (see below). (ARNOLD-18283, ARNOLD-18284, ARNOLD-18285)
AtRenderOutputProperties argument changed the binary interface of AiGetRenderOutput(). Plugins and applications built against Arnold 7.5.3 that call AiGetRenderOutput() must be recompiled against the 7.5.4 headers. No source changes are needed. Binaries that are not recompiled still load, but their calls to AiGetRenderOutput() may crash or write incorrect data. Plugins and applications that do not call AiGetRenderOutput() are not affected. (ARNOLD-18283)