Question about .kit file dependencies

Hi,

I’m using the kit app template (106) to create a custom kit app with my own custom extensions. When my kit app builds, I want it to have different folders in the /_build/${platform}/${config} directory that hold different categories of extensions.

For example, I want a _build/${platform}/${config}/extsgui folder to populate with my gui extensions from my kit app, and a separate _build/${platform}/${config}/extsbackend for my backend extensions. This is in a similar fashion to Isaac Sim, which has different exts folders that contain different categories of extensions.

https://docs.omniverse.nvidia.com/kit/docs/kit-manual/latest/guide/creating_kit_apps.html#application-dependencies-management

The docs in the link above state that By default, extensions are cached into the _build/$platform/$config/extscache folder. Is there some way to change where my extensions are cached?
Or possibly, can I edit the build so that within some top level exts/ folder, I can have subfolders containing my categorized extensions?

Would I also be able to, under the [dependencies] section of the .kit file, be able to specify a folder (maybe kit-app-name/source/extensions) that then makes the kit-app dependent on the extensions within that folder? Or does this just have to be done with adding some path to the [settings.app.exts] folder list, and explicitly naming each extension in the .kit file?

I can ask about this, but I would not recommend changing the default extension location, if everything is working as expected. Is there a reason you need to have different folders for different categories ?

Thanks for your help both here and on discord Richard!
It would help with enabling / disabling groups of extensions just by changing the .kit file extension search paths.

Not recommend changing the default extension location, if everything is working as expected.

I’ve been having success adding paths to search extensions for my kit app through the kit file:

[settings.app.exts]
folders.'++' = ["${app}/../exts", "${app}/../extscache/", "${app}/../custom_exts_path/"]  # Search paths for extensions.

The short answer here is that customizable build configuration is not yet supported by Kit App Template. The longer answers to each question above are (will attempt to take them in order):

  • Changing Extension Cache Location: It is not currently supported/documented to change the extension cache location from the default _build/${platform}/${config}/extscache folder.

  • Separate Folders for Different Categories of Extensions: While it is technically possible to configure the build process to create separate folders for different categories of extensions (similar to Isaac Sim), this is not currently supported through Kit App Template. It would require additional configuration and testing to ensure proper functionality across all tooling.

  • Subfolders within a Top-level exts/ Folder: Similar to creating separate folders for categories, this customization is also not directly supported through Kit App Template and would need additional configuration.

  • Specifying Dependencies in the .kit File: It is important to explicitly declare all required dependencies. However, you can create a bundle extension that aggregates other extensions. In this case, you would declare specific dependencies in the extension.toml for your top-level bundle extension, and the .kit file would only need to declare this top-level bundle.

In summary, it looks like you can achieve much of what you are after by creating extension bundles.

Adding additional search paths for extensions is fine, but I don’t believe that gets you what you are after from a build customization perspective.

If build (or other tooling) customizations continue to be an ongoing need, please feel free to reach out again.

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