Kit Sample Extensions is a collection of NVIDIA Omniverse Kit extensions for developers building OpenUSD applications. Use the source to learn Kit extension patterns, add capabilities to an application, or adapt an example to your own workflow, subject to its license terms.
The repository brings together Python and C++ extensions for user interfaces, asset workflows, scene authoring, animation, services, and developer tools. Some extensions are small examples; others provide substantial tools and integrations with additional dependencies.
Extensions are grouped by domain under source/extensions:
| Group | Examples and uses |
|---|---|
| Animation | Animation preferences and USD animation settings. |
| Assets | Asset validation, import and export, and general 3D asset conversion. |
| Deprecated | Deprecated extensions retained together for review before removal. |
| Developer tools | Settings inspection, command macros, profiling, and development utilities. |
| Services | Service clients, transports, facilities, rendering, and asset workflow services. |
| Tools | Curve creation, procedural workflows, scene recording, and other authoring tools. |
| UI | Widgets, browsers, property interfaces, manipulators, and application windows. |
| USD | Collections, variant editing, semantic properties, and other USD workflows. |
| Utilities | Stage opening, client helpers, light rigs, and application integrations. |
| Web | Web messaging, deep links, streaming integration, and cloud configuration. |
See Compatibility for Kit-version and dependency guidance.
This release ships extensions. The generated manifest under
source/apps locks and precaches extension dependencies for the
build tools; it is not an example application.
Each extension directory is named for its extension identifier. Its
config/extension.toml declares dependencies, Python modules or native plugins,
and package metadata. Consult its docs directory, where provided, for
extension-specific usage and settings.
- Git and Git LFS to retrieve source and binary assets.
- A development environment matching one of the configured release platforms: Windows x86-64, Linux x86-64, or Linux aarch64. Native compilation requires the platform's build toolchain; Windows requires locally installed Visual Studio 2022 / MSVC v143 and Windows SDK.
- Access to the Kit SDK packages and extension dependencies pinned by this repository.
- Hardware and drivers compatible with the selected Kit SDK and the extensions you want to run. Rendering and GPU-dependent tests require an appropriate GPU.
Use a short checkout path on Windows to avoid path-length and build-tool issues.
Clone this repository using the URL from GitHub's Code menu. Open a terminal in the checkout and retrieve its binary assets:
git lfs pullFrom the repository root, build the release configuration:
Windows (PowerShell):
.\repo.bat buildLinux:
./repo.sh buildThe repository tools download the required Kit SDK and dependencies and build the configured extensions. Release is the default build configuration.
Choose an extension, read its manifest and documentation, and check that its
dependencies are available for your Kit version. For example,
omni.kit.debug.settings
provides a window for inspecting Kit settings.
After building, add the staged extensions and dependency cache to your application's
extension search paths. The following .kit configuration illustrates how to
enable the settings inspector; merge these entries into your application's existing
sections and replace the placeholders with your checkout path and platform
(windows-x86_64, linux-x86_64, or linux-aarch64):
[dependencies]
"omni.kit.debug.settings" = {}
[settings.app.exts]
folders.'++' = [
"<checkout>/_build/<platform>/release/exts",
"<checkout>/_build/<platform>/release/extscache",
]Launch your application with the matching Kit SDK. Use forward slashes in the configuration paths on Windows as well.
After building, run the repository's extension tests from the repository root:
# Windows
.\repo.bat test# Linux
./repo.sh testRun tests with the SDK, dependencies, and GPU configuration used by your application.
Use dependency versions that match your Kit release. Each extension's
config/extension.toml and documentation describe its dependencies and usage.
repo.toml records build, test, and publication selection, including
exclusions.
When using these extensions with the Omniverse Kit early access release, review that release's compatibility changes.
Feedback, bug reports, and improvements are welcome through this repository's GitHub issues and pull requests. Include the release or commit, Kit SDK version, platform, affected extension, reproduction steps, and relevant logs when reporting a problem. For changes, describe the behavior and the build or runtime checks you performed.
This project uses NVIDIA's proprietary license. See LICENSE for the NVIDIA Software License Agreement and included product-specific terms.
Review the license notices supplied with each extension and its dependencies before reuse or redistribution.
Placeholder: Contribution guidelines will be added here.
To report a potential security vulnerability, follow SECURITY.md. Do not report security vulnerabilities through public GitHub issues.