Extension: omni.kit.window.extensions-1.7.0 |
Documentation Generated: Oct 07, 2026 |
Overview#
This extension provides a comprehensive user interface for managing and interacting with extensions in Omniverse Kit applications. It includes functionalities to list, select, view, and edit extensions, as well as manage settings related to extension paths and registries. The extension offers several key features such as enabling/disabling extensions, viewing detailed information, handling dependencies, and exporting/importing extensions. It also includes a custom status bar and a widget to display extension graphs.
General Use Case#
Users can use this extension to manage extensions within Omniverse Kit applications. They can enable or disable extensions, view detailed information & dependencies, export/import extensions, and manage extension paths and registries. The extension provides a user-friendly interface for these operations, including a custom status bar and graph visualization tools.
Cleaning the Extension Cache#
Registry extensions are downloaded into a cache on disk. The cache cannot be cleaned from a running app: extensions that do not support hot-unloading would have their files deleted while still in use, which could cause crashes.
Both cache locations are listed on the Settings page. To open it, click the options button above the extension list in the Extensions window and select “Settings”.
The per-app extension cache, setting
/app/extensions/registryCache. It is the[cache dir]row under Extension Search Paths. When/exts/omni.kit.registry.nucleus/cacheCreateLinksis enabled (the default), its entries are links into the global cache rather than copies.The global package cache, shown under Extension System Cache. It is
/exts/omni.kit.registry.nucleus/cachePathjoined with/exts/omni.kit.registry.nucleus/cacheVersionSubdir(${omni_global_data}/exts/v2by default) and is shared by every Omniverse app on the machine. Alongside the downloaded packages it holds the registry index and URL caches used for offline startup. Read the resolved path from the UI or resolve it withcarb.tokens; the raw setting value is an unexpanded token.
Pruning from the app#
The registry can prune the global cache itself, before any extension is loaded. This is the safe option: it is link-aware and only removes entries that no installed extension still links to.
--/exts/omni.kit.registry.nucleus/cachePrune/runOnStartup=true
cachePrune.removeOlderThanNDays controls how old an unused entry must be to qualify.
Deleting a cache manually#
The global cache is shared, so close every Omniverse app on the machine first, not just the one you are cleaning. Deleting it while another app runs removes files out from under that app, which is the failure this replaces. Then run:
import shutil
# Paths read from the Settings page
for path in (r"<per-app [cache dir] path>", r"<global cache path>"):
shutil.rmtree(path)
Let rmtree raise rather than passing ignore_errors=True: an error means a file is still locked and the cache was only partly deleted. Extensions are downloaded again on the next launch as long as the registry is reachable. On an offline or air-gapped machine the cached index is deleted with it, so registry extensions can no longer be resolved at all.