kit-manual: Omniverse Kit Manual#
kit-manual
- Kit Overview
- Kit Architecture
- Kit Core IApp Interface
- Extensions (Basic)
- Extensions (Advanced)
- What is an Extension?
- Extension in a single folder
- Extension Id
- Extension Version
- Extension Package Id
- Single File Extensions
- App Extensions
- Extension Search Paths
- Extensions Source Linking: Dev Paths
- Extension Discovery
- Extension Dependencies
- Specifying Dependency Version
- Optional Dependencies
- Extension configuration file (extension.toml)
- Config Fields
[core]section[package]section[package.version](default:"0.0.0")[package.title]default:""[package.description]default:""[package.category](default:"")[package.app](default:false)[package.feature](default:false)[package.toggleable](default:true)[package.authors](default:[""])[package.repository](default:"")[package.keywords](default:[""])[package.changelog](default:"")[package.readme](default:"")[package.preview_image](default:"")[package.icon](default:"")[package.target][package.writeTarget]
[dependencies]section[python]section[native]section[settings]section[[env]]section[fswatcher]section[[test]]section[documentation]section[deprecation]section
- Config Filters
- Example
- Config Fields
- Extension Enabling/Disabling
- Extensions Manager
- Reloading
- Extension interfaces
- Runtime Information
- Hooks
- Extension API Code Examples
- Other Settings
/app/extensions/disableStartup(default:false)/app/extensions/precacheMode(default:false)/app/extensions/debugMode(default:false)/app/extensions/detailedSolverExplanation(default:false)/app/extensions/registryEnabled(default:true)/app/extensions/skipPublishVerification(default:false)/app/extensions/excluded(default:[])/app/extensions/preferLocalVersions(default:true)/app/extensions/syncRegistryOnStartup(default:false)/app/extensions/publishExtraDict(default:{})/app/extensions/fsWatcherEnabled(default:true)/app/extensions/mkdirExtFolders(default:true)/app/extensions/installUntrustedExtensions(default:false)/app/extensions/profileImportTime(default:false)/app/extensions/fastImporter/enabled(default:true)/app/extensions/fastImporter/searchInTopNamespaceOnly(default:true)/app/extensions/fastImporter/fileCache(default:false)/app/extensions/parallelPullEnabled(default:false)
- Extension Registries
- Building Extensions
- Extensions (USD Schema)
- Extensions (API)
- Testing Extensions with Python
- Adding Extension Test: Build Scripts
- How does it work?
- Extension Search Paths
- Writing First Test
- Startup Test
- Test Settings
- Running Your Test
- Run subset of tests
- Run subset of tests using Tests Sampling
- Run tests from a file
- Retry Strategy
- Developing Tests
- Tests Code Coverage (Python)
- Debugging Coverage
- Disabling a python test
- Pass extra cmd args to the test
- Choose an app to run tests in
- Checking if we are running in a test run
- Test Output
- Python debugger
- Wait for the debugger to attach
- Reading Logs
- Marking tests as unreliable
- Running unreliable tests
- Listing tests
- repo_test: Running All Tests
- Adding Info to Failed Test Summary
- omni.kit.ui_test: Writing UI tests
- Disabling OS Window
- (Advanced) Generating new tests or adapting discovered tests at runtime
- Running Tests As Benchmarks
- Testing Extensions with C++
- Documenting Extensions
- Publishing Extensions
- Creating Kit Apps
- Configuring
- Quick Start
- Application Config
- Kit File
- System Configs
- Persistent Settings
- Special Keys
- Developer Mode
- Portable Mode
- Changing Settings With Command Line
- Passing Command Line arguments to extensions
- Code Examples
- Kit Kernel Settings
/app/enableDeveloperWarnings/app/enableStdoutOutput(default:true)/app/disableCmdArgs(default:false)/app/printConfig(default:false)/app/userConfigPath(default:${data}/user.config.json)/app/settings/persistent(default:true)/app/settings/loadUserConfig(default:true)/app/hangDetector/enabled(default:false)/app/hangDetector/alwaysEnabled(default:false)/app/hangDetector/timeout(default:120)/app/quitAfter(default:-1)/app/quitAfterMs(default:-1.0)/app/fastShutdown(default:true)/app/python/logSysStdOutput(default:true)/app/window/iconPath(default:'')
- Logging
- Metrics
- Profiling
- Python Scripting
- UI Styling Best Practices
- Embedded Kit Python
- Using Python pip packages
- Kit Python Package
- Dictionaries and Settings
- Events
- Legacy Events
- Tokens Reference
- Linux Troubleshooting
- Q1) How to install a driver.
- Q2) Omniverse kit logs only listed one of my GPUs, but
nvidia-smishows multiple GPUs. - Q3) How to verify a correct Vulkan setup with
vulkaninfoorvulkaninfoSDKutility - Q4) I have a single GPU, but I see multiple GPUs of the same type reported in Omniverse kit logs.
- Q5) Startup failure with:
VkResult: ERROR_DEVICE_LOST - Q6) Startup failure with:
GLFW initialization failed - Q7) Startup failure with:
Failed to find a graphics and/or presenting queue. - Q8) Startup failure for carb::glinterop with
X Error of failed request: GLXBadFBConfig - Q9) How to specify what GPUs to run Omniverse apps on
- Q10) Viewport is gray and nothing is rendered.
- Q11) Getting spam of failures:
Failed to create change watch for xxx: errno=28, No space left on device - Q12) How to increase the file descriptor limit on Linux to render on more than 2 GPUs
- Frequently Asked Questions
- Migration Guide (110)
- How to Use This Guide
- Stage 1: Kit 107 → 108
- Python 3.11 → 3.12
- OpenUSD 24.05 → 25.02
- carb::extras::Path: Implicit String Conversion Removed
- Assert Macros Moved to Assert.h
- Library.h: Macros Replace Functions
- Livestream 2.0
- Minimum GPU: Turing (sm_75) Required
- Carbonite 208.3 — Binary ABI Break
- OmniGraph Core 3.0.0 — ABI Break
- OmniGraph — Parallel Node Registration Removed
- Extensions Removed / Changed Default Dependencies
omni.kit.usd.layers— ILayers ABI 1.0 → 1.1- Layer Events — Migrate to Events 2.0
- omni.ui —
WindowHandle::isVisible()andWindowHandle::setVisible()Deprecated - omni.ui —
Menu/Separator’smenu_compatibilityDeprecated omni.kit.ui— API Move and Transitive Dependency Removed
- Stage 2: Kit 108 → 109
- Before You Start: Clear the Extension Cache
- CUDA 12.4.1 — Driver Requirement
- NumPy 1.x → 2.x
- Fabric API: TokenC / PathC Removed
- Carbonite Changes
- String Safety: ISettings / IError / IDictionary
mergeMaterialsDefault Changed — Load Performance Impact- Fabric Scene Delegate (FSD) Now Default
- Windows Memory Allocator: mimalloc
- UsdLux — DomeLight Default Orientation Changed
- RTX Real-Time 2.0 — Now the Default Mode
- MDL SDK — ABI Version 56 → 57
- CloudXR — Runtime Extracted to New Extension
- Stage 3: Kit 109 → 110
- Before You Start
- OpenUSD 25.02 → 25.11
- Carbonite 208.3 → 210
- Carbonite API Migrations (Recommended)
- omni.ui 3.0.0 — C++ ABI Break
- omni.ui.scene — intersection → gesture_payload Rename
- Rendering
- Python API Changes
- Fabric API — IPath::create() and IToken::create() Deprecated
- OmniGraph Changes
- Extensions Changed or Removed
- MaterialX 1.38.10 → 1.39.3
- Build System
- Migration Checklist
- Official References
- Migration Guide (106→109)
- How to Use This Guide
- Stage 1: Kit 106.x → 107
- Stage 2: Kit 107 → 108
- Python 3.11 → 3.12
- OpenUSD 24.05 → 25.02
- carb::extras::Path: Implicit String Conversion Removed
- Assert Macros Moved to Assert.h
- Library.h: Macros Replace Functions
- Livestream 2.0
- Minimum GPU: Turing (sm_75) Required
- Carbonite 208.3 — Binary ABI Break
- OmniGraph Core 3.0.0 — ABI Break
- OmniGraph — Parallel Node Registration Removed
- Extensions Removed / Changed Default Dependencies
omni.kit.usd.layers— ILayers ABI 1.0 → 1.1- Layer Events — Migrate to Events 2.0
- omni.ui —
WindowHandle::isVisible()andWindowHandle::setVisible()Deprecated - omni.ui —
Menu/Separator’smenu_compatibilityDeprecated omni.kit.ui— API Move and Transitive Dependency Removed
- Stage 3: Kit 108 → 109
- Before You Start: Clear the Extension Cache
- CUDA 12.4.1 — Driver Requirement
- NumPy 1.x → 2.x
- Fabric API: TokenC / PathC Removed
- Carbonite Changes
- String Safety: ISettings / IError / IDictionary
mergeMaterialsDefault Changed — Load Performance Impact- Fabric Scene Delegate (FSD) Now Default
- Windows Memory Allocator: mimalloc
- UsdLux — DomeLight Default Orientation Changed
- RTX Real-Time 2.0 — Now the Default Mode
- MDL SDK — ABI Version 56 → 57
- CloudXR — Runtime Extracted to New Extension
- Isaac Sim: Extension Namespace Migration
- Migration Checklist
- Official References
- Migration Guide (108)
- Kit SDK Extensions
- API (python)