Note: I’m Japanese and not very fluent in English.
The wording might sound unnatural or inappropriate.
Sorry about that in advance!
Hi,
I am working on an Omniverse application (based on the Isaac Sim template) that streams the viewport to Apple Vision Pro via CloudXR.
My goal is to visualize point‑to‑point measurements created by omni.kit.tool.measure directly in the streamed 3D space on Apple Vision Pro.
What I want to achieve
- Use the Point‑to‑Point tool of
omni.kit.tool.measureand show, on Apple Vision Pro:- the start and end points of the measurement
- the line segment representing the measured distance
- the numeric measurement label
Current approach and problem
- I understand that viewport overlays (for example
omni.ui.scene.Linedrawn in aSceneView) are rendered only in the desktop viewport UI and are not included in the image that is streamed through CloudXR.
Because of this, I cannot simply reuse the existing overlay implementation ofomni.kit.tool.measureon Apple Vision Pro. - As a workaround I currently create simple 3D USD objects (lines, points, labels) in the scene to mimic the measurement visualization.
This works in principle, but those objects are occluded by other geometry.
When the user moves the viewpoint behind other objects, the measurement line and points are no longer visible. - Ideally I would like an “always on top” rendering of these measurement objects.
A similar effect already exists in Omniverse for:-
selection outlines and gizmos that remain visible even when the object is partially or fully behind other geometry.
-
some debug / clash‑detection viewports where objects are emphasized independently of normal scene occlusion.
However, these effects seem to be implemented in the core rendering pipeline (Carbonite/Kit) and I could not find a public API or example to reuse them from a custom extension.
-
Questions
- Is there any recommended way to render measurement‑like visuals (lines, points, labels) in 3D space so that they behave like viewport overlays but are visible in the CloudXR stream (i.e. from the XR camera’s point of view), instead of only in the desktop viewport UI?
- For example, can
omni.ui.sceneprimitives such asSceneView/Linebe driven by a 3D camera (CloudXR / OpenXR camera) and rendered into the same render product that CloudXR streams?
- For example, can
- For USD scene objects, is there a documented or recommended best practice to render them “always on top” (ignoring depth test or using a special render layer) in the Omniverse RTX renderer?
- I am aware that I can approximate this with emissive / unlit materials and by offsetting geometry toward the camera, but I would like to know if there is an official way similar to the internal selection‑outline / gizmo passes.
Additional notes
- I only need to support the Point‑to‑Point sub‑tool of
omni.kit.tool.measure. - The important requirement is that the measurement visualization remains visible from any viewpoint on Apple Vision Pro, even when other objects are in front of the measured points.
Environment
- Application: Isaac Sim template–based custom app
- Isaac Sim: 5.1.0
- Omniverse Kit SDK: 107.3.3
- CloudXR Kit: 5.0.1
- Client Library Version: 2.67.0
- Measure Tool extension:
omni.kit.tool.measure200.0.2
Any guidance, examples, or pointers (even low‑level Carbonite/Kit SDK APIs) on how to achieve this “always‑on‑top measurement visualization” in a CloudXR + Apple Vision Pro setup would be greatly appreciated.
Thank you in advance for your help!

