Kit Migration Guide: 106.x to 109#
This guide covers all breaking changes, API migrations, and upgrade steps required when moving an Omniverse Kit application from Kit 106.x or 107.x to Kit 109. Work through each stage in order starting from your current version.
How to Use This Guide#
Find your current Kit version and jump to that stage. Complete every stage between your current version and 109 — there is no single-hop upgrade path across major versions.
You are on |
Start at |
|---|---|
Kit 106.x |
|
Kit 107.x |
Note on Kit 108: Kit 108 was not publicly released — the version number was skipped. However, the changes listed in Stage 2 (107 → 108) are still required when upgrading to 109, as Kit 109 builds on top of them.
Stage 1: Kit 106.x → 107#
Kit 107 introduces OpenUSD 24.05, Python 3.11, and a Linux C++ ABI change. All native extensions must be rebuilt.
Python 3.10 → 3.11#
Python is upgraded from 3.10 to 3.11. Update all Premake configurations that reference the Python version:
-- Before
includedirs { target_deps.."/python/include/python3.10" }
links { "python3.10", "boost_python310" }
-- After
includedirs { target_deps.."/python/include/python3.11" }
links { "python3.11", "boost_python311" }
Audit all third-party Python packages and f-string / typing module usage for 3.11 compatibility.
Linux C++ ABI Change#
Native packages are now built with _GLIBCXX_USE_CXX11_ABI=1. Update packman XML dependency files to use the ${platform_target_abi} token instead of ${platform_target}:
<!-- Before -->
<package name="omni_client_library.${platform_target}" version="2.57.0" />
<!-- After -->
<package name="omni_client_library.${platform_target_abi}" version="2.57.0" />
Rebuild all native plugins. Prebuilt .so files linked against the old ABI will not load.
OpenUSD: nv_usd → usd#
Replace all nv_usd references with usd in repo.toml, premake5.lua, and build scripts. Update linker statements to use add_usd {}:
-- Before
links { "nv_usd_ar", "nv_usd_vt" }
-- After
add_usd { "ar", "vt", "gf", "pcp", "sdf" }
links { "tbb" } -- link TBB separately
C++17 Support#
C++17 can now be explicitly enabled in Premake:
local options = { cppdialect = "C++17" }
kit = require("_repo/deps/repo_kit_tools/kit-template/premake5-kit")
kit.setup_all(options)
omni.client Private API Removed#
Stop using the private internal API. Use the public API directly:
# Before
import omni.client._omniclient as _client
_client.read_file(url)
# After
import omni.client
omni.client.read_file(url)
Python API Removals#
The following deprecated Python modules and functions are removed in Kit 107:
Removed |
Action |
|---|---|
|
Use |
|
See Kit 107 release notes for per-function replacements |
|
Update to current menu API |
|
Update to current menu API |
|
See MDL SDK migration notes |
Carbonite Events 2.0#
The event system moves from a push/pump model to a dispatch model. Explicit pump calls are no longer needed.
C++: Update event subscriptions to use carb::eventdispatcher.
Python: Migrate from IEvent with payload dictionaries to direct dictionary-style access, and update subscriptions to use carb.eventdispatcher.get_eventdispatcher().observe_event():
# Before
def on_event(e):
dt = e.payload['dt']
# After
def on_event(e):
dt = e['dt']
Carbonite Logging#
Define carb_logging_ILogging=CARB_HEXVERSION(1,3) in Premake. Implement loggers by inheriting from carb::logging::Logger2, which accesses messages through a struct parameter rather than individual function arguments.
omni.kit.widget.toolbar / omni.kit.window.toolbar — Deprecated APIs Removed#
All APIs deprecated in prior Kit versions of the toolbar extensions were fully removed in omni.kit.widget.toolbar and omni.kit.window.toolbar version 2.0.0 (Kit 107). Extensions using these APIs will fail to resolve at load time.
Action required: Audit for any toolbar API calls deprecated in Kit 106 or earlier and update to the current API before upgrading.
Fabric API: Introduction of PathC / TokenC#
Important for 106 → 109 upgraders: Kit 107 introduced
omni::fabric::PathCandomni::fabric::TokenCas the required types. Kit 109 then removes them in favour ofomni::fabric::Pathandomni::fabric::Token. If you are upgrading directly from 106 to 109, skip the intermediate PathC/TokenC step and go directly to the Kit 109 Fabric types described in Stage 3.
If stopping at Kit 107, replace omni::fabric::Path with omni::fabric::PathC and omni::fabric::Token with omni::fabric::TokenC. Use toSdfPath() / toTfToken() for read access and registerPath / registerToken for write access.
Stage 2: Kit 107 → 108#
Note: Kit 108 was never released to production. Its version number was skipped. However, the changes below were carried forward into Kit 109, so all 107-based projects must still address them.
Kit 108 introduces OpenUSD 25.02 and Python 3.12. All C++ extensions must be rebuilt.
Python 3.11 → 3.12#
Python is upgraded from 3.11 to 3.12. Update all Premake configurations, build scripts, and CI configurations that reference the Python version. Audit all third-party packages for Python 3.12 compatibility.
OpenUSD 24.05 → 25.02#
All C++ extensions that link against OpenUSD must be rebuilt against the new headers and libraries.
GfMatrix precision methods: Deprecated imprecise matrix overloads are removed. Use explicit precision variants instead.
NDR deprecation: The Node Definition Registry (NDR) deprecation begins. Extensions relying on NDR should start migrating to alternative shader/material discovery approaches.
Scalar transform ops: USD now supports scalar xformOps (e.g., xformOp:translateX) alongside vector operations. Code that assumes all transform ops are vector-typed may behave differently — audit transform handling logic.
carb::extras::Path: Implicit String Conversion Removed#
carb::extras::Path no longer converts implicitly to std::string. Call .getString() explicitly:
// Before
std::string s = myPath;
// After
std::string s = myPath.getString();
The following functions now only accept carb::cpp::string_view — use Path class methods instead of passing raw strings:
getPathParentgetPathExtensiongetPathStemgetPathRelative
Assert Macros Moved to Assert.h#
Assert macros previously available via Defines.h have moved to a dedicated Assert.h header. Add the explicit include where needed:
#include <carb/Assert.h>
Library.h: Macros Replace Functions#
getDefaultLibraryPrefix() and getDefaultLibraryExtension() have been removed from Library.h. Use the preprocessor definitions instead:
// Before
auto prefix = carb::extras::getDefaultLibraryPrefix();
auto ext = carb::extras::getDefaultLibraryExtension();
// After
const char* prefix = CARB_LIBRARY_PREFIX;
const char* ext = CARB_LIBRARY_EXTENSION;
Livestream 2.0#
The monolithic livestream extension has been split into focused modules. Update extension dependencies in your .kit files:
Old extension |
New extension |
|---|---|
|
|
— |
|
— |
|
— |
|
Update livestream settings:
Legacy setting |
New setting |
|---|---|
|
|
|
|
|
|
Minimum GPU: Turing (sm_75) Required#
Pre-Turing GPU architectures have been removed from Kit’s CUDA compilation targets in Kit 108.
Removed architectures: Maxwell (sm_52, sm_53), Pascal (sm_60, sm_61, sm_62), Volta (sm_70, sm_72)
Minimum supported GPU: Turing (sm_75) — GeForce GTX 16xx, RTX 20xx, Quadro RTX series, and newer.
Action required: Recompile all extensions shipping precompiled CUDA kernels targeting sm_52–sm_72 for sm_75+. Validate that CI and test environments are not using pre-Turing GPUs.
Carbonite 208.3 — Binary ABI Break#
The Carbonite SDK was updated to 208.3.0, which contains ABI-breaking changes. Extensions compiled against 208.2 that use any of the affected APIs will need to be recompiled before targeting Kit 108+.
ITokens::setValue() renamed to setValueS()#
// Before
iTokens->setValue("key", str.c_str()); // const char*
tokens->setValue("path", path.getParent().getStringBuffer()); // const char*
// After
iTokens->setValueS("key", stringView); // std::string_view
tokens->setValueS("path", path.getParent().getStringView()); // std::string_view
carb::detail::defineTupleCommon namespace cleanup#
The defineTupleCommon function has been promoted from the detail namespace to the public carb namespace:
// Before
carb::detail::defineTupleCommon<ui::Mat44, double, 16>(m, "Mat44", "");
// After (recommended)
carb::defineTupleCommon<ui::Mat44, double, 16>(m, "Mat44", "");
Note: This is technically not a breaking change — it is a promotion to public API. Existing code using
carb::detail::defineTupleCommonwill still compile. Updating to the public namespace is recommended for forward compatibility.
carb::variant::PyObjectVTable type name constant changed#
The variant type name for Python objects is now accessed via a standalone constant instead of through the vtable:
// Before
if (variant.data().vtable->typeName == carb::variant::PyObjectVTable::get()->typeName)
// After
if (variant.data().vtable->typeName == carb::variant::kPythonVariantTypeName)
Action required: Update all call sites that compare variant type names against PyObjectVTable::get()->typeName.
Prefer carb::getCachedInterface<>() over acquireInterface<>() (Strongly Recommended)#
carb::getCachedInterface<>() is faster, safer, and does not produce the warning log output that acquireInterface generates. Migrating is strongly recommended:
// Before
carb::Framework::acquireInterface<IMyInterface>();
// After (recommended)
carb::getCachedInterface<IMyInterface>();
Note: Existing code using
acquireInterfacewill continue to work, butgetCachedInterfaceis the preferred API going forward.
OmniGraph Core 3.0.0 — ABI Break#
omni.graph.core bumped to 3.0.0 in Kit 108, explicitly signalling a breaking ABI change from the Fabric Path/Token refactoring. omni.graph.nodes versions built against omni.graph.core 2.x are not compatible with 3.0.0.
Action required: Recompile all OmniGraph nodes and extensions against omni.graph.core 3.0.0. Ensure omni.graph.nodes version compatibility when locking extension versions.
OmniGraph — Parallel Node Registration Removed#
The option to register OmniGraph nodes in parallel has been removed. The extension manager is not thread-safe and parallel registration caused crashes.
Action required: Remove any code that relied on parallel OmniGraph node registration. Registration is now always sequential.
Extensions Removed / Changed Default Dependencies#
omni.kit.extpath.git removed
The Git URL extension search path extension has been fully deleted from the repository.
Action required: Remove all "omni.kit.extpath.git" entries from extension.toml files and find an alternative mechanism for git-based extension distribution.
omni.hydra.scene_api deprecated
Tagged as deprecated as of Kit 108. Removal is expected in a future Kit version.
Action required: Begin migrating away from omni.hydra.scene_api. Check all downstream extensions for transitive dependency declarations.
omni.kit.manipulator.prim.fabric no longer a default dependency
Removed from the default dependency chain due to limited use cases and performance implications.
Action required: If your extension needs fabric prim transform manipulation, declare omni.kit.manipulator.prim.fabric as an explicit dependency in extension.toml.
omni.resourcemonitor no longer loaded transitively via omni.hydra.usdrt_delegate
Action required: If your extension relies on omni.resourcemonitor being loaded transitively, declare it as an explicit dependency.
omni.kit.usd.layers — ILayers ABI 1.0 → 1.1#
ILayers was bumped from ABI version 1.0 to 1.1. All extensions that include omni/kit/usd/layers/ILayers.h must recompile.
// Before
CARB_PLUGIN_INTERFACE("omni::kit::usd::layers::ILayers", 1, 0)
// After
CARB_PLUGIN_INTERFACE("omni::kit::usd::layers::ILayers", 1, 1)
New helper functions added in LayerTypes.h for Events 2.0 migration:
carb::RString layerEventName(LayerEventType eventType);
carb::cpp::optional<LayerEventType> layerEventType(carb::RString eventName);
Layer Events — Migrate to Events 2.0#
Layer events now use carb::eventdispatcher::IMessageQueue instead of carb::events::IEvents. Extensions migrated in Kit 108: omni.kit.usd.layers, omni.kit.property.adapter.core, omni.kit.manipulator.prim.core, omni.appwindow.
# Before (Events 1.0)
import carb.events
layers = omni.kit.usd.layers.get_layers()
event_stream = layers.get_event_stream()
sub = event_stream.create_subscription_to_pop(on_layer_event)
# After (Events 2.0)
import carb.eventdispatcher
# Subscribe via IEventDispatcher using the context event key from UsdContext.getEventKey()
omni.ui — WindowHandle::isVisible() and WindowHandle::setVisible() Deprecated#
WindowHandle::isVisible() and WindowHandle::setVisible() are deprecated. In Python, WindowHandle.visible now returns None instead of a bool.
# Before
val = window_handle.visible # returned True/False
# After — use Window instead
val = window.visible
Action required: Replace all WindowHandle.visible / isVisible() / setVisible() usages with the equivalent Window methods.
omni.kit.ui — API Move and Transitive Dependency Removed#
get_custom_glyph_code moved to omni.ui:
# Before
import omni.kit.ui
code = omni.kit.ui.get_custom_glyph_code(icon_name)
# After
import omni.ui
code = omni.ui.get_custom_glyph_code(icon_name)
omni.kit.ui no longer loaded transitively: omni.ui, omni.kit.property.usd, and omni.kit.viewport.window no longer declare omni.kit.ui as a dependency. Extensions relying on it being loaded transitively will fail at runtime.
Action required: If your extension uses omni.kit.ui, declare it as an explicit dependency in extension.toml.
Stage 3: Kit 108 → 109#
Kit 109 introduces NumPy 2.x, CUDA 12.4.1, and a significant Fabric API revision.
Before You Start: Clear the Extension Cache#
If your project has a prior build, the extension cache may contain stale entries that cause the dependency solver to fail. Clear it before running precache_exts:
<project>/_build/<platform>/release/extscache/
Then run:
repo.bat precache_exts # Windows
./repo.sh precache_exts # Linux
CUDA 12.4.1 — Driver Requirement#
Kit 109 requires a minimum GPU driver version. Applications will fail to start with older drivers.
Platform |
Minimum driver |
|---|---|
Linux |
550.54.15 |
Windows |
551.78 |
Verify driver versions across all development and deployment environments before upgrading. Rebuild all CUDA extensions.
NumPy 1.x → 2.x#
NumPy is upgraded to 2.x. This is a breaking change for many scientific Python libraries.
Type aliases removed in NumPy 2.0 — replace with built-in Python types or explicit NumPy types:
Removed |
Replacement |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Other NumPy 2.x breaking changes to audit:
Default Windows integer size changed from
int32toint64Type promotion rules changed — verify any code that relies on implicit type coercion
datetime64behaviour updatesC API function signature changes affect C extensions that use the NumPy C API directly
Verify all third-party dependencies for NumPy 2.x compatibility before upgrading
Fabric API: TokenC / PathC Removed#
Kit 109 removes the intermediate TokenC / PathC types that were introduced in Kit 108 internal builds and returns to fabric::Token and fabric::Path as the standard types.
Note for Kit 107 → 109 upgraders: If you are upgrading from Kit 107 and were already using
fabric::Tokenandfabric::Path(the standard types in Kit 107), you may not need any source changes — these are the same type names used in Kit 109. The intermediateTokenC/PathCtypes were only used in Kit 108 internal builds. Only code that adoptedTokenC/PathCfrom Kit 108 internal builds needs to update.
If your code uses any of the following removed types, update them:
Removed |
Replacement |
|---|---|
|
|
|
|
|
|
|
|
|
— |
|
— |
fabric::Token and fabric::Path are weak references and trivially copyable. Use these validity checking methods:
token.isNull(); // true if never initialized
token.isExpired(); // true if backing storage has been released
token.validate(); // checks both conditions
Tokens and paths are reference-counted with the fabrics they are registered with. Lifetime extends at least as long as the specified fabric. For constants, use createImmortal().
Recompile required: Kit 109 also changes
fabric::Tokenandfabric::Pathto be trivially copyable — a binary ABI break. All extensions that include Fabric headers must recompile even if no source changes are needed.
Carbonite Changes#
carb::thread::shared_lock removed: Use std::shared_lock instead.
IDictionary::MakeAtPathS() renamed: Now MakeAtPath(), returning Item*.
String comparison: Replace compareStringsNoCase() with caseInsensitiveCompare().
Logger → Logger2: The Logger class is superseded by Logger2. Update implementations accordingly.
fmt namespace conflicts: If your code uses the fmt library alongside Carbonite, explicit namespace disambiguation may be required.
String Safety: ISettings / IError / IDictionary#
These interfaces now offer new methods accepting carb::cpp::string_view instead of const char*. The new interfaces eliminate buffer overflow vulnerabilities and reduce unnecessary string copies.
Note: These new interfaces are opt-in. By default, Carbonite still offers the old interface. Migrating to the new
string_view-based methods is recommended but not required — existing code usingconst char*will continue to compile and work.
mergeMaterials Default Changed — Load Performance Impact#
Kit 109 changed the default value of the mergeMaterials setting. In affected scenes, this causes a significant load time performance regression that is not visible from API changes or changelogs alone — the code compiles and runs, but loading large scenes is measurably slower.
If you observe load performance regressions after upgrading to Kit 109, explicitly audit and set this value in your .kit file:
[settings]
# Verify this matches your pre-upgrade behavior.
# The default changed in Kit 109 — set explicitly to avoid surprises.
app.renderer.mergeMaterials = true # or false — confirm your pre-upgrade default
Note: The specific before/after default values need to be confirmed against the Kit 109 release configuration. This entry is flagged for verification before publication.
Fabric Scene Delegate (FSD) Now Default#
FSD is enabled by default in Kit 109. If your application previously disabled FSD, test render output carefully after upgrading and remove any workarounds that assumed FSD was off.
Windows Memory Allocator: mimalloc#
Windows builds now use mimalloc as the default allocator. Cross-DLL heap allocations that previously worked may now crash — ensure allocations and deallocations always occur on the same side of DLL boundaries. The system allocator remains available via kit-sysalloc.exe for compatibility scenarios.
UsdLux — DomeLight Default Orientation Changed#
USD 25.05 changes the default dome light orientation to align with the stage +Y-axis. This is a scene-level behavior change — existing assets using DomeLight prims may render differently with no code or API change required to trigger it.
New attribute: omni:rtx:usdluxVersion — set on light prims to track compliance version. Lights created in Kit 109 default to UsdLux 25.05 behavior. See Significant Changes in UsdLux 25.05 for details.
Action required: Review all scenes containing DomeLight prims and test rendering before and after upgrading. Use the new UpgradeUsdLuxLightsCommand for assisted migration. The /rtx/usdLux/newLights/compliant setting controls behavior for duplicated lights.
RTX Real-Time 2.0 — Now the Default Mode#
Omniverse RTX Real-Time 2.0 became the default RTX Real-Time rendering mode in Kit 108, replacing RTX Real-Time 1.0.
Setting /rtx/rendermode=RaytracedLighting enables RTX Real-Time 2.0.
To use RTX Real-Time 1.0 instead, it must be explicitly enabled at startup.
See RTX Real-Time Renderer documentation for details.
MDL SDK — ABI Version 56 → 57#
The Iray/MDL SDK has been updated to version 2025.0.1 (MDL ABI version 57), which is binary incompatible with MDL ABI 56.
Action required: All plugins and extensions that link against MDL/Neuray (omni.mdl) must recompile against the 57.x SDK.
CloudXR — Runtime Extracted to New Extension#
The CloudXR runtime integration has been moved from omni.kit.xr.system.openxr into a separate extension. XRCloudXRBindings.h has been removed. New ABI interfaces are exposed:
IOpenXRRuntimeService_v1IOpenXRRuntimeServiceRegistry_v1IOpenXRRuntimeServiceFactory_v1
OpenXR version updated to Khronos 1.1.50.
Action required: If you provide a custom CloudXR runtime implementation, implement the new ABI interfaces and remove any #include of XRCloudXRBindings.h.
Isaac Sim: Extension Namespace Migration#
Applies to all Kit 107+ Isaac Sim work. The omni.isaac.* namespace is deprecated in favour of isaacsim.*. Update all imports and extension dependencies.
Common Renames#
Old ( |
New ( |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
USD Semantics API#
# Before
from omni.isaac.core.utils.semantics import add_update_semantics
add_update_semantics(prim, "class", "Car")
# After
from pxr import UsdSemantics
api = UsdSemantics.LabelsAPI.Apply(prim, "class")
api.GetLabelsAttr().Set(["Car"])
Dynamic Control Toolbox#
Removed as a compile-time dependency. Migrate time and step management to SimulationManager APIs.
Migration Checklist#
Each item is annotated with the stage where it first applies. Skip stages earlier than your current version.
Environment & Toolchain#
[ ] Python 3.11 installed (106 → 107)
[ ] Python 3.12 installed (107 → 108)
[ ] GPU architecture validated — no precompiled CUDA kernels targeting sm_52–sm_72 (107 → 108)
[ ] GPU driver meets CUDA 12.4.1 minimum (Linux: 550.54.15 / Windows: 551.78) (108 → 109)
[ ] NumPy 2.x compatible packages identified (108 → 109)
[ ] All third-party Python packages validated for Python 3.12 + NumPy 2.x (107 → 108 / 108 → 109)
Dependencies & Build#
[ ]
packman.xmltokens updated from${platform_target}to${platform_target_abi}(106 → 107)[ ]
nv_usdreferences replaced withusdin build files (106 → 107)[ ] All C++ extensions rebuilt for OpenUSD 25.02 (107 → 108)
[ ] All extensions recompiled against Carbonite 208.3 (107 → 108)
[ ] All OmniGraph extensions recompiled against
omni.graph.core 3.0.0(107 → 108)[ ] All extensions including
omni/kit/usd/layers/ILayers.hrecompiled (107 → 108)[ ] All CUDA extensions rebuilt for CUDA 12.4.1 (108 → 109)
[ ] Fabric headers: recompile required for trivially-copyable Token/Path ABI change (108 → 109)
[ ] MDL/Neuray plugins recompiled against ABI 57 (108 → 109)
[ ]
omni.kit.extpath.gitdependency removed fromextension.toml(107 → 108)[ ]
omni.kit.manipulator.prim.fabricdeclared as explicit dependency if needed (107 → 108)[ ]
omni.resourcemonitordeclared as explicit dependency if used (107 → 108)[ ]
omni.kit.uideclared as explicit dependency if used (107 → 108)[ ]
extscache/cleared before runningprecache_exts(108 → 109 and any upgrade)
C++ / Native#
[ ] Linux: all
.sofiles rebuilt with_GLIBCXX_USE_CXX11_ABI=1(106 → 107)[ ]
ITokens::setValue()→setValueS()(107 → 108)[ ]
carb::detail::defineTupleCommon→carb::defineTupleCommon(107 → 108, recommended — old code still compiles)[ ]
carb::Framework::acquireInterface<>()→carb::getCachedInterface<>()(107 → 108, strongly recommended)[ ] Parallel OmniGraph node registration removed from code (107 → 108)
[ ] CloudXR: new
IOpenXRRuntimeService_v1ABI implemented,XRCloudXRBindings.hremoved (108 → 109)[ ]
carb::extras::Pathimplicit string conversion →.getString()(107 → 108)[ ]
getDefaultLibraryPrefix/getDefaultLibraryExtension→CARB_LIBRARY_PREFIX/CARB_LIBRARY_EXTENSION(107 → 108)[ ] Assert macros:
#include <carb/Assert.h>added where needed (107 → 108)[ ]
carb::thread::shared_lock→std::shared_lock(108 → 109)[ ]
IDictionary::MakeAtPathS()→MakeAtPath()(108 → 109)[ ]
compareStringsNoCase()→caseInsensitiveCompare()(108 → 109)[ ]
Logger→Logger2(108 → 109)[ ]
fmtnamespace conflicts reviewed (108 → 109)[ ] ISettings / IError / IDictionary updated for
string_viewinterfaces (108 → 109)[ ] mimalloc cross-DLL allocation boundaries audited (Windows) (108 → 109)
[ ]
omni::fabric::PathC/TokenC/TokenId/PathId→Path/Token(108 → 109)
Python API#
[ ]
omni.client._omniclient→omni.client(106 → 107)[ ] Carbonite Events updated to dispatch model (106 → 107)
[ ] Toolbar deprecated APIs removed (106 → 107)
[ ]
omni.kit.ui.get_custom_glyph_code()→omni.ui.get_custom_glyph_code()(107 → 108)[ ]
WindowHandle.visible/isVisible()/setVisible()→Windowequivalents (107 → 108)[ ]
ui.Menu/ui.Separator:menu_compatibility=Falseadded (107 → 108)[ ] Layer event subscriptions migrated to Events 2.0 (
carb.eventdispatcher) (107 → 108)[ ] NumPy 1.x type aliases replaced (108 → 109)
Configuration#
[ ] Livestream extension dependencies and settings updated (107 → 108)
[ ]
omni.hydra.scene_apimigration planned — extension deprecated (107 → 108)[ ] All scenes with
DomeLightprims tested for orientation regression (108 → 109)[ ]
mergeMaterialsdefault audited — set explicitly if load performance regressed (108 → 109)[ ] FSD default-on: render output verified, workarounds removed (108 → 109)
[ ] Fabric static assertions satisfied (trivially-copyable types) (106 → 107)
Isaac Sim#
[ ]
omni.isaac.*imports updated toisaacsim.*(107+)[ ] Dynamic Control Toolbox removed from dependencies (107+)
[ ]
SimulationManagerAPIs used for time/step management (107+)
Official References#
Resource |
URL |
|---|---|
Kit 107 Migration Guide |
docs.omniverse.nvidia.com/kit/docs/kit-manual/107.0.3/guide/migration.html |
Kit 108 Migration Guide |
docs.omniverse.nvidia.com/kit/docs/kit-manual/108.0.0/guide/migration.html |
Kit 109 Migration Guide |
docs.omniverse.nvidia.com/kit/docs/kit-manual/latest/guide/migration_109.html |
NumPy 2.0 Migration Guide |
|
OpenUSD 25.02 Changelog |
github.com/PixarAnimationStudios/OpenUSD/blob/release/CHANGELOG.md |