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

# Katana 6.0v1 Release Notes

Contents

- New Features
- Feature Enhancements
- Bug Fixes
- Known Issues
- System Requirements

# Release Date

15 December 2022

# Previous Releases

- Katana 5.0v4 Release Notes

# What's New in Katana 6.0

These release notes describe changes from Katana 5.0v4 to 6.0v1.

For a high-level overview of important changes in the Katana 6.0 line, please see the accompanying What's New in Katana 6.0 document.

# New Features

## Network Material: Material Solo

A new Material Solo feature has been introduced, bringing the ability to short-circuit shading networks within the Network Material context. This allows users to preview various sections of their materials independently from the rest of the network. This is a temporary action and when activated, the results will be reflected in an interactive session during a Preview or Live render.

The Material Solo functionality can be enabled by toggling the solo icon on the OUTPUT sidebar within the NetworkMaterialCreate or NetworkMaterialEdit nodes, or by using the 0 keyboard shortcut. Once enabled, the OUTPUT column will display ports available to solo nodes. This can be done by:

- Hovering over a node and using shortcuts 1 through 9. The first port available will be connected to the Material Solo sidebar
- Hovering over a port and using shortcuts 1 through 9. The hovered port will be connected to the Material Solo sidebar
- Placing a connection directly to or from the Material Solo sidebar

Additionally, 1 through 9 shortcuts can be used while the Material Solo isn't active. This will simultaneously enable the Soloing functionality and connect the selected node or port.

Users are able to assign up to all of the 1 through 9 Material Solo slots, the name of the node will appear on the Material Soloport and a corresponding number icon will appear next to the node. When the mouse is not hovered over a node/port, users can switch between the solo ports by using the same 1 through 9 shortcuts.

The Soloing tools can also be used within ShadingGroups. The Material Solo ports will only be visible within the top level of the Material network but the Soloing icon can still be accessed on the top of the OUTPUT sidebar.

The soloing tools are also customizable through python scripts, for which examples can be found within the Katana install directory under:

    <Katana-Install-Directory>/plugins/Src/Resources/Core/Plugins/MaterialSoloingConverters<renderer-name>.py

This contains example converter plugins for 3Delight, Arnold, Redshift, Renderman and USD.

## NME: Material Interface Update

A new Parameters subtab has been added to the Material Interface of NetworkMaterialEdit nodes, bringing consistency with behavior seen within the NetworkMaterialCreate node in Katana 4.5v1 onwards. This new subtab replaces the previous Defaults subtab which is now deprecated. This allows users to view and edit parameters in the NetworkMaterialEdit node that have been promoted to the Parameters subtab in previous NetworkMaterialCreate nodes or imported materials.

The Parameters subtab of NetworkMaterialEdit nodes will display promoted parameters once the contents of the node has been populated. Within the Parameters subtab, a warning will be displayed as a result: "NetworkMaterialEdit internal network has not been populated, either enter it, or use the repopulate button". In order to populate the Parameters subtab with promoted parameters, users can:

- Enter the node by selecting the button on the NetworkMaterialEdit node in the Node Graph, or Ctrl+MiddleMouse select the NetworkMaterialEdit node.
- Select the "Repopulate NetworkMaterialEdit" button on the Parameters subtab.

This will display the parameters that have been promoted to the Material Interface. Exposed shading nodes parameters are now directly represented in the Material Interface allowing users to modify values directly on the node itself, as opposed to overriding them on them on the NME's hidden material node.

Features from the NetworkMaterialCreate node that were introduced from Katana 4.5v1 onwards are now available to use within the NetworkMaterialEdit node, including:

- The parameter wrench menu exposes an Add to Material Interface option which will promote the parameters from nested nodes with a single click. The wrench menu now also appears in the NetworkMaterialEdit Parameters subtab to make it easier to remove or modify parameters from its Material Interface.
- The menu item Edit Material Interface Options can be used to specify exactly how the parameter will appear in the Material Interface once exposed by providing options to edit the Name, Page, and Label of the parameter.
- The jump button has been added to the Parameters subtab to quickly navigate to the node within the NetworkMaterialEdit from which the parameters were exposed.

## LiveShadingGroups in NMC

A new LiveShadingGroup node has been created within NetworkMaterialCreate nodes, allowing users to reuse and share sections of a material network using the LiveGroup functionality seen outside of the NetworkMaterial context.

A LiveShadingGroup node can be found in the tab menu whilst inside of the NetworkMaterialCreate Node. Alternatively, a ShadingGroup node can be converted to a LiveShadingGroup node through the right-click menu and selecting Convert to LiveShadingGroup. Within the Parameters tab of the LiveShadingGroup, the source parameter will require a .livegroup file that was written out from a NetworkMaterialCreate node.

When the LiveShadingGroup is in an editable state, users can use the right-click menu to Load, Revert, Publish, Publish and Finish Editing Contents and Convert to ShadingGroup.

When the contents LiveShadingGroup is in a locked state, options in the right-click menu to Load, Reload, Edit Parents and Contents, Edit Contents and Convert to LiveShadingGroup are also available.

Parameters previously available within the ShadingGroup node including the namePrefix and pagePrefix will be displayed in the LiveShadingGroup node's parameters under publicInterface, as well as user parameters. Changes made to those parameters will be preserved after the LiveShadingGroup has been reloaded or modified.

## Performance

A new Performance tab has been added to easily view scene statistics and preview profiled information with the help of a Heat map. This enables users to preview information in relation to their Katana project, as well as effectively identify nodes with the highest Cook Time.

A Project Stats category monitors the number of nodes that are contained in the project, that are contributing to the current scene being viewed in the Node Graph and that are currently selected.

- Number of Nodes refers to the number of nodes contained in the entire Katana project.
- Number of Contributing Nodes refers to the number of nodes that are currently contributing to the View flag set in the Node Graph.
- Number of selected Nodes refers to the number of nodes that are currently selected in the Node Graph. An additional number will be displayed in between brackets. This occurs when a node containing multiple nodes is selected. For example a Group node or SuperTool will display two different numbers for the number of nodes selected at the top level and the total number of aggregated nodes.

The Node Graph category enables users to preview the results of a Runtime profiling file (.json) in the form of a table and/or Heat Map.

To view this information, the Profile Results File will require the location of a Runtime profiling file (.json). This can be generated when rendering a scene with the "Preview Render with Profiling" option and found in the Render Log tab. By default, the Autoload Latest option is checked and will automatically load the latest profiling file generated. This option can be unchecked if users prefer to manually set and update the file themselves under Profile Results File.

This will populate the Node Graph section of the Performance tab with further information:

- Elapsed Time displays in ms the time taken for the file to be generated.
- CPU Time displays in ms the total time spent on the CPU
- Op Count displays the number of Ops

A table will also display a list of 20 nodes that required the most CPU Time (s), as well as their related Node Name and Node Type.

When the Show Heat Map option is ticked:

- All backdrops and other nodes that aren't matching information in the profile will turn grey.
- Nodes with profiling information will be highlighted with a color that corresponds to their Cook Time results.
- The color map colors can be amended to use different color maps in the Node Graph's View menu under Heat Color Map
- A scale will be overlaid in the Node Graph indicating the lowest and highest Cook Time in seconds.

## VFX Reference Platform CY2022

- As part of this release we have updated to VFX Reference Platform 2022. Some highlights of the specific versions are included below but for a complete list, please refer to the Developer Guide.

  | VFX Reference Platform 2022 | Katana 6.0
  --- | --- | ---
  GCC | 9.3.1 | 9.3.1
  glibc | 2.17 | 2.17
  Windows Toolset | Visual Studio 19 | Visual Studio 19
  Windows SDK | 10.0.19041 | v10
  Python | 3.9.x | 3.9.10
  Qt | 5.15.x | 5.15.2 (modified)
  PyQt | 5.15 | 5.15.6
  OpenEXR | 3.1.x | 3.1.4
  OpenSubdiv | 3.4.x | 3.4.3
  Alembic | 1.8.x | 1.8.3
  OpenColorIO | 2.1.x | 2.1.1
  Boost | 1.76 | 1.76.0
  Intel TBB | 2020 Update 3 | 2020 Update 3

  Outside of the VFX Reference Platform, we have also updated to USD 22.05.

# Feature Enhancements

## 3Delight

The 3Delight version that ships with Katana has been updated to 2.9.8. Please see the 3Delight website for updates to this and other versions.

## API/SDK Changes

Using FnPlatform::StringView is now equivalent to using std::string_view.

A public method has been added for accessing the current shader program object in a GL manipulator handle: Foundry::Katana::ViewerUtils::GLManipulatorHandle::getCurrentShaderProgram()

## Coding and Debugging Improvements

Boost's implementation of string_view has been removed from Katana's codebase, instead being replaced by C++17's std::string_view. While unlikely to cause issues, there is a small chance that customers may run into problems. If issues occur, it's highly likely that switching the relevant customer code to use std::string_view will resolve them.

Improved the performance of some string manipulations in the pystring library by adding support for std::string_view.

- All std::string input arguments have been changed to std::string_view.
- The following functions, which take a std::vector<std::string> input argument, are now overloaded to also take a std::vector<std::string_view>. Calling code will need to be modified to take advantage of the more performant, string view route.
  - pystring::join(...)
  - pystring::os::path::join(...)
  - pystring::os::path::join_nt(...)
  - pystring::os::path::join_posix(...)
- The following functions have string view-enabled versions added, to output std::string_views. Output values could be as return values, or output reference parameters, or both. In cases where the output value is an output parameter, an overloaded function is added. In cases where it's a return value, a new function is added with a '_view' suffix, for example pystring::strip_view(...). (Note: pystring::os::path::split() and its platform-specific counterparts do not receive this treatment, as it's possible they will return a new string, rather than a view into the input string). Calling code would need changed to make use of the more performant functions. In these cases, care must be taken that the input strings will remain in scope longer than the output string views.
  - pystring::lstrip(...)
  - pystring::strip(...)
  - pystring::rstrip(...)
  - pystring::partition(...)
  - pystring::rpartition(...)
  - pystring::split(...)
  - pystring::rsplit(...)
  - pystring::splitlines(...)
  - pystring::slice(...)
  - pystring::os::path::splitdrive(...)
  - pystring::os::path::splitdrive_nt(...)
  - pystring::os::path::splitdrive_posix(...)
  - pystring::os::path::splitext(...)
  - pystring::os::path::splitext_nt(...)
  - pystring::os::path::splitext_posix(...)
- The following functions, which have a single std::vector<std::string> output argument, are now overloaded to return the std::vector<std::string>, similar to how the pystring Lua API works.
  - pystring::partition(...)
  - pystring::rpartition(...)
  - pystring::split(...)
  - pystring::rsplit(...)
  - pystring::splitlines(...)

## Colorspace

Katana was updated with the new patch version of OpenColorIO 2.1.2 and the builds now contain ACES 1.3.

## Hydra Viewer

In the Viewer tab, a new View > Skydome option has been added to enable or disable the Skydome rendering in the HdStorm (GL) render delegate.

## Miscellaneous

- ID 502887 - Updated the taco model and its UVs from the PrimitiveCreate node.

- The Foundry End User License Agreement has been updated to reflect new licensing models in Foundry products.

## Network Material Enhancements

- A public API has been introduced to the NetworkMaterialEdit node to enable editing of Network Material locations during script mode. Full documentation of this new API can be found in the Katana Developer Guide under Scripting in Katana > Working With Nodes > NetworkMaterialEdit

- In the Network Material context, a new solution for drawing connections has been introduced. This enables users to easily view connections at any distance and their thickness will remain consistently sized when zoomed out in the Node Graph.

## Network Materials

- ShadingGroup ports can now be reordered from within the ShadingGroup on its Input/Output Sidebars. To do so, Middle Mouse click a port without keyboard modifiers, drag the port to the desired destination, and release the Middle Mouse button to drop the port. Ports can be moved between page headers and the path will be changed accordingly.

- Shading nodes within the Network Material context can now be searched more efficiently in the Node Graph. When selecting the magnifying glass, the "Type" Filter will search for nodes using the nodeType parameter, as well as the type.

- While hovering over a connection in the Network Material context, the "/" keyboard shortcut can be used to follow the connection to it's connected node.

- Hovering over a connection in the Network Material context for a short period of time will show a tooltip detailing which nodes and ports on the nodes partake in this connection. This does not currently support displaying multiple connections between collapsed nodes.

## Node Graph

- ID 109028 / BZ 48200 - The Jump to Bookmark Node Graph menu has been improved to better facilitate navigating to bookmarks at different levels of the node graph. The nodegraph/showNestedBookmarks preference can be used to toggle the new behaviour on/off.

## Node Types

- The LiveGroupStack node type (deprecated in Katana 1.6) has been removed, LiveGroupStack nodes that remain in projects that are updated to the latest version of Katana will be converted into GroupStack nodes.

## Performance

- `Foundry::Katana::Util::Path::GetLocationStack()` has been reimplemented in terms of `Foundry::Katana::Util::Path::GetLocationStackStringView()` (available since 4.5v4/5.0v4). Previously, when bad input data was provided (e.g. non-normalized paths), the behavior was undefined. The new implementation returns an empty stack when invalid paths are given.

- ID 515211 - The computation and memory overhead for 'no-op' scene graph locations in the 'Geolib3-MT' and 'Geolib3-MT (Experimental)' runtimes has been greatly reduced to bring them more in line with the 'Classic' runtime. This can significantly improve scene cook time (and hence render time) and memory usage for recipes in which many Ops with well-defined scope operate on a large input scene.

- `FnGeolibCookInterfaceUtils::resolveFileNamesWithinGroup()` and `FnGeolibCookInterfaceUtils::resolveFileNameInString()`, used in filename resolvers, were slowed down by the repeated creation of a relatively expensive regular expression. The regular expression is now created on initialization.

- The ProfilingMockRenderer render plug-in, bundled in the Examples plug-ins, now also supports Live Renders. In a Live Render session, the render plug-in periodically reports the number of live updates that have been processed.

## Rendering

- ID 518199 - In certain cases, Katana wouldn't respect a non-zero exit code from a renderer plug-in, resulting in a failed render being reported as successful.

## USD Import

- ID 507658 - When light prim types, which were not based on a UsdLux base light prim, were imported from USD, they were not imported into Katana as Lights.

# Bug Fixes

## Coding and Debugging Improvements

- ID 502434 - When `Interface.CopyLocationToChild(newChildName, inputLocation)` was called with an input location (`inputLocation`) that does not exist, a new child location would still be created, although the documentation states that no location would be created. The location is now skipped.

## Colorspace

- ID 503593 - When trying to load an non-existent or invalid OCIO config file, Katana could crash or cause an error. Stricter validation of the OCIO config file used by Katana has been added.

## Hydra Viewer: Render Delegates

- ID 521377 - When switching render delegates or closing Katana, an Invalid GL operation error could occur.

## Network Materials

- ID 518840 - When selecting shading nodes in the NetworkMaterial context, the selection border would show inconsistencies in widget width. Widget widths have now been made consistent with each other.

- ID 519385 - When scrolling the NetworkMaterial sidebar in the NetworkMaterial context, graphical clipping in the UI would be incorrect, resulting in UI element overlap. Clipping is now appropriate for the NetworkMaterial sidebar's frame area.

- ID 519420 - When dragging connections to the sidebar inside a ShadingGroup node, the highlight that represents the hit area of the sidebars was misaligned.

## NetworkMaterialEdit

- ID 513862 - When using a NetworkMaterialEdit node to edit a network material with a ShadingGroup node containing a Public Interface, the Public Interface parameter information was lost.

## Performance

- ID 510751 - When performing a Preview Render with Profiling, using Geolib3-MT, tracked memory usage could be unreasonably large for some Ops. This was due to the unsigned data type going less than zero and wrapping around. We cannot currently guarantee that a memory allocation's corresponding deallocation will be tracked against the same Op, depending on how and where the memory is allocated, which could lead to what looks like negative memory usage in certain Ops.

- ID 522038 - The Geolib3-MT runtime could potentially result in invalid scene data and crashes in the render process.

- ID 525654 - Geolib3-MT profiling data inflated execution times for Ops that queried inputs that are not already cached, including the input evaluation time in the reported value. This commonly manifested as Merge Ops appearing to be excessively expensive, but any Op that performs non-default queries could be affected.

- ID 525758 - When enabling the Heat Map on a node graph with nodes which are either cooked multiple times or are composed of multiple Ops, the display color would not accurately reflect the total time taken by those nodes.

## UI

- ID 502489 - When saving a Katana project with the scene graph expanded, a Python RuntimeError would appear in the terminal.

- ID 519728 - When a project with a long filepath was loaded into Katana at start up, the layout of the splash screen would break.

## USD

- ID 505055 - Ops in KatanaUsdPlugins clashed with RenderMan named ops. Pxr has been removed as a prefix to the Ops registered by KatanaUsdPlugins. The folders of KatanaUsdPlugins source code have been renamed to remove Pxr prefixes where applicable. See the external open source repository for more information on the changes. The out-dated `KatanaUSDPlugins/ChangeList` page from the Dev-Guide has been removed. Please check the KatanaUsdPlugins GitHub repository for more details on future changes to the code base.

- ID 507772 - UsdIn.BootstrapOp and UsdIn.MaterialGroupBootstrapOp have been deprecated, please refrain from using these ops as it will raise an error.

- ID 508015 - All occurrences of the USD term master have been replaced in KatanaUsdPlugins with the term prototype.

- ID 521778 - USD PointInstancer prims with multiple direct children would only import the first child as an instance source location

## USD Import

- ID 453348 - When importing a USD file that had previously been exported from Katana via the UsdMaterialBake node, any Katana child materials were not bound correctly on import. For example, the materialAssign attribute on a bound location was updated from NetworkMaterial1_material1 to NetworkMaterial1/material1 (to match what it was before it was exported), but the location of the material in the scene graph was still NetworkMaterial1_material1. This meant the location was unbound and produced incorrect rendering results.

# Known Issues

## Catalog

- ID 114182 / BZ 49288 - When exporting a Catalog item you need to specify the export folder path to an existing folder. If the folder you're trying to export to does not exist on disk Katana will fail to export. (This issue is a regression in Katana 2.0v1.)

## Hydra Viewer

- ID 427252 - Locators created via PrimitiveCreate nodes can be snapped to in all modes, rather than just the Lights, Cameras, and Locators mode.

- ID 420882 - Changing between the Viewer (Hydra) tab's multipane layout options quickly can cause a crash or many error messages to be written to the terminal/console.

- ID 380129 - Use of non-conformant GL anti-aliasing modes that employ supersampling reduces rendered point size by the supersampling scaling factor. Katana currently employs any reported anti-aliasing mode (up to a maximum sample count of 16): as a workaround, change the viewerHydra.antiAliasing preference to a lesser anti-aliasing mode.

- ID 352167 - Textures loaded from Hydra shaders are not cleared or reloaded from disk when flushing caches.

## Live Groups

- ID 85118 / BZ 41152 - When editing parameters of a node that is part of a LiveGroup node and reloading the parent LiveGroup node, the UI state of the Parameters tab is reset. This includes scroll bar positions, selections of items, and selections of nested tabs (for example Object, Material and Linking tabs for a Gaffer node).

- ID 84998 / BZ 41092 - When reloading a LiveGroup node's parameter interface and contents from its source, parameters of child nodes that are edited in floating panes disappear from those panes.

- ID 84020 / BZ 40598 - Reverting a LiveGroup node does not revert its user parameters.

- ID 84018 / BZ 40600 - Undoing a revert of an unpublished LiveGroup node does not restore the LiveGroup's editable and modified state.

- ID 83061 / BZ 40237 - Nodes can be dragged into the Group bubble of a non-editable LiveGroup node.

## Materials

- ID 526151 - NME's exposed parameters will display an incorrect state badge if the name or page prefix parameter is changed on an upstream node. As well as this, the parameters will change back to default values unless the Local flag is activated.

- ID 442604 - When "exploding" a NetworkMaterialEdit node in the Node Graph tab into its parts by selecting it and choosing Edit > Explode Selected Groups or pressing the U key, Python exceptions are raised.

- ID 429775 - NetworkMaterialEdit nodes do not currently respect local Graph State changes, for example as performed by VariableSet nodes downstream.

- ID 429302 - When editing a locked node inside a NetworkMaterialEdit node graph, the parameters will be shown at their default state.

- ID 427408 - When entering a NetworkMaterialEdit node whose sceneGraphLocation parameter is empty, warnings are logged by the Geolib3 Runtime.

- ID 423341 - In a NetworkMaterialEdit node graph, connections can be displayed incorrectly if a node's name begins with a number.

- ID 402064 - In a ShadingGroup node graph, the connection between a Dot node and a shading node port can be wrongly colored in some cases.

- ID 269449 - Choosing Edit Shader Parameters from the main wrench menu of Material nodes does not show wrench buttons next to shader parameters. This can be worked around by toggling the edit flag on the node. (This issue is a regression in Katana 2.5v1.)

- ID 199304 - The namespace parameter on Material nodes wrongly allows the insertion of Unicode codepoints outside the ASCII range.

- ID 191052 - Katana does not have any support for the texture reference object workflows of V-Ray for Maya.

## Parameter Expressions

- ID 188533 - Expressions linked to non-local parameters on not previously edited Material nodes can't be evaluated.

- ID 105434 / BZ 47520 - Reference Expressions may not refer to dynamic parameters such as shader parameters.

- ID 60457 / BZ 31790 - Setting an array or group parameter to an expression results in an invalid expression. Upon setting a valid expression (for example, an evaluation of an equivalent parameter on another node using getParam), the parameter is not immediately updated. To workaround this issue, close and reopen the parameter, or flush caches while the node is not edited.

## Performance

- ID 105424 / BZ 47518 - Expressions using getParam to link to dynamic parameters would fail if the dynamic parameters hadn't yet been cooked.

## Python

- ID 496659 - When loading a website into a `PyQt5.QtWebEngineWidgets.QWebEngineView` widget, warning and error messages may be issued by the underling Qt WebEngine classes, leading to certain websites not being displayed correctly, or not being displayed at all. (This issue is a regression in Katana 4.5v1 / Katana 5.0v1.)

- ID 494168 - In the Katana Developer Guide, some members of C++ classes that are marked as `friend` incorrectly appear as `friend friend`. (This issue is a regression in Katana 5.0v1, and may be related to an issue in Breathe.)

## Rendering

- ID 524428 - Misleading error messages can be shown in the Render Log when live rendering with 3Delight.

- ID 523574 - Sourcing an aces v1.3 colour profile can cause Katana to crash when rendering with renderer plugins that don't currently support aces v1.3

- ID 381284 - The 3Delight renderer plug-in makes use of source material locations rather than resolved material attributes as a means of de-duplication. This can result in material data being lost when excluding material locations from the Render Working Set during a Live Render session.

- ID 176598 - Use of nodes that modify Graph State Variables in Interactive Render Filters is not currently supported.

- ID 74799 / BZ 36926 - The rendererSettings > displayOptions parameter of a RenderOutputDefine node for the PRMan renderer, shown when its type parameter is set to 'raw', cannot be set using the Parameters tab.

- ID 70217 / BZ 36176 - The 2D node Disk Render Upstream Render Outputs option does not use the batch render method, batchRender, for upstream render nodes, instead using diskRender.

- ID 70016 / BZ 36137 - Rendering repeatedly with a large number of AOVs consumes more and more memory, possibly leading to a crash when running out of memory.

- ID 12517 / BZ 16168 - Only one Monitor tab may display the results of a Preview Render. The use of multiple Monitor tabs is not currently supported.

## UI

- ID 373702 - Clicking in the Viewport and pressing a shortcut whilst the mouse is hovered in another widget will still send the event back to the 'focused' Viewport widget, for shortcuts where the widget hovered over does not handle the shortcut.

- ID 208802 - Closing the Histogram tab after use leaves the Monitor tab unable to display rendered images.

- ID 123558 / BZ 50911 - When changing an array parameter's tuple count/size, any corresponding attributes are not properly updated in the Attributes tab.

- ID 112544 / BZ 49051 - The Viewer tab may lose sync with the Scene Graph tab when changes to expansion state are interrupted.

- ID 107038 / BZ 47853 - Indication of attribute source nodes (such as the yellow 'glow' in the Node Graph tab) is unavailable as of Katana 2.0v1.

- ID 71965 / BZ 36691 - State badges are currently shown for attribute values of dynamic array child parameters, even though only their parent array parameter should appear with a state badge.

- ID 65347 / BZ 34949 - Using Compiz can lead to text fields not receiving focus events correctly due to an incompatibility between Compiz and Qt. Depending on your configuration, disabling Compiz "desktop effects" may resolve the problem.

## USD

- ID 468287 - UsdIn is not retaining expanded view state information for shading nodes in a Network Material context.

## Windows

- ID 381692 - (Windows only) When logging out and logging back in again, the colors in the UI are incorrect. For example, certain parts of certain types of tabs may appear with a white background color. (This issue is a regression in Katana 3.1v1, possibly caused by QTBUG-52728 - Paint bug and palette errors after some events in Windows)

- ID 344118 - (Windows only) When installing Katana and opting to install the bundled version of 3Delight, the installation of 3Delight is made by modifying system-wide environment variables such as `KATANA_RESOURCES`. Thereafter, launching any version of Katana will pick up this installation of 3Delight, which may be incompatible with the version of Katana being launched.

  Note: This issue does not affect Linux, where a bundled 3Delight installation is tied to its corresponding Katana installation.

- ID 218742 - (Windows only) Katana must be installed to a path no longer than ~140 characters. Attempting to install to a longer path results in an unintuitive error: "The system cannot find the path specified."

## Miscellaneous

- ID 84326 / BZ 40709 - The Alembic library does not support multiple process or thread access to an Alembic file. This means that a crash occurs when modifying an Alembic file outside Katana, while it's loaded in an open Katana scene. To avoid this, you must Flush Caches before attempting to update any modified Alembic files.

- ID 80738 / BZ 39261 - Operations that lock and unlock nodes do not currently create entries in the Undo History, which can lead to an incorrect node graph state when undoing and redoing operations.

- ID 70196 / BZ 36170 - Control keys (notably arrow keys) do not function as expected in shell mode.

# System Requirements

## Officially Supported Operating Systems

- Windows 10,11(64-bit)

- Linux CentOS/RHEL 7.6 to 7.9 (64-bit)

## Hardware Requirements

| Minimum | Recommended
--- | --- | ---
CPU | Dual-core processor
Storage | 1+ GB available for installation
System RAM | 1+ GB available
Graphics RAM | 1+ GB available | 2+ GB available
Display | 800 x 600 | 1920 x 1080
OpenGL | OpenGL 4.5+

Note: AMD-based graphics cards are currently not supported.

### Tested Workstation Hardware

The configurations listed below are those that Foundry have tested with Katana. Due to the constantly changing nature and wide variety of computer hardware available in the market, Foundry is unable to officially certify hardware. The list below can be used as a recommendation and does not guarantee that it meets your particular needs.

- NVIDIA Quadro M4000

- NVIDIA Quadro P4000

- NVIDIA Quadro K4000

- NVIDIA Quadro K6000

Please download and install the latest graphics driver from the NVIDIA website.

If you encounter any issues, please contact Customer Support directly through the Support Portal at the following address: https://support.foundry.com.