Omniverse Kit cannot find assets in Nucleus

I am using omni.isaac.synthetic_utils.OmniKitHelper to run simulation from Python code.

First, the stage is initialized from the .usd file:

stage = omniverse_kit.get_stage()
backPrim = stage.DefinePrim("/World/background", "Xform")
backPrim.GetReferences().AddReference(asset_path + '/Kitchen/kitchen.usd')

After running I get the following errors:

[Warning] [rtx.mdltranslator.plugin] Unable to resolve ../Materials/Isaac/Staging/AluminumRough.mdl
[Error] [rtx.neuraylib.plugin] [MDLC:COMPILER]   1.0   MDLC   comp error: could not find module ::MANGLED::__2E0_2E0::Materials::Isaac::Staging::AluminumRough' in module path
[Error] [rtx.mdltranslator.plugin]  Failed to create module ../Materials/Isaac/Staging/AluminumRough.mdl.
[Error] [rtx.materialdb.plugin] Failed to create MDL module for '../Materials/Isaac/Staging/AluminumRough.mdl'.
Segmentation fault (core dumped)

Full paths to the files at the Nucleus server are as follows:
/Isaac/Materials/Isaac/Staging/* (AluminumRough.mdl is also resides here)

So omnikit tells that it cannot find the file that actually exists.

What is the problem here?
Am I right that all dependencies (materials, etc.) of a .usd file are referenced in this file via relative paths?
What a smart way of figuring out what files should I put at which locations? (I read through this file using usdcat and didn’t get any insights…)

P.S. if you need any additional information about the problem please feel free to ask in the thread

@franky220 Did you try loading the kitchen usd from Isaac Sim UI instead of running the simulation from Python Code.

  1. Yes, relative paths should be fine.
  2. The Details tab in the UI will also help in debugging if the materials and other dependencies are correctly referenced for the .usd file.