In async function, wait until USD file is loaded into stage

Isaac Sim Version

4.2.0

Operating System

Windows 10

GPU Information

  • Model: RTX 4090
  • Driver Version:

Topic Description

In my simulation, I load one at a time sampled usd files from local disk which are used as environments.

        new_prim = prims_utils.create_prim(
                usd_path=path_to_usd_file,
                prim_path=_path_in_stage
            )
        carb.log_error(f"Loaded New Prim. waiting 5 seconds...")
        await asyncio.sleep(5)

The usd files are sometimes large, I want in my async function to wait until the prim was created and loaded with all its compenents. Now I just use await asyncio.sleep(5) but its not enough for larger usd files.

In my function, how can I wait until the usd file (new prim) is in my stage?

Thank you

Please try using the is_stage_loading() function from the isaacsim.core.utils.stage module.