Skip to content

MCA Editor in Isaac Sim

MCA Editor runs inside NVIDIA Isaac Sim as a native extension. It opens as an Isaac Sim panel, runs your code in Isaac Sim's own Python, and shows Isaac Sim's log next to your output.

New to it? See Installation — it's a one-click installer.


Opening and docking

Open it from Window > MCA Editor. The first time, it tabs in next to the Console. From then on it behaves like any Isaac Sim panel:

  • Drag the tab to dock it anywhere, or next to other panels as a tab
  • Isaac Sim saves and restores its position with your layout
  • If it was open when Isaac Sim closed, it reopens automatically

Floating window

Prefer a separate window? In the editor's menu bar choose Isaac Sim > Float Window. The editor becomes its own window that always stays in front of Isaac Sim (but not in front of other applications) and minimizes with it. Isaac Sim > Dock in Isaac Sim puts it back in the panel.


Running code

Code runs directly in Isaac Sim's Python (3.12), on Isaac Sim's main thread — the same place Isaac Sim's own Script Editor runs it. There is nothing to connect.

These are already imported, so you can use them without import lines:

Name What it is
omni, carb Omniverse Kit and Carbonite
omni.usd, omni.timeline, omni.kit.app Stage, timeline and app access
Usd, UsdGeom, UsdPhysics, UsdShade, UsdLux, Sdf, Gf, Tf, Vt OpenUSD (pxr)

A single expression shows its value in the output panel:

omni.usd.get_context().get_stage().GetDefaultPrim()
# Result: Usd.Prim(</World>) #

Top-level await

Much of Isaac Sim's Python API is asynchronous. You can await directly in the editor — the code runs on Isaac Sim's event loop, so the UI keeps updating while it waits:

timeline = omni.timeline.get_timeline_interface()
timeline.play()

# Let the simulation run for 60 frames without blocking Isaac Sim.
for _ in range(60):
    await omni.kit.app.get_app().next_update_async()

timeline.stop()
print("simulated 60 frames")

Output and the Isaac Sim log

The output panel shows:

  • Everything your code prints, plus errors with full tracebacks
  • Output printed later by callbacks, async code and other extensions
  • Isaac Sim's own log (the messages you'd see in the Console window: PhysX, USD, extensions), each line labelled with where it came from

Choose how much of the Isaac Sim log you want from Isaac Sim > Show Isaac Sim Log in the editor's menu bar:

Setting Shows
Everything Info, warnings and errors
Warnings and errors The default
Errors only Just errors
Off Only your own output

Requirements and limits

  • Isaac Sim 6.x on Windows. Linux builds are planned.
  • The first start downloads PySide6 (the editor's UI toolkit) through Isaac Sim's own package manager, so it needs internet once.
  • When docked, a few small Isaac Sim pop-ups (drop-down lists and tooltips) can appear behind the editor. Menus, right-click menus and floating windows show in front of it as expected. Floating mode has no such limits.

Uninstalling

Close Isaac Sim and double-click Uninstall MCA Editor.bat from the zip. Your scripts in Documents\mca_preferences are kept.