Release Notes

KIT Known Limitations

  • During live edit, objects often revert to the original positions (often during viewport drag)

  • During live edit, flickering can occur with objects the viewport which affects those participants viewing the edit (and does not affect the participant performing the edit operation on the object)

  • Live editing of the same layer by multiple users can cause instability in Kit, resulting in crashes and or freezing of the UI

  • Kit Application UI/Material Workflow

    • Live MDL file editing is broken (need to restart Kit to reload edited MDL).

    • Live material parameter editing between Connector (e.g. Maya) and Kit is not working properly

    • Cross-server reference of USD which contains MDL that uses server-side search path is not working properly. You will see red material in such cases.

KIT 2020.2.2 Hotfix

General

  • Improved CloudXR performance and update CloudXR version

Core Framework & USD

  • Fix referencing local files from inside omniverse files

  • Fix list cache not clearing deleted items.

KIT 2020.2.1 Hotfix

General

  • Updated omniverse_asset_converter to fix shapenet crash

  • Build: fixed missing libffi.so.6 issue on ubuntu 20 when loading omni.physx

  • Pasting URLs from ov-web into Kit content browser now works

  • Adding connection to server root after adding connection to server subdir now works

  • URLs to Nucleus directories didn’t work unless there was a shortcut in the content browser to the exact server

  • moved the /renderer/mdl/searchPaths/server setting to the right scope in kit-core.json file

  • Uploading of crash dumps to backtrace server re-enabled

  • Added Colorspace Support for UsdUVTexture

  • Added Colorspace Support and specular workflow in UsdPreviewSurface

Core Framework & USD

  • Client Library

    • Bugfix: would sometimes (very rarely) cause data loss if you got a disconnect while uploading a file.

    • Bugfix: would fail to download a file if it was an exact multiple of 1MB

    • Bugfix: USD files from Nucleus servers were being deleted unless saved twice

  • omni.usd

    • API call to get Instance Path/URI from BBox Instance ID (and vice versa)

  • General Improvements

    • Extension System

Omniverse RTX

  • Support colorSpace and specular workflow in UsdPreviewSurface

  • Fix Path-Traced fog, was too dark when outside the fog

  • Fix naming of cutout opacity render settings

  • Remove hard-coded legacy server-side MDL search paths

  • Synthetic Data support

    • Add API to grab uri from instance index for omni.syntheticdata

    • Dump bounding box data directly from instance constant

    • Treat translucent objects that cast shadows as opaque for the purposes of synthetic data gathering

KIT 2020.2

Client Library

  • New omni.client extension (all extensions using python/C++ client lib should set this as extension dependency).

  • omni.client python binding.

  • OmniClient.h C++ dynamic library interface.

  • OmniClient carbonite interface.

  • DataSource interface with carb.datasource-omniclient.plugin implementation.

  • Direct use of Connection Library, IConnectionHub, omni_usd_plugin, omni.connection, omni.connectionhub, omni.usd_plugin are now deprecated. Any new carbonite plugins, Kit extensions should develop with client library/omni.client directly. Any old extensions/scripts/plugins using these components will stop working and need to be updated.

  • URL format has changed. You do not need to make an explicit connection to a server to access the files, instead you specify the server name in the URL. For example if you want to load a file from localhost, previously you need to log into localhost first, then open omni:/Users/foo/bar.usd. Now you can open omniverse://localhost/Users/foo/bar.usd directly. Client library manages the connection internally.

  • With the new URL format, you can now reference USD layers across servers (experimental, material may not work properly).

  • Old omni: URL will still work in USD, but it’s recommended to update your files to use the full qualified omniverse:// URL.

Extensions System

  • Extension system now supports setting registry provider which can be implemented anywhere

  • Add omni.kit.registry.nucleus extension which implement registry provider interface using nucleus and client library

  • Add more API to extension manager to fetch extension info, to allow treating both remote and local extension in uniform way

  • Added “enabledCore” setting to enable some extensions before others (like extension registry).

  • Extensions 2.0 manager UI with remote extension browser

  • By default extension system now prefers highest extension version

  • Add “list all extensions” cmd param to kit.exe

  • Add publish command to kit.exe

  • package.target config property. Allows to specify platform specific filters. It is also autofilled when publishing. Allows publishing of binary extensions.

  • Semantic Versioning support, including prerelease and metadata

  • Proper package name for extensions (using version and package.target)

  • Version removed from premake and moved into extension.toml.

  • Extension.toml reworked, added [package] section to avoid polluting root, added various info for UI here.

  • CHANGELOG in extension.toml + example

  • Add platform info to IApp interface

  • Added live mode support for documentation editing (build_docs.bat -l)

  • Huge extension documentation update

  • General Improvements

    • Changed settings override command line prefix to –/ and previous prefix –carb/ is now deprecated.

    • Refactored and cleaned up standalone rendering codepath that is used in Kit Mini and Kit non-RTX.

    • Editor interface is bumped to version 1.0 to facilitate semantic compatibility.

    • Added flag –skip-core-config to force Kit to load without the implicit configuration files (kit-core.json and kit-default.json)

    • New way to process Kit experience configuration files, allowing configuration merging using –merge-config/-m command line arguments, with experimental support of configuration file imports (using “@import@” directive) and appending array values using “++” child field.

    • Kit data path now includes build number

    • New extension omni.kit.usda_edit that allows editing usd file as text in the external editor

    • Stage Window: displaying instance proxies

    • Content Browser: Ability to use custom context menu

    • Bugfix: Press F to frame objects will no longer include the bounds of Camera and Light gizmo.

    • Bugfix: Fix normal issues of creating standard mesh in z-up stage.

    • Bugfix: Stage Window: fixed tree updating when muting layers

    • Bugfix: Stage Window: fixed removing of multiple items

    • Bugfix: Stage Window: fixed Ctrl-A

    • Bugfix: Stage Window: fixed focus on selection

Animation

  • omni.anim.usdskel an OmniGraph-based extension to support

    • Skinning

    • BlendShape (no skinning)

    • BlendShape & Skinning (preskinning)

  • Split the transform constraints extension into three extensions

    • omni.anim.wrap a mesh-to-mesh deformer

    • omni.anim.xform_constraints

    • omni.anim.pinConstraint

  • omni.anim.jiggle extension to simulate the secondary jiggle bounce mesh deformation

  • Add options in the Preference window to select default xformOp when creating new prims

  • Add support of USD layer offset such that animations in different layers with different timeCodePerSecond can play together, a.k.a auto retiming.

  • Add Transform spline interpolation supported in omni.anim.timesample_editor , such that the key framed xForm value can be evaluated in Bezier curve interpolation method.

  • Moved the timeCodePerSecond editing feature from the timeline UI to the omni.anim.timesample_editor window

  • Switched the default animation time unit from seconds to frames in the timeline UI

  • Improved the robustness of omni.anim.player such that it can playback almost all kind of animation scene. The only exception is the none-OmniGraph skeleton mesh pipeline, it is a known issue and will be address in the next release.

UI Framework

  • Moved Omni::UI to a separate extension

  • New embeddable omni.kit.widget.filebrowser UI widget for exploring file systems, including nucleus servers.

  • New widget, ImageWithProvider and a set of helper ImageProviders, which serve as a source of image data for the widget. ByteImageProvider allows to display raw byte data, RasterImageProvider allows to load a raster image and display it, VectorImageProvider allows to load vector image, rasterize it and display.

  • TreeView: rewrote to avoid using ImGui table

  • TreeView: the ability to reorder items

  • Added new extension omni.graph.ui that allows inspect omni.graph and UsdShade networks as graph view

  • Delayed UI population with Frame.set_build_fn

  • Ability to overlay existing windows

  • Bugfix: Fixed possible freeze/crash on window resize.

  • Bugfix: TreeView: fixed selection lag and selection crash

  • Bugfix: CheckBox: fixed disabled state

  • Bugfix: CollapsableFrame: fixed margin and padding

Kit Application UI/Material Workflow

  • Toolbar has been moved from C++ to python using omni.ui.

  • Layers

  • Layers window has been written with omni.ui and moved to python extension.

  • It supports live mode control per single layer.

  • Improvements to Cache/Live mode indicator.

  • Content Window now supports multiple servers at the same time. All local drives will also be listed by default.

  • Global login window is removed. On-demand login will popup when needed.

  • “file:” prefix is removed from local file path returned in FileDialog and in Content Window’s address bar (pending cherry-picking)

  • Improve the collect tool to optimize the collect performance.

  • Improve asset importer to support FBX version under 7.

  • New Copy Service extension for copying files between Nucleus and local file servers.

  • Stage widget type column on by default

  • Stage Widget show/hide columns

  • Bugfix: Certain aliasing on UI images has been improved.

  • Bugfix: Rasterized svg glyph is now center aligned

Cloud and Microservices

  • Kit control port extension is now part of Omniverse. It forms the base of the micro services framework that is being built around it. It

  • Kit-services is an application that makes it easy to get going with Kit and its micro services framework. Build, run and deploy kit microservices.

  • Basic facilities that make it easier to write stateless services using dependency injection.

Hydra Viewport

  • Early preview of the new hydra viewport extension in kit, accessed by running kit-hydra.bat in Windows. This viewport renders the USD world using render delegate plugins like Pixar’s OpenGL based hdStorm and hdEmbree. This allows kit to run on machines with non-RTX GPUs and be embedded in lightweight, quick loading experiences. The hydra viewport is not yet feature complete, but picking and camera controls are implemented.

Viewport Window

  • Performance improvements for UI draw event stream events creation/dispatch

  • Viewport context menu add group selected

  • Viewport window prim selection fix for context menu

Ansel

  • Cleaned up Ansel extension matrix code

  • Default save folder matches recommended Ansel default folder

Materials

  • Improved OmniGlass has more intuitive controls to simulate refractive materials. Please note, in some cases there can be a look change.

  • New OmniPBR_ClearCoat is a multi-layer physical material that adds an additional clear thin coat to OmniPBR.

  • Both materials also have Opacity versions that add cutout opacity mapping support.

Physics & Simulation - General

  • Debug visualization fixes

  • Grab with force can have now force value defined in Physics settings window

  • Fixed runtime switch of collision shapes inside bodies

  • Updated Physics demos to new UI, added custom parameters to demos

  • Improved convex decomposition performance and quality

  • Debug visualization for collisions supports time varying transformations

  • Physics demos are created under default prim

  • Improved errors while parsing physics data out of USD

  • Commands for physics menu - undo/redo works for physics menu

  • Undo/redo for physics properties changes

  • Physics error stream added

  • Support for distance joint springs

  • New PSCL (physics scripting language) demos

  • Documentation for physics extensions

  • Documentation for physics python bindings

  • Exposed disable gravity on PhysxRigidBodyAPI

  • Blast extension support for impact based damage

Physics & Simulation - Vehicles

  • Support for PhysX vehicles

  • Default input device support to drive a vehicle

  • Custom camera types

  • Special property windows

  • Vehicle creation wizard

  • Samples

Physics & Simulation - Blast

  • Voronoi fracture of UsdGeomMesh

  • “Explode view” of fractured chunks

  • Multilevel fracture - can select chunks in explode view (or stage view) and fracture those further

  • Ability to set interior materials of fractured meshes

  • Fracturing a mesh with a PhysicsAPI creates a destructible rigid body

  • Ability to choose kinematic or dynamic physics mode for the initial destructible rigid body

  • Can select multiple meshes and create a combined-mesh destructible

  • Reset feature deletes blast object and restores original mesh

  • Impact damage option

  • Contact threshold

  • Ability to attach a blast destructible to the static world or a dynamic rigid body

  • Damage profiles: radial, cutter, and impact spread

  • Base damage amount

  • Min/max damage distance

  • Impulse to apply to chunks when taking damage

  • Impact-to-damage setting

  • Max contact impulse, to allow heavy objects to pass through “weak” destructibles (such as a canonball through a window)

KIT 2020.1 Hotfix

General

  • Add texture supports for ShapeNet importer in omniverse_asset_converter

  • Updates from a referenced file that gets changed do not get reflected in a new scene.

  • Fixed showing of Black Sky When Opening Models in View

  • Fixed mouse picking for joint to be forced based since it was too strong, leading to joint being pulled apart

  • Changed error reporting for articulation joint created without bodies

  • Fixed problem with disabling of joints, they can now be disabled

  • Fixed crash when removing collisionAPI in Kit while simulation is running

  • distance joint spring enabled exposed

  • Following CPU/GPU logs added during startup

  • A table to show: Memory size (used/free), swap/page size (used/free), CPU and GPU brand names, CPU cores and logical processors.

  • Enumerate all GPUs on device creation failure

  • Indicate which GPU chosen by setting active in table

  • Scoring GPUs: priority based on per 256 MB GPU memory and “RTX” in the name

  • Improve GPU selection for multi-gpu: Skip old GPUs and fix incorrect GPU counting

  • Fixed the problem where Microfacet with roughness of 0 cause blurry reflections and transmissions by updating to newer MDL SDK

  • Fixed Viewport corruption during View startup on MGPU

  • Fixed perf hit caused by enabling synthetic data bounding boxes

  • Fixed problem which was causing dramatic changes in Viewport brightness changes when moving camera

  • Implement a camera sensor to extract the tight 2D bounding box data of the objects that a camera has in view

Isaac Sim

  • mechanism to map instance segmentation URI to a USD Object for omni.syntheticdata

Physics/Simulation

  • Switched mouse drag to a weaker force based approach so it doesn’t pull joints apart. Previous joint based behaviour can be enabled in physics settings.

  • Joints can be enabled/disabled through jointEnabled attribute

  • Fixed crash when removing collisionAPI in Kit while simulation is running

KIT 2020.1

Core Framework & USD

  • Refactor of the Kit Classes splitting the API in more logical pieces.

  • New Extension system (Extension 2.0) with dependency management and clearer structure.

  • Many of the Kit Windows are now Extension 2.0.

  • New interface ITimeline: Manages a global timeline for animation control.

  • Layers’ interfaces have been re-organized to support nesting of layers (support for sub-layers of sub-layers).

  • Added support for synchronizing time across Omniverse stage in Live mode.

  • Added default option to keep UsdPrim’s world transform when re-parenting.

  • Allowed collapsed copy of reference prim’s descendants.

  • UsdShadeShader prim’s subIdentifier now requires no namespace prefix and will issue a warning if namespace is included.

  • New mesh generator and general primitive improvements.

  • White Mode now has a global exception list in Preferences to exclude materials that will not be changed when White mode is enabled.

  • USD diagnostic message is now turned on by default to help guide correct USD usage and debugging.

  • Add support for nesting sub-layers for USD compliance so users can operate the whole layer tree.

  • Improved stage save workflow to control the granularity of saving of stage.

  • OM-Fixed UsdPrim visibility not honoring display purpose filter settings.

  • OM-Popup menu when drag and drop MDL file onto a UsdPrim now only includes UsdGeomGprim, UsdGeomSubset and UsdGeomXform.

  • OM-10x default far-plane to allow rendering bigger scenes.

  • OM-Improved performance when framing objects by pressing F in viewport.

  • OM-Fixed std::bad_weak_ptr exception on several omni.kit.ui python bindings.

  • OM-Fixed “Create Camera from View” only taking the local transform of the source camera.

UI Framework

  • New UI toolkit called Omni::UI to enable extendable and visually compelling user interfaces.

  • Omni UI Components: Dynamic layout system, Flexible styles, Button, Image, Label, Model based widget like ColorWidget, Slider, ComboBox, ToolButton.

  • Advanced UI element for Tree, List Views using fast and flexible models.

  • Workspace system to control Kit’s windows and docking.

  • Streaming Widget extension.

  • New Web component based on chrome to create web content views and based interfaces.

  • Previous python UI system is still present but will be deprecated over the next couple of versions.

  • Stage View re-implemented using Omni::UI in with Python.

Kit Application UI/Material Workflow

  • OM-Status bar now displays the last logging message at bottom left corner.

  • OM-Support to drag and drop materials from stage window to viewport window to enable binding of material.

  • OM-Context menu support using Right click in Layer, Stage and Viewport Windows.

  • OM-New Scene Presets and options to create your own.

  • OM-New Selection workflow to Select All, None, Inverse, Hide, Unselect etc.

  • OM-Viewport HUD stats on/off.

  • OM-Viewport Display Purpose menu.

  • OM-Viewport Display By Type menu.

Cloud and Microservices

  • OM-New Control Port extension to write micro-services for Kit.

  • OM-New Kit agent extension to enable to launch Kit instance remotely.

Streaming

  • OM-Created an Omniverse Kit Remote installer.

  • OM-Client streaming window is now resizable, Kit must be launched with –carb/app/livestream/allowResize=true to enable the feature.

  • OM-Windows clients are now launched automatically when a URL beginning with kit-remote-2020-1:// is present. For instance, kit-remote-2020-1://127.0.0.1 would launch Omniverse Kit Remote and automatically attempt to connect to a streaming Kit server on localhost.

  • OM-Allow High DPI sessions in Omniverse Kit Remote with the -d command line parameter.

Feature or Issue Minimum Windows Driver Versions Minimum Linux Driver Versions ======================================================== ================================ ==================================================== Live streaming on systems with multiple GPUs | 442.76 or 450.78 | Unknown Reduced memory usage with small meshes with Vulkan | 450+ | 450+ Ansel support on systems with multiple GPUs | 446.09, 451.02 | Not applicable (not supported) Fix for crashes on Linux (X windows or full system hang) | not applicable | 450.34 Fix for some GPU memory allocation errors on Linux | not applicable | 450.29 ======================================================== ================================ ====================================================

Known issues caused by driver bugs or missing functionality

  • OM-Standard Surface material causes crashes (all platforms)

  • OM-Cached Path-Tracing is not supported on Vulkan (Windows and Linux)

  • OM-Multi-GPU is not supported on Linux

Materials

  • OM-Improvements to MDL loading

  • OM-Changes to default binding strength to improve authoring experience

  • OM-Bug fix to only author material binding at authoring locations.

  • OM-Validate / update all clients to write correct MDL schema

  • OM-Added UDIM support in Kit and Maya

  • OM-Drag and drop materials to Viewport presents only bindable locations in the popup list. (phase 1 update, phase 2 next release)

  • OM-Added ability to select bounded objects from material.

  • OM-UsdPreviewSurface default ST wrap mode is now set to Repeat

  • OM-Making updates and improvements to Material Documentation in 2020.1.

  • OM-New MDL SDK with MDL 1.6 Support

  • OM-Hair BSDF support

  • OM-MDL Plugin for Arnold

OmniGraph

  • OM-Compute graph framework is now OmniGraph!

  • OM-Added a number of deformer, animation constraint, and particle system nodes

  • OM-Added Python bindings

  • OM-Added ability to create nodes through Python

  • OM-Added ability to create sub-graphs

  • OM-Added node connection UI

  • OM-Added baseline documentation about the graph system and the roadmap ahead

  • OM-Simplified Compute Node registration process

  • OM-Added support for simplified node type registration

Animation

  • OM-Many animation tools are now based on OmniGraph

  • OM-Added OmniGraph support for animation constraints (transform, mesh constraints)

  • OM-Polished transform constraint, which allows users to constrain a USD prim to transform of another prim (or a joint in USDSkel).

  • OM-Polished mesh-mesh constraint, which deforms a mesh based on deformation of another mesh

  • OM-Added a few deformers based on OmniGraph framework

  • OM-Skinning support for UsdSkel as Omnigraph deformer (omni.anim.deformer)

  • OM-Polished anim clips (omni.anim.clips), which allows users to import, retime USDSkel based animations

  • OM-Added anim player tools provide basic support for animation play of independent animation clips

  • OM-Anim behavior extension was removed, and no longer supported

  • OM-Basic time sample (key frame) editing through the time sample editor (omni.kit.builtin.timesample_authoring extension

  • OM-Various bug fixes related to UsdSkel and animation loading from USD and FBX.

Physics / Simulation

  • OM-Physics and PhysX USD schema updated.

  • OM-New Physics properties tab.

  • OM-Improved physics visualization options.

  • OM-User can remove physics components.

  • OM-Masses can be specified manually with Mass API components.

  • OM-Added collision filtering with collision groups.

  • OM-Added joint creation and editing.

  • OM-Added contact reporting for extensions.

  • OM-Improved articulation editing.

  • OM-Physics property editor for editing schema APIs directly.

  • OM-Blast destruction added.

KIT 100.1

Kit has now become a more low-level SDK for building Omnivese Applications. Create has taken on the user-facing application aspect of Kit