Show/Hide toggle for multi-selected Prims does not work

Show/Hide toggle for multi-selected Prims does not work.

Omniverse Create 2021.3.2

When I specified Show/Hide (inherited/invisible) for multiple prims in the Stage window and toggled this state in Script, it did not work properly.
The following is a script that reverses the Visibility state of the selected Prims.

from pxr import Usd, UsdGeom, UsdPhysics, UsdShade, Sdf, Gf, Tf

# Get stage.
stage = omni.usd.get_context().get_stage()

# Get selection.
selection = omni.usd.get_context().get_selection()
paths = selection.get_selected_prim_paths()

# Toggle show/hide.
for path in paths:
    # Get prim.
    prim = stage.GetPrimAtPath(path)
    if prim.IsValid() == False:
        continue

    # Get visibility.
    primImageable = UsdGeom.Imageable(prim)
    if primImageable.GetVisibilityAttr().Get() == 'inherited':
        # Set hide.
        primImageable.GetVisibilityAttr().Set('invisible')
    else:
        # Set show (inherited).
        primImageable.GetVisibilityAttr().Set('inherited')

The result is as follows.


Visibility is not inverted.

This example shows the placement of four Prims.
I specified inherited/invisible/inherited/invisible and selected these four Prims to run the script.
Then, everything was selected.

However, I got similar behavior when switching Visibility without using scripts.


Currently, I am not sure if this problem is due to the UI or the USD SDK.

This is a bug that has already been reported and is in our to-do pile to fix. Thanks for your input.

Internal Ticketing Reference Number: OM-34758

@bustaev , Thank you for the information that you have already confirmed.
I’ll wait for it to be fixed.