Search Tips

Search is based on keyword.

`Ex: "Procedures"`

Do not search with natural language

`Ex: "How do I write a new procedure?"`

Give Feedback Support Portal

# Release Notes for Nuke and Hiero 16.1v1

# Release Date

26 February 2026

Note: As part of addressing a security issue, we have back-ported a fix that is unfortunately not compatible with the legacy OFX versions of Denoise and OFlow. As a result, these plugins have been removed from Nuke 16.1 and 17.0 on all platforms and will no longer be available.
Customers should switch to using the newer GPU accelerated versions of Denoise and OFlow (already available in the Nodes Toolbar and Node Graph Tab menu).

# New Features

## 3D

- Light like you are on set
  The light updates provide a way to work with lights that connects artists to the workflows and terminology used on set and UI updates to locators and light panels to get access to the light controls you need faster.

  - Light node UI updates
  - New attributes based on real world lighting workflows and terminology
  - New constrain modes via constraint pipe
  - New light locators with in viewer controls
  - Inject lights to your USD stage
  - Connect via GeoScene
  - Directly edit USD lights using new GeoLight nodes (GeoDistantLight, GeoDiskLight, GeoDomeLight, GeoSphereLight)
  - Set an 'Illumination Mask' to define what geometry a light illuminates
  - Set a 'Receive Shadow Mask' to define what geometry will receive shadowing from a light
  - Set a 'Shadows Channels' for rendering or shadows to their own channel

- Import with greater control
  Working in the new 3D system gives you access to all new import workflows to help you get to the assets you need most. Whether that's creating a curated selection for just the geometry and cameras you need for your projections, or bringing in highly detailed or complex scenes to place comp elements in, or align with matte paintings.

  - The new import pop-up dialogue allows users to non-destructively customise their scene graph prior to import.

    - Load or unload payloads
    - Activate and deactivate prims
    - Filter by primitive types
    - Set the graph depth of their scene graph in the dialogue to make it easier to review large USD assets prior to import

  - A new Scene Graph tab has also been added to the GeoImport node so users can customise their selection post import.

- Understand your 3D node graph at a glance
  The ability to easily read a node network when zoomed out in the node graph is a really great part of working in Nuke and one where with the new 3D system we really wanted to bring some of the logic of node colours and shapes, or masking workflows into this

  - New 3D node names
  - Updated node colours
  - Mask icon and paths shown on nodes
  - Ability to inject 3D masks down a pipe
  - New GeoMask and GeoClearMask nodes for passing masks down your node graph
  - Scene graph colouring and filtering updates

- Improved Material Binding when working with USD stages
  Advanced USD settings have been added to The GeoBindMaterial node to allow the users working with complex USD scene to override existing materials on a USD primitive, and have these materials correctly displayed in both the viewer and ScanlineRender2.

  - The GeoBindMaterial Node now includes the following options:

    - Binding Strength - Allows the user to indicate if the material on the path overrides any existing materials in the scene.

      - Stronger than Descendants means that the material will override any existing materials in that mask path.
      - Weaker than Descendants means that materials will only be applied to primitives in the given path when no other materials are set
      - Pass Through does not change any existing bindings on that primitive path.

    - Purpose - Indicates whether a bound material is being used in the viewer, the renderer or both.

- New and updated shaders for USD Workflows and Ray-tracing
  Updated classic shaders and a new reflection shader expand the shader toolkit in the updated 3D system for fast lookdev, technical visualization, and realistic ray-traced reflections.

  - ReflectiveSurface (new) generates advanced reflections and transmission using physical controls like Index of Refraction and Fresnel Bias.
  - BasicSurface (updated from the BasicMaterial node) combines essential diffuse, specular, and emission controls into a single node, optimized for ray-tracing visibility.
  - WireframeShader (updated from the Wireframe shader node) applies customizable wireframe materials or overlays for technical checks, featuring multiple operation modes like 'over' and 'modulate'.

- Directly create and edit USD cameras
  The GeoCamera and GeoEditCamera nodes gives you greater control over direct creating and editing of cameras in your USD stage, without having to create a duplicate Camera.

  - GeoCamera node
  - GeoEditCamera node

- Access and edit camera data anywhere
  The Camera node updates provide easier workflows for visualising your cameras in Nuke in the context of the scene, new ways to constrain cameras, an updated UI experience, live passthrough of USD data and connections to new nodes for extending camera workflows.

  - Camera node allows for passthrough of live USD attribute data
  - Camera node UI update
  - New constraint modes via constraint pipe
  - Inject cameras to your USD stage
  - Connect via GeoScene
  - Visualise imported cameras in your 3D viewer
  - Look through imported cameras in the 3D viewer dropdown

- Move 3D data to any part of your Nuke comp
  The Axis node updates enable you to passthrough 3D scene transformation data to any node in Nuke, as well as new constrain tools and an updated UI experience

  - Axis node allows for passthrough of live USD attribute data
  - Axis node UI update
  - New constraint modes via constraint pipe
  - Inject axis data as Xforms to your USD stage
  - Connect via GeoScene

- Rendering revisited
  The ScanlineRender2 node continues its evolution and for this release there have been a few additions to existing workflows and some existing features to highlight for projection and lighting workflows.

  - Material families
  - Binding purposes for rendering
  - UV unwrapping Prim Path and UDIM/UV tiles
  - Updates to light rendering

- View and Render MaterialX Shaders
  We are introducing Nuke’s first MaterialX shader node, supporting the Autodesk Standard Surface material model within the USD-based 3D system.Artists can assign existing MaterialX Standard Surface materials to geometry, preview them accurately in the Hydra Viewer, and render them through ScanlineRender2.This initial implementation focuses on enabling consistent material display and rendering between look-development and compositing.

  The new MtlXStandardSurface node has the next texture input connections: Base Color, Specular Roughness, Metalness, Normal, Emission Color, Specular Color, Coat Color, Coat Normal

  Please Note:

  - Indirect lighting is not currently supported in ScanlineRender2 which is why the environment light as well as object reflections will not work with the StandardSurface rendered through ScanlineRender2 in this release. The environment light in Nuke is currently for the purposes of generating specular reflections when using the ReflectiveSurface node among others. Currently as MtlXStandardSurface does not support reflections/refractions, the EnvironmentLight and USD Dome light will not display these reflected texture maps. For this workflow, you can apply a ReflectiveSurface shader and merge it over using a second ScanlineRender2 node.

- Intuitive Errors and Warnings
  The error handling in the new 3D system nodes has been updated to more clearly signpost when issues occur. Warnings are now given in the node properties for common workflow issues where the results in the viewer may not be expected based on the parameters set. Broken paths will now error the new 3D nodes, and in the cases that the 3D viewer is out sync with the scanline render output due to an override in the scene graph a yellow line is now displayed around the viewer.

- Alembic Import is now supported
  The GeoImport node supports the ingest of Alembic geometry and cameras in the new 3D system. Please note that HDF5 based files are a deprecated file type and no longer supported.

- Non destructive knob editing with authoring
  Authoring controls next to knobs which contain USD attributes allow artists to non destructively change knob values and switch between different authoring modes depending on what data they want to show.

  - Interactive authoring mode support

- Graph Scope Variables in 3D
  In this release we are combining two new systems to give artists access to new workflows across their node graph. With Graph Scope Variables now able to support 3D nodes, you can set up variables in your 3D scene to swap out geometry, textures, cameras, really anything you can think of. This means you could set up a 3D scene once and use variables to swap it between a day and night setup, or swap geometry complexity out based on your needs loading in a more performant version while navigating the 3D viewer and a higher resolution one for rendering.

  Please Note:

  - Currently the New 3D System does not work withVariableGroup with multiple differing variable values in the same Node Graph. As a workaround, you can have your ScanlineRender2 and 3D scene completely inside each VariableGroup, or you could avoid using VariableGroup when working with 3D workflows.

## Annotations

- Updated Drawing Tools
  Updated the Annotations drawing tools with improved responsiveness and new functionality to better express creative intent.

  - New pressure-sensitive size, opacity and hardness for brushes
  - New dodge and burn brushes
  - New eraser brush
  - New vanishing brush to help point a viewer at an area in the viewer. It's fun, give it a shot
  - The text tool has been improved, with in-line editing, font and size selection, and background
  - The paint tool now has blend modes as well
  - New colour picker and eyedropper for the paint tool
  - Added hotkeys for quick access to tools.

- New Annotations Panel
  Introducing a new Annotations Panel as a central hub for viewing and managing all project annotations. This improves communication, streamlines review sessions, and allows for easier tracking and navigation to the original context of each note.

  - Adds a panel that lists all annotations created for the open viewer item
  - Adds a notes section to each annotation for conversation
  - Improves navigation by clicking an annotation in the panel to jump to its first frame
  - Shows the same annotations in the panel for all participants in sync review sessions

- Annotations Toolbar Redesign

  - We redesigned the Annotations toolbars for easier control and access when creating annotations, and added new brush parameters.
  - The left toolbar now displays only brush selections, moving controls to the top toolbar where you manage new annotation creation and brush parameters.

- Annotations Export

  - Introducing new functionality for exporting annotations in quick and custom export
  - Adds the ability to export annotations as images
  - Adds the ability to export annotation comments to the Nuke script
  - Updates the options in the export panel when exporting annotations

- Expands support for annotations via the Python API
  The Annotation API now utilizes a simplified architecture, requiring existing Python scripts to be rewritten for compatibility.

  - Create and manage annotations
  - Read, edit, and create annotation comments and notes
  - Get and set any brush settings and apply them to paint strokes
  - Set metadata on annotation comments
  - Set the user name on annotation comments and display this in the UI
  - Attach an image to an annotation comment or note
  - Lock annotation comments/notes from editing
  - Set markdown on a note or comment
  - Set background color for an annotation

- Annotations on the Timeline
  We completely redesigned the Time Annotation Markers. We removed the old timeline track items and replaced them with a new marker at the top of the timeline and on the Viewer. This new marker displays the annotations, including clip-level annotations, for easy navigation.

  These markers are only visible when annotations are active on the Viewer.

## Deep

- Render deep composites faster
  Improvements have been made to the Deep system so it now renders up to 1.88x faster to disk and in the Nuke viewer

## File Formats

- NotchLC Support
  The NotchLC Mov Codec is now supported on Windows and Linux for Ingest and Export. High Resolution Mov footage can be prepared in Nuke and exported at resolutions up to or equivalent of 32k x 16k for use in Virtual Production and other types of High Resolution playback.

- SONY SDK Update
  Support for the latest version of the SONY SDK and SMDK exposing two new recording formats from the Burano camera firmware v2. 3.8K 16:9 and 4K 4:3

  - SONY SDK v5.1.0
  - SONY SMDK 4.26.1 for Mac
  - SONY SMDK 4.26.0 for Windows and Linux

## Graph Scope Variables

- Extended Python APIs and Callbacks for GSVs
  The new Python callbacks allow to hook into Variable events enabling automation and advanced integrations for Variable-enabled workflows and Multishot workflows.

- Enhanced Performance for Graph Scope Variables
  Loading and interacting with projects in the GUI is more performant, especially when there are a large number of Variables or VariableGroups

- GSVs in node labels
  To improve Nuke script readability GSVs can now be made visible in node labels, making variable driven scripts readable at a glance.

- Support for GSV Expressions in the first_frame, last_frame and fps root knobs
  Expressions can now be set for first_frame, last_frame and fps knobs in the project settings so that GSV's can be created for these values and they can be dynamically updated

## HDR

- Read and write HDR mov files with the correct metadata
  Support has been added for YCbCr conversion and NCLC metadata atoms in Nuke Mov writer and reader meaning HDR images can be written with the YCbCr matrix value Rec2020. The correct supporting metadata can now also be set for Color primaries, and Transfer Functions, and will now read and display in nuke and other parts of your color pipeline.

## High Resolution

- Utilize OFX plugins at the scale your content demands
  Nuke's maximum resolution limitations have been removed for OFX Plugins. Allowing the maximum image resolution to be determined by hardware capabilities. Third party OFX plugins that have maximum resolution limits, may need to be updated to take advantage of this change. In Nuke the Furnace nodes have had internal resolution limitations removed, this includes:

  - F_DeFlicker2
  - F_RigRemoval
  - F_WireRemoval
  - F_ReGrain
  - F_Steadiness
  - F_Align

## Machine Learning

- Machine learning at scale

  BigCat is a new node designed specifically to support workflows involving large-scale datasets. We’ve taken many of the existing CopyCat features and workflows and optimised them for large-scale generalization. Depending on the model you're building, you can now choose between CopyCat for training a model for a single shot (or a set of very similar shots) and BigCat for when you need to train with much larger datasets in order to generalise the model for use on many shots. BigCat offers the following features and optimisations:

  - Automatic Data Augmentation – This new tab allows you to create extra variation in your dataset by making probabilistic grade and transform changes, reducing the number of input frames needed to train a model more robust to lighting and transform changes.
  - Data Validation – Reserve a portion of your training input and ground truth pairs to feed BigCat a validation dataset. This will be used to measure and map in the loss graph how the model performs on unseen shots in order to detect when the model starts overfitting on the training data, meaning it would perform worse on other shots.
  - Custom Loss Functions – In addition to the existing pixel-based loss (MSE) carried over from CopyCat, we’ve added the ability to include additional loss functions and control their contribution. Initially, the perceptual loss function LPIPS (downloadable from Cattery) enables BigCat to match structure and semantics, which in combination with pixel-based loss functions can help BigCat train and generalise in fewer epochs.
  - Input Validation – Validating the input and ground truth frames for large datasets can take some time. BigCat decouples the input validation from training via a new 'Validate Setup' button, meaning it can be run once after the inputs are assembled, rather than during every training run.
  - Training Speed – The introduction of additional optimisations to both BigCat and CopyCat by more efficiently pipelining transfers to the GPU.

## Monitor Out

- AJA Products NTV2 17.5.x - SDK Update
- BMD DeckLink 14.4 - SDK Update
- NDI 6.x - SDK update
- 10 bit support added

## TVIScale

- Significantly faster Upscaling in Nuke
  The TVIscale node has been updated to improve processing time when upscaling.
  TVIscale now performs up to:

  - 98x faster on the GPU
  - 26x faster on the CPU

# Feature Enhancements

## 3D

- ID 487251 - ScanlineRender2 has been enhanced to include ray-tracing support, effectively unifying the features previously provided by ScanlineRender and RayRender.

- ID 608350 - Dragging and dropping USD and alembic files into the nodegraph now creates a GeoImport node

- ID 609092 - Points are now invisible by default when using them to generate a mesh with the GeoPointsToMesh node

- ID 609394 - The activate column and reset buttons for Payloads have been removed from the Viewer Scene Graph, these can now be set directly in the GeoImport node

## Annotations

- ID 585077 - Added support for adjusting Opacity, Softness, and Size using UI controls or pen pressure.

- ID 588405 - Added the ability to get/set Annotation brush attributes like size and color via Python

## Backdrops

- ID 490870 - Backdrop nodes can now be created using a hotkey at the size and location of the mouse drag-selection box on the nodegraph. Hold Shift+Z and when you release the mouse after a drag-selection, a backdrop node will be created.

## BlinkScript

- ID 597967 - Add the ability to return the current Nuke version inside a BlinkScript

## File Formats

- ID 527339 - Add support for the NotchLC codec

## Filters

- ID 523561 - Add Linear option to Nuke Filter knobs

## Graph Scope Variables

- ID 601000 - Add GSV support to Root knobs first_frame last_frame and fps

## HDR

- ID 473829 - Added support for Rec.2020 YCbCr matrix conversions when reading and writing MOV files

- ID 484937 - Allow full control of the NCLC atoms in Nuke

## OpenFX

- ID 523883 - Increase Nuke's OFX plugin resolution above 8k (8192x8192) pixels

# Bug Fixes

## 3D

- ID 496818 - Viewer now displays different particles emitted from the same particle emitter.

- ID 521133 - Rotations now work correctly when there is a parent transform

- ID 525879 - Animated GridWarps now work correctly as texture inputs

- ID 527955 - ScanlineRender2 projection mode knob switching no longer causes Nuke to become non responsive

- ID 538577 - GeoImport nodes with Alembic files now correctly passes {lastmodified} data downstream

- ID 548543 - Changing the EnvironmentLight texture input no longer causes objects to disappear in the 3D viewer

- ID 563769 - Alembic file Set() not supported" errors no longer occur when loading Alembic (ABC) files with the GeoImport node

- ID 579729 - FrameHold now works correctly when connected to the material input of a GeoCard or GeoCube node

- ID 586096 - Nuke no longer crashes when viewing a ScanlineRender2 node with certain USD files

- ID 587675 - Environment Lights no longer display upside down in the Hydra viewer

- ID 594731 - Render all write nodes' now renders at full resolution even if the viewer is in downrez mode

- ID 595433 - Project3DShader now renders correctly in ScanlineRender2

- ID 603349 - Camera4 and Axis4 nodes with expression driven values are not exported correctly by the GeoExport node

- ID 604778 - Referencing .abc assets exported from the classic system no longer causes Nuke to crash

- ID 605021 - SLR2 now respects "visibility \= invisible" attribute for prims

- ID 606285 - The scene graph no longer appears empty after clicking the reload button

- ID 606673 - Roto shapes can now be edited in 3D viewer

- ID 607924 - StandardSurfaceMatX roughness input now works with ScanlineRender2

- ID 609395 - The rendering behaviour of animated projection cameras in used in conjunction with GeoUVProject now render correctly

- ID 612782 - Textures now update correctly if an Expression node is being driven by an expression involving a user created knob.

- ID 613769 - Connecting two Project3DShader into a MergeLayerShader causes shader errors in the terminal

- ID 613770 - Frame holding projection Camera causes incorrect scale of projection

- ID 613793 - RotoPaint changes to the texture are consistently reflected in the ScanlineRender2 output.

- ID 614335 - Merging Two Cards Using Same Image Sequence with TimeOffset Produces Duplicated Output and Inconsistent Merge Results

## BlinkScript

- ID 542517 - BlinkScript produces incorrect results on the CPU when using arrays of vectors

- ID 605208 - Invalid characters are now removed from BlinkScript knob names when a Kernel is compiled

- ID 609371 - The definition of the Blink::ProgramSource copy constructor is missing

## CaraVR

- ID 605666 - C_CameraSolver node fails to match points if some Time nodes, like TimeOffset are upstream of it

## Colorspace

- ID 533781 - OCIOColorSpace produces incorrect transforms for some negative colour values on certain CPUs creating artifacts

- ID 613287 - Read node colorspace in exported .nk scripts is now correct when it is set to a Transcode Images task

## Deep

- ID 407553 - DeepExpression gives a "missing temporary" error when evaluating a previous temp variable

- ID 602094 - Certain expressions can produce "underflow" errors when used in DeepExpression nodes

## Documentation

- ID 606546 - Various links are broken when viewing the Nuke Development Kit reference page online

## File Formats

- ID 491621 - The timecode is incorrect when viewing the metadata of an ARRI RAW .mxf file during playback

- ID 493584 - Nuke displays incorrect metadata when comparing the nclc transfer function of an uncompressed .mov.

- ID 519346 - ARRI ProRes files with input/pixel_aspect metadata has an incorrect pixel aspect ratio when read in Nuke

- ID 524274 - Nuke Studio does not apply colour transforms correctly to ARRI Alexa 35 footage when changing the arri_colorspace knob

- ID 583264 - ProRes MXF files are always read in as Full Range and cannot be changed with the Data Range knob

- ID 607580 - Roundtripping a NTSC/PAL reformatted export will crash Nuke

## Graph Scope Variables

- ID 588192 - Geoimport node handles assets correctly when a GSV is assigned in the file knob

- ID 597063 - If a Python script that sets GSVs is executed at startup via the command line, the Variables panel and other parts of the UI relating to GSV will execute accordingly

- ID 601018 - Variables no longer disappear in a VariableGroup when adding a variable in the Variables tab

- ID 601086 - Fixed a crash when removing Variables and VariableSets during addition callbacks.

- ID 602283 - Group nodes no longer display any variables when nested in VariableGroups

- ID 604771 - GSV expressions don't evaluate in path knobs

## MacOS

- ID 603283 - Visual artifacts can occur when rendering H.264 MOVs from certain scripts on macOS ARM builds of Nuke

## Node Graph

- ID 604598 - Navigation in Nuke's Node Graph is slow in large scripts with many nodes on screen

- ID 610397 - The Keylight node errors and is missing Properties when loading Nuke scripts in Nuke Assist.

## Python

- ID 603173 - The Shot Manager example script does not work in Nuke Studio/Hiero 16

- ID 612728 - Fixed crash when using Nuke Studio/Hiero to open a sequence with hiero.ui.openInTimeline() multiple times and editing the Sequences on the timeline

## Timeline

- ID 603975 - Hiero would sometimes crash on exit

## Viewer

- ID 538323 - Nuke displays random colors in Viewer when a value of 0.00001 is used in one of the RGB channels on certain CPU's

# Known Issues

## 3D

- ID 582327 - The order of errors displayed in the viewer does not match the order of nodes erroring in the Node Graph

- ID 599250 - Overlapping items in the 3D viewer can display incorrectly when scrubbing through the timeline, ocassionally appearing slightly displaced

- ID 601196 - Materials are not appearing in the 3D viewer after deactivating and re-activating its materials parent scope using a GeoActivate node. To workaround, deactivate the material path directly or use the {isa:Material} mask pattern used in the "All Materials" mask option.

- ID 601279 - Snapping the GeoTransform's pivot to a bounding box sets the handles into the wrong place depending on the prim transform order knob setting

- ID 602910 - Separate EXR AOV files will not work with GeoPoints

- ID 602975 - GeoPoints mat input does not use texture coordinates

- ID 603091 - GeoImport frame range knob doesn't affect animated alembic files

- ID 603322 - GeoPointsToMesh materials are loading incorrectly

- ID 603554 - GeoSelection Mask does not contain selection within the mask

- ID 603629 - Cone softness and angle handles can be pushed past their intended value limits with expressions causing them to become unresponsive

- ID 603658 - 3D Viewer renders incorrectly when using RGB channels

- ID 604478 - GeoActivate's preset mask path options currently does not re-activate de-activated prims

- ID 604715 - Resetting deactivated payloads in the GeoImport node generates a lot of Console error messages

- ID 604885 - Projections can disappear from the 3D viewer when a FillShader is connected to another part of the scene

- ID 605111 - GeoImport scene graph options can be slightly delayed when toggling

- ID 605314 - Creating a Scene+ only connects the Camera to the ScanlineRender2 node and connects the GeoScene node to the Cameras 'scene' pipe

- ID 605741 - GeoEditCamera's 'Horizontal/Vertical Offset' knobs produce different results than the Camera nodes 'Window: Translate (u, v)' knobs

- ID 606346 - WireframeShader render results can be incorrectly affected by lights in the scene

- ID 606537 - When texture wrap mode is set to repeat it is not rendered by ScanlineRender2

- ID 606740 - The PreviewSurface node is not reflecting material colours

- ID 606741 - GeoTransform 3D hotkey handles do not take precedence over an open text node

- ID 607127 - Node graph navigation performance slows down when GeoBindMaterial is connected to a second viewer on MacOS

- ID 607218 - Popup scene graph for mask inputs can show prims that only exist further down the node graph

- ID 607366 - GeoImport can display an incorrectly scaled camera locator with certain scenes

- ID 607626 - New 3D System geometry disappears when the Viewer's display knob is set to "wireframe"

- ID 608104 - GeoMerge isn't updating material binding paths

- ID 608232 - Geo nodes that generate meshes have authoring knobs

- ID 608460 - Nuke may slow down briefly when creating or deleting nodes with masks set to All Prims on large stages

- ID 608549 - Adjusting the GeoCameraTracker point size knob can cause small delays if the viewer is connected to ScanlineRender2

- ID 608700 - Hydra Viewer premults textures without a premult node

- ID 608924 - PointsGenerator removing connected Camera from dropdown menu

- ID 609164 - Swapping the A and B pipes of a GeoMerge with two GeoImport attached doesn't swap around their load rules, causing payload update issues.

- ID 609223 - GeoImport gives unimformative errors when importing an obj file

- ID 609316 - Materials stay deactivated in 3D viewer after reactivating materials scope in Viewer scene graph

- ID 609428 - Meshes have added xform parents after exporting to alembic

- ID 609561 - Camera Randomly Draws in Different Location While Manipulating Z-Far Knob on DeepCrop Node

- ID 609604 - The 3D viewer now retains the selected and active camera throughout timeline playback, regardless of Deep Node activity.

- ID 609832 - Scene graph override indicators did not sync between multiple Viewers

- ID 609993 - ScanlineRender2 doesn't apply subdivision when set on the mesh prim

- ID 610038 - Geo vertex/face selection persists after node is deleted

- ID 610149 - The emissive output of the PreviewShader was inconsistent between Hydra and SLR2

- ID 610265 - Points input label of GeoPoints node sometimes moves away from input when the changing zoom level of the node graph

- ID 610766 - MtlXStandardSurface node causes Nuke to briefly hang when updating

- ID 610817 - Activating and Deactivating prims in GeoImport can lag and increases RAM usage

- ID 610818 - Activating and Deactivating prims in GeoImport can cause GL errors and crash Nuke if the asset being loaded exceeds the RAM available on a machine

- ID 611614 - The Wireframe shaders operations for over and modulate display the same

- ID 611771 - Clearing cache frame holds ScanlineRender2 output if it has specific animated texture (animated Roto or GridWarp)

- ID 612087 - DirectLight is not illuminating an asset with BasicSurface material applied in the Hydra Viewer

- ID 612134 - Basic surface effects grid and light locator colours.

- ID 612191 - Camera position jumping around when changing Knob on Deep Nodes

- ID 612633 - When the default GeoPoints node is given the src input of a GeoSphere the node will error

- ID 612791 - Unloading a payload does not remove the unloaded items from GeoImport scene graph

- ID 612804 - The "Select all search items" option in the GeoImport Scene Graph doesn't update graph depth

- ID 612805 - Decreasing Graph Depth expands branches that were collapsed

- ID 612857 - Cyclical USD import error disappears when nodes are created below the GeoImport or GeoReference nodes

- ID 613152 - Geometry created with Nukes 3D geometry nodes are not automatically selected in the viewer or scenegraph on creation

- ID 613214 - 3D Errors don't show in 2D viewer with Scanline Render on script load

- ID 613263 - Scenegraph controls can become unresponsive after switching viewers

- ID 613471 - GeoImport error disappears after frame change

- ID 613472 - Deleting GeoImport node doesn't clear memory immediately.

- ID 613514 - PreviewSurface will error when a texture input is connected

- ID 613586 - Expression links can break when updating knobs on expression linked nodes

- ID 613661 - Adjusting mesh topology doesn't update the selection outline in 3D viewer

- ID 613909 - When you have a frame held/time offset Camera connected to GeoScene in the new 3d system, the time node now correctly effects the camera injected into the USD scene.

- ID 613932 - Automatic keyframes no longer added on the Error Per Frame knob unless explicitly requested by the user

- ID 613987 - Animated camera locators in the 3D viewer will break when connected to a enabled Framehold node inside a disabled group

- ID 614388 - GeoActivation Scenegraph 'collapse all' cannot be undone

- ID 614085 - Animated projection using Project3DShader will break when a disabled Framehold node is removed. As a workaround, disconnect and reconnect the camera.

- ID 614219 - EnvironmentLight node errors when added to the Group

- ID 614497 - 3D Viewer selection works only for B input of GeoMerge node set to duplicate prims

- ID 614669 - Playback Hangs After Disabling and Removing 2D Node Downstream of TimeOffset

- ID 614624 - Deviating from the Camera position and reselecting the 3D camera will not reframe the shot

- ID 614085 - Animated projection using Project3DShader will break when a disabled Framehold node is removed. As a workaround, disconnect and reconnect the camera.

- ID 613909 - When you have a frame held/time offset Camera connected to GeoScene in the new 3d system, the time node now correctly effects the camera injected into the USD scene.

- ID 614497 - 3D Viewer selection works only for B input of GeoMerge node set to duplicate prims

- ID 614678 - When shift selecting any geo modify node when having other nodes selected, Nuke selects all geo create nodes upstream of the Viewer

- ID 613661 - Adjusting mesh topology doesn't update the selection outline in 3D viewer

- ID 614511 - SLR2 now consistently displays/renders the currently selected texture from the Switch

## Annotations

- ID 602674 - Turning on the annotations button in the monitor out panel interactive mode has no function

- ID 605024 - Annotation UI panel can lose it's structure

- ID 606420 - Brush strokes do not build up on self-overlap. You must apply multiple strokes to achieve a buildup effect

- ID 606536 - Horizontal toolbar doesn't scale down well when reducing the horizontal space available for it

- ID 606589 - Python API allows creating annotations with a negative duration

- ID 606901 - Colour Picker sample region cannot be moved when annotations are active

- ID 607584 - Modifying annotation properties using Python API does not update the viewer instantly

- ID 607590 - Undo functionality is currently not supported for modifications to annotation drawings properties.

- ID 607946 - Sync Session can crash when Force Update is pushed to different OS's than host

- ID 607967 - Duplicating a clip creates duplicate annotations in the timeline and panel, causing inconsistent functionality

- ID 608354 - Strokes generated via Python render one pixel thicker on Windows and Linux

- ID 608613 - Timeline markers do not update to reflect Annotations panel filter changes until the mouse hovers over the timeline

- ID 608873 - Annotations drawn on the B buffer remain associated with that buffer after disabling compare modes, making them inaccessible

- ID 609499 - Annotation filter stays on "Current Clip" when returning to sequence

- ID 609500 - The "Current Clip" filter in the Annotations panel is inconsistent and may not display all markers

- ID 609534 - Annotation export renders all tracks despite 'Tracks for Export' selection

- ID 609541 - Annotation export ignores cut length settings

- ID 610225 - Creating a new annotation generates two undo steps (one for the item, one for the stroke), requiring the user to undo twice to revert the action.

- ID 610322 - Shift+drag to scale the brush tool only goes as small as 2 pixels and as large as 2000. You can type in the tool bar to get lower or higher values.

- ID 610385 - Exporting a Nuke Annotation File takes as long as rendering the annotation's defined duration, even if you drew nothing on the screen.

- ID 610392 - All Annotation Comments have the 'Edited' label, even if they're fresh

- ID 610719 - Vanishing Brush over Sync Review degrades in client-side responsiveness as stroke length increases

- ID 610845 - Annotations created while viewing the B buffer are not visible during the drawing process; switch to the A buffer to view the strokes.

- ID 610969 - Creating an annotation via Python does not carry over to the client in a sync session. You can workaround this by forcing an update using `hiero.syncreview.connectionManagerInstance.pushSession()`.

- ID 611248 - It is possible to change brush settings using python for locked annotations (also possible through python).

- ID 611255 - It is possible to lock or unlock annotations using python. However, this behaviour doesn't sync over sync review sessions.

- ID 611297 - Using Python you can add other metadata such as usernames to comment and notes, however they don't sync over Sync Review without refreshing.

- ID 611302 - Metadata can be set using Python on any comments or note on a clip. However, once metadata is set, it cannot be unset.

- ID 611335 - (Windows) Text Annotation can shift above its background

- ID 611591 - Viewer Annotations markers are slow to update when moving the playhead

- ID 611605 - Clicking out of a Text Annotation leaves you in a broken Select Tool mode. If you find yourself in this situation simply select a different tool and then the select tool again to reset. You can use hotkeys for this as well.

- ID 611730 - When making a selection in a comment or note, the panel won't automatically scroll to accommodate text that's off screen

- ID 612964 - Comments/Notes can trigger viewer playback shortcuts when aggressively typing (J,K,L))

- ID 613243 - No clip level annotation markers are visible for single frame footage

- ID 613349 - Annotation Markers do not update correctly for clips that have been cut into different shots when the Current Clip filter is applied

- ID 613354 - Single frame annotation markers can be dragged outside the Sequence time making it impossible to get back if it reaches negative values

- ID 613355 - Focus does not stay in Annotations panel after editing comment or note text

- ID 613601 - Editing an annotation with the PythonAPI, when the Panel is hidden, causes a panel layout issue

- ID 613613 - Playback will not show annotations if they're too slow to cache

- ID 613697 - Clip Annotations are no longer duplicated in the Panel when a clip is split

- ID 613855 - Undoing annotations during sync review can have a build-up of unwanted annotations for client side

- ID 613884 - Create Comp no longer puts Annotations on the wrong frame in the Node Graph if the clip is the moved

- ID 613988 - Sequence Level annotations are not exported if a Clip Level annotation is in the frame

- ID 614072 - Overwriting a CreateComp re-renders the annotated frames

- ID 614098 - Ctrl/Cmd+Enter to close comment/note editing works when drawing is on

- ID 614339 - Annotation markers doesn't appear when it's from the same shot but found in a different place in the timeline

- ID 614341 - Cancelling a comp that has annotations will lead annotation node to an error'd state

- ID 614380 - Zooming in and out quickly no longer leaves ghost images of the viewer when annotations are enabled

## BlinkScript

- ID 606124 - OpenCL GPU on Windows outputs grey instead of black on CPU/CUDA

## Colorspace

- ID 613757 - 8-bit and 16-bit default LUT settings are swapped/incorrect with 2.x.x ACES OCIO configs.To workaround this you can manually swap these defaults to their previous values. This can be done via the Preferences or as knob defaults.

## Contact Sheet

- ID 602881 - Creating a Contact sheet and adding all clips can give the error 'Bad value for view' in the terminal

## File Formats

- ID 610833 - NotchLC sometimes exports files with artefacts

- ID 611237 - Reading and writing NotchLC Mov files at resolutions greater than 20k x 15k is not currently supported

## Graph Scope Variables

- ID 602745 - If inherited variable type is a list it can't be changed to a string

- ID 608572 - Renaming a Regular Group nested in a VariableGroup, won't update in the Variables tab

- ID 612465 - The 3D System does not work with VariableGroups with multiple differing variable values in the same node graph

- ID 613958 - Changing gsv name causes new inherited variables to be created

## Performance

- ID 614687 - We've seen some cases where scripts may take longer to load when compared to Nuke 16.0. This is currently under investigation.

## Quick Export

- ID 605191 - There can be color differences between Quick and Custom export

- ID 605194 - Exporting to Apple Prores 444 XQ with default value in Quick Export can produce a cropped output

## Shortcuts

- ID 607974 - Backdrops can not be created in a group with the shortcut key

## Timeline

- ID 608402 - Although the "New Track(s) from EDL/XML/AAF" dialog accepts OTIO files, the specific "New Track from OTIO" option should be used for this format.

## Viewer

- ID 614783 - Viewer Overlay warning stops working after first use

# Qualified Operating Systems

- macOS Sequoia (15.x), or macOS Tahoe (26.x)

- Note: Nuke 15.0 and later support Apple's silicon hardware.

  For more information on Foundry products and supported macOS versions, see Foundry Knowledge Base article
  Q100592.

- Windows 11 (64-bit)

- Windows 10 will reach end of support on October 14 2025. For more information visit https://learn.microsoft.com/en-us/lifecycle/products/windows-10-home-and-pro

- Linux Rocky 9.0 (64-bit)

  Nuke requires libnuma to run under Linux distributions, the library is required by the Nablet H264 Codec SDK.

  The currently supported version of VFX Reference Platform includes library versions that are only compatible with Rocky 9.0.

Other operating systems may work, but have not been fully tested.

## Requirements for Nuke's GPU Acceleration

If you want to enable Nuke to calculate certain nodes using the GPU, there are some additional requirements. See the Release notes for full details of requirements for GPU acceleration based on your Nuke version.

### NVIDIA

An NVIDIA GPU with graphics drivers capable of running CUDA 11.8, or above. A list of the compute capabilities of NVIDIA GPUs is available at https://developer.nvidia.com/cuda-gpus

The compute capability is a property of the GPU hardware and can't be altered by a software update.

With graphics drivers capable of running CUDA 11.8, or above. On Windows and Linux, CUDA graphics drivers are bundled with the regular drivers for your NVIDIA GPU. Driver versions 522.06 (Windows) and 520.61.05 (Linux), or above are required. See https://www.nvidia.com/Download/Find.aspx for more information on compatible drivers.

We recommend using the latest graphics drivers, where possible, regardless of operating system.

### AMD

Bitwise equality between GPU and CPU holds in most cases, but for some operations there are limitations to the accuracy possible with this configuration.

- On Windows and Linux, an AMD GPU from the following list:

  Other AMD GPUs may work, but have not been fully tested.

  - AMD Radeon PRO W7900

  - AMD Radeon PRO W6600

  - AMD Radeon PRO W6800

  - AMD Radeon Pro W5700

  - AMD Radeon RX 6800 XT

  For information on the recommended driver for each GPU, see https://www.amd.com/en/support

- On Mac, integrated AMD GPUs are supported on the following Intel CPU Macs:

  - Any late 2013 Mac Pro onward (including 2019 Mac Pro),
  - Mid-2015 MacBook Pros onward, and
  - Late 2017 iMac Pros onward.

  All supported Mac Pros include a multi-GPU support option, where applicable. Bitwise equality between GPU and CPU holds in most cases, but for some operations, there are limitations to the accuracy possible with this configuration.

  Although AMD GPUs are enabled on other Mac models, they are not officially supported and used at your own risk.

### Multi-GPU Processing

Nuke's GPU support includes an Enable multi-GPU support option. When enabled in the preferences, GPU processing is shared between the available GPUs for extra processing speed.

Multi-GPU processing is only available for identical GPUs in the same machine. For example, two NVIDIA GeForce GTX 1080s or two AMD Radeon™ Pro WX 9100s.

## GPU Requirements for the Machine Learning Toolset

Training using the CopyCat node requires an NVIDIA GPU, with compute capability 3.5 or above; or MacOS Apple silicon integrated GPUs.

If an appropriate GPU is not available, Inference and other machine learning plug-ins can run on the CPU with significantly degraded performance.

## Apple M Series

Native support for Apple silicon hardware began with Nuke 15.0 and later versions. The following machines has been tested.

- Mac Pro
- Mac Studio
- Mac Mini
- MacBook Pro

WARNING: Although AMD GPUs are enabled on other Mac models, they are not officially supported and are used at your own risk.

Note: For Nuke 14.1 and earlier, Nuke is supported under Rosetta emulation on Apple silicon hardware. For the latest and most detailed information on GPU acceleration requirements for your specific Nuke version, always refer to the official release notes.

# Developer Notes

As Nuke develops, we sometimes have to make changes to the API and ABI under the hood. We try to keep these changes to a minimum and only for certain releases, but from time to time API and ABI compatibility is not guaranteed. See the following table for the situations when you may have to recompile your plug-ins and/or make changes to the source code.

Release Type | Example | Compatibility | Recompile | Rewrite
--- | --- | --- | --- | ---
Version | 14.0v1 to 14.0v2 | API and ABI |  |
Point | 14.0v1 to 14.1v1 | API | ⬤ |
Major | 14.0v1 to 15.0v1 | - | ⬤ | ⬤

Additionally, node Class() names occasionally change between major releases. While these changes do not affect legacy scripts, you may not get the results you were expecting if a node class has been modified. The toolbars.py file, used to create Nuke's node toolbar, contains all the current node class names and is located in <install_directory>/plugins/nukescripts/ for reference.

As an example, between Nuke 13 and Nuke 14, the Axis node Class() changed from Axis3 to Axis4. In the toolbars.py file for the two releases, the entries for the Axis node appear as follows:

    m3Dclassic.addCommand(
        "Axis",
        "nuke.createNode(\"Axis3\")",
        icon="Axis.png",
        tag=MenuItemTag.Classic,
        node="Axis3",
        tagTarget=MenuItemTagTargetFlag.TabMenu)

    m3D.addCommand(
        "Axis",
        "nuke.createNode(\"Axis4\")",
        icon="Axis_3D.png",
        tag=MenuItemTag.Beta, node="Axis4")