Where is world.reset() when using the Loaded Scenario Template?

I am trying to create a custom extension starting from the loaded scenario template. I see that a world object is created, however, I don’t see world.reset() being called anywhere.

Are these extensions doing something different compared to standalone python scripts?

Thanks in advance!

Hi @bolun - Yes, these extensions work a bit differently from standalone Python scripts. Extensions in Omniverse run within the context of a live application session, such as Omniverse USD Composer, which already has an active stage and simulation context. This context is continually maintained and updated by the application.

The ‘world’ object you might be used to seeing in standalone Python scripts is a part of Isaac Sim’s Python API, which is designed for running physics simulations in standalone, headless mode, outside the context of an Omniverse app. When writing an extension for an Omniverse application, you don’t typically need to create a world object or call world.reset().

Instead, you manipulate the existing stage and simulation context provided by the Omniverse application. You access the stage through the USD API, and access physics through the PhysX extension API.