How to load a locally downloaded asset into Isaac Sim?

Isaac Sim Version

[Yes] 4.5.0

Operating System

[Yes] Ubuntu 22.04

GPU Information

  • Model: RTX 4090
  • Driver Version: 550.144.03

Topic Description

Detailed Description

I am trying to upload a unitree G1.usd asset into isaac sim which I have downloaded locally through the Pack 1 of official isaacsim asset directory. I am trying to load it in Isaac Sim using the following code:

#!/usr/bin/env python3
from isaacsim.simulation_app import SimulationApp
import omni.usd

# 1. Boot the full Kit + Python env
app = SimulationApp({"headless": False})

# 2. Open your local USD via file URI
omni.usd.get_context().open_stage(
    "file:///home/hirak/isaacsim-assets/Assets/Isaac/4.5/Isaac/Robots/Unitree/G1/g1.usd"
)

# 3. Main loop
while app.is_running():
    app.update()

app.close()

Error Messages

I am getting the following error:

2025-05-08 14:44:49 [13,186ms] [Error] [carb.scripting-python.plugin] KeyError: ‘EXP_PATH’

At:
/home/hirak/isaacsim/kit/python/lib/python3.10/os.py(680): getitem
/home/hirak/isaacsim/exts/isaacsim.simulation_app/isaacsim/simulation_app/simulation_app.py(186): init
/home/hirak/Isaacsim_codes/Unitree_G1/load_g1_kit.py(6):

KeyError: ‘EXP_PATH’

At:
/home/hirak/isaacsim/kit/python/lib/python3.10/os.py(680): getitem
/home/hirak/isaacsim/exts/isaacsim.simulation_app/isaacsim/simulation_app/simulation_app.py(186): init
/home/hirak/Isaacsim_codes/Unitree_G1/load_g1_kit.py(6):
2025-05-08 14:44:49 [13,186ms] [Error] [omni.kit.app.plugin] [py stderr]: KeyError: ‘EXP_PATH’

At:
/home/hirak/isaacsim/kit/python/lib/python3.10/os.py(680): getitem
/home/hirak/isaacsim/exts/isaacsim.simulation_app/isaacsim/simulation_app/simulation_app.py(186): init
/home/hirak/Isaacsim_codes/Unitree_G1/load_g1_kit.py(6):

[16.454s] Isaac Sim Full App is loaded.

Tried running it by running the command in the root:
"cd ~/isaacsim
./isaac-sim.sh --exec ~/Isaacsim_codes/Unitree_G1/load_g1_kit.py
"

@23hirakrobotics the G1.usd asset can be found in the Isaac Sim Assets browser under this directory: Robots > UNITREE > G1

and if you want to load the one from the browser, you can use the following snippet:

import omni.kit.commands
from omni import usd

omni.kit.commands.execute('CreateReferenceCommand',
	usd_context=omni.usd.get_context(),
	path_to='/World/g1',
	asset_path='https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5/Isaac/Robots/Unitree/G1/g1.usd',
	instanceable=True)
1 Like

Hey,
I think you are looking for this solution instead Setup Tips — Isaac Sim Documentation

Look into the Assets section, that explains how to setup local assets folder

1 Like

Thanks everyone. I did it using:


from isaacsim.core.utils.nucleus import get_assets_root_path


assets_root = get_assets_root_path()
    if assets_root is None:
        carb.log_error("Could not find nucleus server with /Isaac folder")
        return

    asset_path = assets_root + "/Isaac/Robots/Jetbot/jetbot.usd"