What is the recommended method to declare dependencies for our extensions?

I am using a type LulaKinematicsSolver in my extension and saw an error

ImportError: DLL load failed while importing lula: The specified module could not be found

It was solved by adding “omni.isaac.motion_generation” = {} to the extension dependencies list.

Our list is still not exhaustive. Currently I would only add them when there is error, and it is required to fix, but this may not be ideal.

I would like to better understand how extension dependencies list is intended to be used and what the benefits are.

[dependencies]
"omni.kit.uiapp" = {}
"omni.isaac.ui" = {}
"omni.isaac.core" = {}
"omni.isaac.motion_generation" = {}

Even if I get an exhaustive list from the extension page, it’s not clear that adding all of them would add any benefit so I prefer not to list them so that I don’t have to keep the list in synch with the code.

Thank you for your question about declaring dependencies for extensions in Isaac Sim. The recommended method for declaring dependencies is indeed through the [dependencies] section in your extension.toml file, as you’ve shown in your example.

For a comprehensive guide on managing extension dependencies, I recommend checking out these two official documentation pages:

  1. Extensions in-depth
  2. Application Dependencies Management