Extension: omni.kit.viewport.window-110.0.0 |
Documentation Generated: Jul 23, 2026 |
Overview#
Introduction#
A high level implementation of a Window that contains a Viewport and variety of menus and manipulators for interacting
and controlling a pxr.usd.UsdStage attached to a specific omni.usd.UsdContext.
How to create a new ViewportWindow#
Python#
Import the class from the package:
from omni.kit.viewport.window import ViewportWindow
Create a ViewportWindow instance named “Demo”, attached to the default UsdContext
viewport_window = ViewportWindow("Demo", width=640, height=480)
Get the active ViewportAPI attached to the ViewportWindow and inspect some properties.
viewport_api = viewport_window.viewport_api
usd_context = viewport_api.usd_context
usd_context_name = viewport_api.usd_context_name
usd_stage = viewport_api.stage
camera_path = viewport_api.camera_path
resolution = viewport_api.resolution
Viewport-Only Streaming Use Case#
For streaming scenarios where the client should receive only the rendered viewport with no surrounding UI chrome (menus, toolbars, dock borders), both of the following settings must be set:
--/app/window/hideUi=true
--/app/docks/disabled=true
Why both are required#
Setting |
Effect |
|---|---|
|
Hides all UI elements (menus, toolbars, panels) at startup |
|
Disables the docking container so no 1–2px border appears around the viewport |
Using only /app/window/hideUi=true without /app/docks/disabled=true will still leave a 1–2px border around the viewport from the dock container. Similarly, /app/docks/disabled=true alone will leave UI elements visible. Both flags together produce a pixel-perfect, border-free viewport surface.
Example command-line usage#
./kit my_app.kit \
--/app/window/hideUi=true \
--/app/docks/disabled=true \
--/app/window/width=1920 \
--/app/window/height=1080
Example .kit file configuration#
[settings]
app.window.hideUi = true
app.docks.disabled = true