26 March 2025
Arnold 7.4.0.0 is a feature release including improved support for light instances, a new run-once imager mode, an upgrade to MaterialX 1.38.10, and API updates.
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.
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.
Replace AtImagerSchedule with AtImagerProperties: The imager_prepare API has a new AtImagerProperties 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 |
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 must be updated and recompiled.
Autodesk Network Licensing version: Arnold 7.4 switches to ARNOL_2026 licensing. (ARNOLD-15400)
ARNOL_2026 licenses.--pk C0PR1 --pv 2026.0.0.F with the AdskLicensingInstHelper 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() and AiMsgDeregisterCallback() instead. (ARNOLD-15782)
Removed AiASSLoad(), AiASSWrite(), AiASSWriteWithMetadata(): Use AiSceneLoad() and AiSceneWrite() 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)