Omniverse Kit 110 Migration Guide#
This guide details the steps and considerations necessary for migrating extensions and applications to Omniverse Kit 110. It incorporates essential updates, dependency changes and known issues, ensuring a clear and structured approach to facilitate upgrading from previous releases.
The Omniverse Kit 110 release includes the following updated dependencies:
Component |
Reference |
|---|---|
OpenUSD 25.11 |
|
MaterialX 1.39.3 |
|
OneTBB 2021.13 |
Table of Contents#
Preparing for Migration#
Before starting any update process, please ensure that you have the following prerequisites in order to minimize disruptions during migration:
Ensure you have access to the latest Omniverse Kit SDK.
You are familiar with your application’s architecture, and existing dependencies.
You have a backup of your current project, to prevent any potential data loss during migration.
A process in place to confirm all functionalities of your application and extensions behave as expected after upgrading.
This process can vary depending on your organization, but typically includes elements such as automated builds, unit or integration tests, documentation about your feature’s behavior, reviewing log information, etc.
OpenUSD Update#
We updated from OpenUSD 25.02 to OpenUSD 25.11. This requires any C++ extension to be rebuilt. The feature set known as “Hydra 2.0” or “UsdImaging 2.0” is disabled by default and not supported in Kit.
For discussion and to report OpenUSD issues:
Breaking Changes and Migration Requirements#
UI Hint Deprecation The metadata accessors for
displayName,displayGroup, andhiddenonUsdObject,UsdPrim, andUsdPropertyhave been deprecated in favor ofUsdUIObjectHints,UsdUIPrimHints, andUsdUIAttributeHintsfor compatability with the newuiHintsdictionary.See: UI Hints Overview
See: UI Hints Proposal
Core File Formats Moved to Sdf
Core file format implementations (
usda,usdc, andusdz) have moved fromusd/usdtousd/sdf.The
sdftest file format has been removed. Usage should be replaced withusda.
NdrDeprecationNdrandSdrhave been collapsed into one library.
Carbonite 210#
Kit 110 updates to Carbonite 210.0. The following breaking changes and suggested migrations apply.
Breaking Changes#
Conversion for
optional<bool>andexpected<bool, E>carb::cpp::optional<T>andcarb::cpp::expected<T, E>have an implicit conversion toboolthat indicates whether the type has a value. Foroptional<bool>andexpected<bool, E>, usingif (b)is invalid because it tests presence, not the stored value.Use
has_value()andvalue()explicitly. Example: replaceif (b)withif (b.has_value() && b.value() == true)whenbisoptional<bool>orexpected<bool, E>.
carb/extras/StringUtils.h
The constants
kUnicodeToUtf8FailureandkUnicodeToWideFailurehave been removed. Unicode conversion functions now insert the Unicode replacement character U+FFFD on failure instead of returning these sentinel values.
g_carbClientName
Type changed from
const char*tocarb::cpp::zstring_view.
Defines.h breakup
The monolithic
Defines.hheader has been split into multiple headers. Update includes as needed:AlignSize.h,Architecture.h,Breakpoint.h,Compiler.h,Deprecation.h,DivideCeil.h,DocUtils.h,EmptyMemberPair.h,Hash.h,HashScalar.h,ImportExport.h,Interop.h,MinMax.h,Numeric.h,Pause.h,Platform.h,Prefetch.h, andWarning.h.
Removed deprecated headers
time/TscClock.h(useclock/TscClock.hinstead),omni/core/ReplaceCarbAssert.h,omni/log/LogChannelFilterUtils.h, andomni/log/WildcardLogChannelFilter.hhave been removed.
Suggested Migrations#
Tokens 2.0
A new
ITokensinterface (v2) has been added; 1.x remains in av1inline namespace and will be deprecated. Forward declaration ofITokensis no longer allowed—include the header instead. Input strings usecarb::cpp::string_view. UsedeleteValue()to delete values (replacing the previous use ofnullptrwithsetValue).resolveString()now returns anomni::expected; a variant allows reusing an existingomni::string. To use ITokens 2.0, build with:carb_tokens_ITokens=CARB_HEXVERSION(2,0).
Filesystem 2.0
A new
IFileSysteminterface (v2) has been added; 1.x is in av1inline namespace. Include the header instead of forward declaring. TheFiletype is now a class with member functions. String inputs usecarb::cpp::string_view; outputs usecarb::cpp::zstring_vieworomni::string. Functions that can fail returnomni::expectedwith an appropriate error type (e.g.carb::ErrorCode) instead of using the ErrorApi.
Dictionary 2.0
A new
IDictionaryinterface (v2) has been added; 1.x is in av1inline namespace. Include the header instead of forward declaring. String inputs usecarb::cpp::string_view; outputs usecarb::cpp::zstring_vieworomni::string, sometimes wrapped incarb::cpp::optional<>. Array setters takecarb::cpp::spaninstead of raw arrays.
Settings 2.0
A new
ISettingsinterface (v2) has been added; 1.x is in av1inline namespace. Include the header instead of forward declaring. String inputs usecarb::cpp::string_view; outputs usecarb::cpp::zstring_vieworomni::string, sometimes wrapped incarb::cpp::optional<>. Array setters takecarb::cpp::spaninstead of raw arrays.
MaterialX 1.39.3#
We updated from MaterialX 1.38.10.openpbr to MaterialX 1.39.3. This update brings several new features and changes.
In general we expect material graphs authored using 1.38.10.openpbr to render as expected. However it should be noted that:
Graphs with MaterialX nodes that have been deprecated, will render but issue a warning in the Console stating: “Cannot get Sdr.ShaderNode from prim at: …”.
Example of this is ND_swizzle_<type>_<type>
Nodes with parameter data type changes and/or name changes may fail with an error in the Console stating: “Cannot find SdrProperty: “<parameter>” for node: …”.
Examples of this are ND_atan2_float
For a full list of changes please see: MaterialX Release Notes
Previous Release Migration Guides#
For migration from earlier Kit versions:
Kit 109 Migration Guide - Numpy 2, CUDA Update, Fabric Token and Path changes, Carbonite String Safety