Share

4.9.5 - Arnold for Cinema 4D

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.

Flow Render Tech Preview

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.

Installation

Cinema 4D Compatibility

  • 2025.0.0 and above
  • 2026.0.0 and above
  • 2027.0.0 and above

Enhancements

Imager Enhancements

  • Shader Imager: The new Shader imager runs a shader network on the rendered image during the imager passes, so you can apply simple compositing graphs and do slap compositing interactively. Add it as a post effect with the Effect button in the Render Settings, or from the Post panel of the Arnold IPR window, and link an Arnold material to its Shader parameter. The network can read AOVs through OSL shaders or an image node, using filenames such as aov:diffuse and aov:albedo. During IPR, editing the shader network linked to the imager reruns the imagers without restarting the render. See Imager Shader in the Arnold documentation. (C4DTOA-3594, ARNOLD-10321, ARNOLD-18335)

Global Light Sampling Enhancements

  • Control indirect light samples with Global Light Sampling: When Global Light Sampling is enabled, Arnold previously used a single light sample per shading point on indirect (secondary) bounces. The new Indirect setting, under Global Light Sampling in the Advanced section of the Arnold Render Settings, lets you increase the number of indirect lighting samples to reduce noise in scenes with many lights, at the cost of additional sampling. The default is 1, matching the previous behavior. (C4DTOA-3624, ARNOLD-17084)

Viewport Render Enhancements

  • Viewport render: You can now render directly into the Cinema 4D viewport from the new Arnold viewport menu. Both CPU and GPU rendering are supported. Render progress and status are shown in the viewport HUD, so you can follow the render without leaving the viewport. Choose Settings... in the Arnold viewport menu to open the Viewport Settings, where you can set the Render Device, turn on Accelerated Mode, balance quality against speed with Interactivity, and show or hide the HUD. See Viewport Rendering. (C4DTOA-3636, C4DTOA-3642, C4DTOA-3649)
  • 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. This mode has some limitations, for example, imagers are not applied. Turn on Accelerated Mode in the Viewport Settings. (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)

  • A clean, sharp image while the camera moves: In accelerated mode, NVIDIA Deep Learning Super Sampling (DLSS) carries its accumulated reconstruction across camera moves instead of starting over every frame, so noisy scenes stay clean while you navigate. The upscaled image stays sharp, with little smearing and few blotchy artifacts right after the camera moves. Textures look close to their final appearance while they load. Once the camera stops, the Intel Open Image Denoise (OIDN) denoising preserves detail, and the switch from DLSS to the denoised image is smooth. (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)

Rendering Enhancements

  • 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)

Shader Enhancements

  • 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)

Denoising Enhancements

  • 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)

GPU Enhancements

  • 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. Geometry and user data are uploaded to the GPU in larger batches, and the acceleration structures use less memory. (ARNOLD-17900, ARNOLD-18140, ARNOLD-18160, ARNOLD-18179, ARNOLD-18376, ARNOLD-18380, ARNOLD-18384)

  • Warning when the GPU is out of video memory: On Windows, Arnold now warns you when a GPU render exceeds the GPU memory budget provided by the operating system. When GPU memory goes over budget, the GPU driver keeps the render alive by paging GPU memory out to system RAM, which can slow rendering down dramatically. (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)

General Performance Enhancements

  • Faster updates when deforming meshes: When a mesh deforms in an interactive session, such as when animating or sculpting, Arnold now updates it in place instead of rebuilding the whole mesh (ARNOLD-18289, ARNOLD-18321, ARNOLD-18544). For example:

    • Deforming a subdivided and displaced test character (17M polygons after subdivision) is 43% faster on both CPU and GPU.
    • Deforming a non-subdivided test character (1M polygons) with authored normals is 65% faster on CPU and 68% faster on GPU
    • Deforming every mesh in the 27,000-mesh Caldera USD scene is up to 78% faster on CPU and 75% faster on GPU.
  • Faster imager updates during CPU renders: On CPU, imagers that refresh the display partway through a render used to run on a single thread. A slow imager could take minutes to appear, and other threads could sit idle waiting for it at the end of a pass. Render threads now help with these kind of imagers, so intermediate results appear much sooner. This applies to the Shader, Lens Effects (except with the simple bloom mode), and Denoiser OIDN imagers on the CPU device. The final imager run, GPU renders, and other imagers, including Noice, the OptiX denoiser and third-party imagers, behave as before. (ARNOLD-18500)

  • More predictable imager updates during CPU renders: When deciding when to run imagers partway through a CPU render, Arnold now takes into account how long the previous imager run took, so the time spent on imagers stays close to its target share of the render time. Previously, short renders could spend a lot of their time running imagers, while long renders updated so rarely that the render could look like it had stopped. Arnold also resets this timing when you interrupt the render or edit an imager, so changes such as turning denoising on or off show up sooner. (ARNOLD-12642, ARNOLD-15447)

  • Faster motion blur when objects have different motion keys: When objects in a scene or procedural had different numbers of motion keys or different motion start and end settings, Arnold used to drop motion keys for all of those objects. Each object was then bounded over its whole motion, and renders could slow down by an order of magnitude or more. Arnold now keeps motion keys for these scenes. In a test with 39k moving objects, a scene where 90% of objects had 5 keys and 10% had 2 went from 3.76 s to 0.28 s. A scene with 30 different time ranges and 1–9 keys per object went from 1.37 s to 0.31 s. Scenes whose objects already agree on their keys are unchanged. The cost is extra memory in the scenes that now get motion keys: about what the scene would use if every object had those keys. This also fixes geometry missing from motion-blurred objects inside moving procedurals when procedural instancing optimization is enabled. (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.7 s to 0.12 s. 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 scenes with many objects: Building a BVH (the bounding volume hierarchy that Arnold uses to find which objects a ray hits) is now multi-threaded. Scenes with a very large number of objects, such as heavily instanced scenes, now start rendering sooner, especially on machines with many cores. (ARNOLD-16616)

  • Optimized dependency graph: Arnold dependency graph is now more efficient, reducing memory footprint on large scenes. (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)

Other Enhancements

  • New built-in roughness AOV: A new roughness AOV reports the surface roughness seen at the first bounce, so you can check the roughness maps across a whole shot at render time instead of building a custom AOV for every material. It is listed with the other built-in AOVs. It accumulates the roughness into a single value, without anisotropy. A material with several lobes returns a weighted average across them, and a surface with no microfacet roughness, and that is pure diffuse, hair, sheen, fuzz, and transmission, returns 1. (ARNOLD-17777)

Thanks to Alex Mateo for the use of the Salita scene.

  • Progress feedback while imagers update a finished render: Editing an imager after a render has finished reruns the imagers over the image. The render progress now tracks that imager work, so the progress bar shows that something is happening and when it's done. Previously the progress dropped to 0% when the update started and stayed there on a finished render. Progress during rendering is unchanged. (ARNOLD-16372)

  • 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)

  • Update oneTBB to version 2023.1.0: Arnold's threading library was updated from oneTBB 2020.3 to 2023.1.0. (ARNOLD-18120)

C4DtoA Enhancements

  • 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)

Flow Render Enhancements

  • 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)

USD Enhancements

  • Render pause in Hydra: The Arnold render delegate now supports pausing usd#2719
  • Accelerated Rendering: A new render setting "accelerated_rendering" allows to provide fast viewport updates (GPU-only) usd#2652
  • Support points grids in Volumes: When a Volume primitive loads a VDB file having points grids, these grids are then rendered as points in Arnold usd#2740
  • CoordSys support in Hydra: Arnold now resolves the USD 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#32
  • Per-render var EXR compression: EXR compression can now be set separately for each render var (AOV) with the arnold:driver_exr:compression attribute. The compression set on the render product is still used as a fallback. usd#2742 usd#2731
  • UV camera ray direction and origin in Hydra: The ray_direction and ray_origin inputs of the uv_camera are now supported in Hydra, which fixes cage handling when baking textures in Solaris. usd#2710
  • Sequence rendering with Hydra 2 render settings: Sequences now render correctly when the render settings change during the sequence. The render is interrupted before the render settings are updated, and existing Arnold nodes are reused instead of being recreated. usd#2754
  • Interactive updates for shader imagers: When an imager shader, or a shading tree connected to it, is modified interactively, only the imager pass is updated instead of the whole render being restarted. usd#2758
  • Mesh geometry deduplication in Hydra: The render delegate now finds identical meshes and curves and renders them as instances of one shared node. This reduces memory use and BVH build time in scenes with repeated assets, such as point instancer prototypes. The HDARNOLD_GEOM_DEDUP environment variable sets the mode: 0 (no deduplication), 1 (point instancer prototypes only; the default), or 2 (all duplicate geometry). usd#2749
  • Turntable render settings: The turntable command now uses the render settings already in the scene instead of creating new ones with default values. A new option lets you choose a specific render settings prim. usd#2769

API Changes

  • Render pause API: New AiRenderPause() and AiRenderIsPaused() functions let a host pause a running render without losing progress, then resume it with the existing AiRenderResume(). Rendering threads block at pixel or sample scheduling boundaries until resumed, so no in-flight buckets are lost or restarted. 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 an imager graph is modified interactively, the imager pass should now be interrupted with AiImagerInterrupt(). Note that this does not stop the render, but only the imager passes. After the imagers and included shaders were modified, they can be resumed with AiImagerResume(). This later function can replace the previous request_imager_update render hint. (ARNOLD-11648)

  • Recognize shaders under an imager graph: The new imager_shader can reference a shading tree under the imager graph, therefore such shaders being modified interactively should only trigger a new imager pass without needing a new render. A new API AiShaderInImagerTree allows to distinguish such shaders from regular shading trees (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 current calls are unaffected. (ARNOLD-18283, ARNOLD-18284, ARNOLD-18285)

Bug Fixes

  • C4DTOA-3665 - Tx Manager incorrectly shows UDIM textures missing
  • ARNOLD-9430 - Interactive modification of displacement shaders works
  • ARNOLD-11648 - Make full frame imager updates thread safe
  • ARNOLD-11706 - Tiny transmittance in interiors generates NaNs in CPU rendering
  • ARNOLD-14047 - Light linking is not respected through transmission in skydome light
  • ARNOLD-15234 - Crash in profiler with multiple render sessions
  • ARNOLD-16231 - OSL opacity mask does not respect missingcolor
  • ARNOLD-16386 - [GPU] Complex OSL and MaterialX shader networks could fail with an illegal memory access and render black
  • ARNOLD-17468 - ar_orientations does not work for curves in Alembic files
  • ARNOLD-17668 - kick: -o output file ignored when rendering USD scenes with open render window
  • ARNOLD-17871 - Rare OSL crashes, particularly on macos
  • ARNOLD-17988 - GPU OIDN crashes in Cinema 4D on Linux
  • ARNOLD-18072 - Global operators must not change shared procedural content unless the selection matches every sharer
  • ARNOLD-18142 - [FlowRender] Texture baking fails if multiple meshes have the same name
  • ARNOLD-18279 - Viewport proxy of VDB points missing with custom point attribute
  • ARNOLD-18322 - OSL texture() lookups on a missing file are slow
  • ARNOLD-18333 - OSL camera:* attributes crash or return nothing when no object is being shaded
  • ARNOLD-18356 - UsdLux: IES angle_scale in range (0, 1) renders too dark
  • ARNOLD-18377 - OSL getattribute('uv'/'st') returns a transposed derivative block
  • ARNOLD-18407 - Volume AOVs are black or dim in non-deep outputs when also rendering deep EXR or Cryptomatte
  • ARNOLD-18446 - Crash when an imager was added to a driver's imager chain during an interactive render
  • ARNOLD-18506 - [GPU] Crash at exit after a GPU render when AiEnd() is not called
  • usd#2705 - Bind volume shaders on step-sized meshes
  • usd#2730 - Use the OCIO config file path from the settings map when $OCIO is not set
  • usd#2745 - Support renderingColorSpace in the hydra2 render_settings
  • usd#2747 - Fix nodes destruction during interactive sessions under a procedural

System Requirements

  • Windows 10 or later, with the Visual Studio 2019 redistributable.
  • Linux with at least glibc 2.28. This is equivalent to RHEL/Rocky 8.
  • macOS 12 or later.
  • x86-64 CPUs need to support the SSE4.1 instruction set.
  • GPU rendering and OptiX denoising work on Windows and Linux only, and require an NVIDIA GPU with the Maxwell architecture or later.
  • Intel OIDN runs on all CPUs. GPU support is limited to:
    • macOS
      • Apple silicon GPUs (M1 and newer)
    • Linux
      • NVIDIA GPUs with Turing, Ampere, Ada Lovelace, Hopper, and Blackwell architectures
    • Windows
      • Intel Xe and Intel Arc dedicated and integrated GPUs
      • NVIDIA GPUs with Turing, Ampere, Ada Lovelace, Hopper, and Blackwell architectures
      • AMD GPUs with RDNA 2, RDNA 3, RDNA 3.5, and RDNA 4 architectures

Was this information helpful?