Measurements are not loaded from saved USD


we would like to use the new measurement extension to optionally show measurements, so we would like to create the required prims in the usd stage through our connector.

But when we load a stage that contains a measurement that is created through our connector, the measurement is not shown. So we tested if measurements that are created with USD Compose are loaded correctly, and it seems that there is a bug:

Just open a stage, create a measurement, reload the stage… the measurement is gone.

Would be nice if someone can have a look at this…



I’ve found the problem… the root name name “World” seems to be hardcoded in the measurement extension and my root node is named “Root” :-)

After renaming it to “World”, it works fine;

Did this happen in Composer 2023? Also there needs to be a default prim set in every stage in composer. If there is not a default prim errors like this can happen.

right click any transform>>select default prim, this loads for a sec then you should be set


yes I use Compose 23.1.1.

Based on my tests I can say, explicitly defining a default prim is not necessary, but it has to be named “World” otherwise it does not work regardless if you have specified it as default prim or not.

Currently I have trouble with another bug in the measurement tool, perhaps you can have a look at this too…

In this scene I’ve created 3 measurements referencing the node “Structure”…

When changing the transformation of “Structure”… the measurement moves along…

But when changing the transformation of one of the parents of structure, the position of the measurements is not updated…

Would be really nice if you could habe a look at this…

Thank you very much


One other thing I just noticed… I’ve created some measurements and then I would like to create a redering of that image… but to my surprise… the measurements are not rendered. What do I have to see those measurements in the rendering too?

The measurements extension creates UI overlays only visible in viewport. They are not designed to be rendered out. Can you not capture the realtime viewport for your output ?

I think I will have to “make a screenshot”… but the current implementation captures directly the render output and uses different viewports in parallel etc. I will have a look if I can implement the capturing with all the features we need (change the resolution etc.).

An other way would be to implement the measurements by myself directly in the usd-scene… but I do not know if it is possible to create those labels on the fly.

Do you know if…

…usd supports rendering text?
…usd supports billboard like behavior (label that is always directed to the camera)?