Simulation Application [omni.isaac.kit]

This extension provides convenience functions when running in pure python mode

class SimulationApp(launch_config: Optional[dict] = None, experience: str = '')

Helper class to launch Omniverse Toolkit.

Omniverse loads various plugins at runtime which cannot be imported unless the Toolkit is already running. Thus, it is necessary to launch the Toolkit first from your python application and then import everything else.


# At top of your application
from omni.isaac.kit import SimulationApp
config = {
     width: "1280",
     height: "720",
     headless: False,
simulation_app = SimulationApp(config)

# Rest of the code follows


The settings in DEFAULT_LAUNCHER_CONFIG are overwritten by those in config.

  • config (dict) – A dictionary containing the configuration for the app. (default: None)

  • experience (str) – Path to the application config loaded by the launcher (default: “”, will load app/omni.isaac.sim.python.kit if left blank)

DEFAULT_LAUNCHER_CONFIG = {'active_gpu': None, 'anti_aliasing': 3, 'denoiser': True, 'display_options': 3094, 'fast_shutdown': True, 'headless': True, 'height': 720, 'livesync_usd': None, 'max_bounces': 4, 'max_specular_transmission_bounces': 6, 'max_volume_bounces': 4, 'multi_gpu': True, 'open_usd': None, 'physics_gpu': 0, 'renderer': 'RayTracedLighting', 'samples_per_pixel_per_frame': 64, 'subdiv_refinement_level': 0, 'sync_loads': True, 'width': 1280, 'window_height': 900, 'window_width': 1440}

The config variable is a dictionary containing the following entries

  • headless (bool) – Disable UI when running. Defaults to True

  • active_gpu (int) – Specify the GPU to use when running, set to None to use default value which is usually the first gpu, default is None

  • physics_gpu (int) – Specify the GPU to use when running physics simulation. Defaults to 0 (first GPU).

  • multi_gpu (bool) – Set to true to enable Multi GPU support, Defaults to true

  • sync_loads (bool) – When enabled, will pause rendering until all assets are loaded. Defaults to True

  • width (int) – Width of the viewport and generated images. Defaults to 1280

  • height (int) – Height of the viewport and generated images. Defaults to 720

  • window_width (int) – Width of the application window, independent of viewport, defaults to 1440,

  • window_height (int) – Height of the application window, independent of viewport, defaults to 900,

  • display_options (int) – used to specify whats visible in the stage by default. Defaults to 3094 so extra objects do not appear in synthetic data. 3286 is another good default, used for the regular isaac-sim editor experience

  • subdiv_refinement_level (int) – Number of subdivisons to perform on supported geometry. Defaults to 0

  • renderer (str) – Rendering mode, can be RayTracedLighting or PathTracing. Defaults to PathTracing

  • anti_aliasing (int) – Antialiasing mode, 0: Disabled, 1: TAA, 2: FXAA, 3: DLSS, 4:RTXAA

  • samples_per_pixel_per_frame (int) – The number of samples to render per frame, increase for improved quality, used for PathTracing only. Defaults to 64

  • denoiser (bool) – Enable this to use AI denoising to improve image quality, used for PathTracing only. Defaults to True

  • max_bounces (int) – Maximum number of bounces, used for PathTracing only. Defaults to 4

  • max_specular_transmission_bounces (int) – Maximum number of bounces for specular or transmission, used for PathTracing only. Defaults to 6

  • max_volume_bounces (int) – Maximum number of bounces for volumetric materials, used for PathTracing only. Defaults to 4

  • open_usd (str) – This is the name of the usd to open when the app starts. It will not be saved over. Default is None and an empty stage is created on startup.

  • livesync_usd (str) – This is the location of the usd that you want to do your interactive work in. The existing file is overwritten. Default is None

  • fast_shutdown (bool) – True to exit process immediately, false to shutdown each extension. If running in a jupyter notebook this is forced to false.

property app:

omniverse kit application object


close() None

Close the running Omniverse Toolkit.

property context: omni.usd._usd.UsdContext

the current USD context



is_exiting() bool

bool: True if close() was called previously, False otherwise

is_running() bool

bool: convenience function to see if app is running. True if running, False otherwise


Reset render settings to those in config.


This should be used in case a new stage is opened and the desired config needs to be re-applied.

set_setting(setting: str, value) None

Set a carbonite setting

  • setting (str) – carb setting path

  • value – value to set the setting to, type is used to properly set the setting.

update() None

Convenience function to step the application forward one frame