Running Isaac Sim without Omniverse Editor – Headless build and Python execution support?

Note: For any Isaac Lab topics, please submit your topic to its GitHub repo ( GitHub - isaac-sim/IsaacLab: Unified framework for robot learning built on NVIDIA Isaac Sim ) following the instructions provided on Isaac Lab’s Contributing Guidelines ( Contribution Guidelines — Isaac Lab Documentation ).

Please provide all relevant details below before submitting your post. This will help the community provide more accurate and timely assistance. After submitting, you can check the appropriate boxes. Remember, you can always edit your post later to include additional information if needed.

Isaac Sim Version

4.1.0

Operating System

Windows 10
GPU Information

  • Model: NVIDIA GeForce RTx 4070 Ti
  • Driver Version: 571.96

Topic Description

Running Isaac Sim without Omniverse Editor (headless / Python-only execution)

Detailed Description

I would like to integrate Isaac Sim into an automation pipeline without relying on the Omniverse Editor.
Currently, the Editor is too heavy for our workflow.
I want to confirm whether Isaac Sim can:

  1. Be built and run headless or as a standalone process without launching the Editor.

  2. Be executed and controlled directly via Python scripts (e.g., launching a simulation or controlling environments purely with Python).

Expected: Isaac Sim can start in headless mode and execute Python scripts.
Actual: It seems the Editor dependency is still required.

Steps to Reproduce

  1. Install Isaac Sim 4.1.0 on Windows 10.
  2. Attempt to run a Python script (e.g., python my_script.py) without starting the Omniverse Editor.
  3. The script fails to start the simulation or still launches the Editor components.(Add more steps as needed)

Error Messages

(If applicable, copy and paste any error messages you received)

Screenshots or Videos

(If applicable, add screenshots or links to videos that demonstrate the issue)

Additional Information

Omniverse version : 4.1.0

What I’ve Tried

  1. Checked documentation for headless mode.
  2. Tried running Isaac Sim sample scripts in standalone Python, but they did not start without Editor.
  3. Searched developer forums but couldn’t find a clear answer regarding standalone build support.

Related Issues

(If you’re aware of any related issues or forum posts, please link them here)

Additional Context

(Add any other context about the problem here)

You can run Isaac Sim 5.0 in headless mode and execute Python scripts standalone, without the Omniverse Editor, by following the approach detailed in the official documentation: Python Environment — Isaac Sim Documentation

Thank you for your answer. I would like to ask you because I have a little more questions while testing through the Python Environment you attached.

Request: Official “runtime / viewer-mode” way to run Isaac Sim (viewport-only, no editing)

Environment

Isaac Sim 5.0.0 (Windows, standalone)

OS/GPU: Windows 10/11, RTX 4070 Ti (latest driver)

Launch: python.bat load_model.py with SimulationApp({“headless”: False})

Goal: Run in a viewer-only runtime mode (no editor chrome): viewport only, fills the window, simulation runs, but no editing (no selection, no context menu, no transforms/saving)

What I tried (editor-based customization)

Hide all windows via Workspace, keep only “Viewport”

Disable right-click context menu via omni.kit.viewport.utility.disable_context_menu()

Disable selection via omni.kit.viewport.utility.disable_selection()

Optionally omni.usd.get_context().set_pickable(“/”, False) to block picking

Maximize viewport area via SetViewportFullscreen (Hide UI / Fullscreen)

This works to mimic a viewer on top of the editor app, but I’d like to know the official/maintainable way (and limits) for a true runtime viewer.

Questions

Is there an official runtime/player path for Isaac Sim 5.x (non-editor), e.g., a Kit-based viewer app or a launch flag to start Isaac Sim in viewer-only mode?

If yes, could you share the recommended CLI/settings and a sample app.json/.kit template?

If the editor-based approach is the right way, are the following APIs recommended and supported (Viewport Next)?

disable_selection() + disable_context_menu() + set_pickable(“/”, False)

What’s the best-supported way to block selection/editing while keeping camera navigation?

Is there a better way to make the stage effectively read-only?

e.g., mounting USD layers read-only, SdfLayer permissions, disabling save/Undo/command pipeline. Any official pattern or sample?

Minimal snippet (current editor customization summary)

from omni.isaac.kit import SimulationApp

simulation_app = SimulationApp({“headless”: False})

simulation_app.update()

import omni.ui

for win in omni.ui.Workspace.get_windows():

if str(win) in ("Viewport"):

    omni.ui.Workspace.show_window(str(win), True)

else:

    omni.ui.Workspace.show_window(str(win), False)

import omni.kit.viewport.utility as vutil

disabled_context_menu = vutil.disable_context_menu()

viewport_window = vutil.get_active_viewport_window()

disabled_selection = vutil.disable_selection(viewport_window)

from omni.isaac.core import World

from omni.isaac.core.utils.stage import open_stage

usd_path = “C:/Users/user/Desktop/isaac-sim-standalone-5.0.0-windows-x86_64/Pipe.obj”

open_stage(usd_path)

world = World(stage_units_in_meters=1.0)

world.reset()

while simulation_app.is_running():

world.step(render=True)

simulation_app.close()
Thank you!

Thank you for your detailed questions and for outlining your use case! To help keep discussions organized and make it easier for others to find and contribute to each specific topic, could you please create a new thread for your additional questions regarding the official viewer/runtime mode and related API recommendations?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.