Add an extension with dependencies to custom app

Hi,

I have a blank window Omniverse Kit App and I want to add the CAD Import extension (omni.kit.importer.cad), which depends on lots of extension dependencies.

I want that my app release build has all the dependency tree of CAD Import extension.

The CAD Import extension was only found in CREATE, but not in CODE, or KIT…
C:\Users\USERNAME\AppData\Local\ov\pkg\create-2022.3.3\extscache\omni.kit.importer.cad-0.3.4+wx64.r.cp37

But I cannot just copy-paste it because it will miss many dependencies. What is the best practice for creating a blank app with some extensions like CAD Import?

Thanks

Hi @miquel.valverde! Welcome to the forums! Please consider joining us on Discord too: NVIDIA Omniverse

You can make Create your baseapp. This doesn’t bundle create with your app, but makes all extension available in Create available to your app. Btw, this is going to be much easier/better in Kit 105 where your app will just download exactly which extensions it needs. No baseapp required.

1 Like

Thanks!

Here is some related question I guess,
If I want to modify an existing extension to fit my company’s needs, how can I do it without destroying the original?

I copy pasted my desired extension (omni file menu) inside this folder:
[settings.app.exts]
folders.‘++’ = [“kit template app/…/source/extensions/external_customized_extensions”]

But how can I copy it to release when I build? To avoid my build output reference my source code.

Thanks, I’ll join Discord.

When it comes to editing functionality of existing NV extensions. I usually try to:

  1. See if I can create a new extension that inherits from or wraps some extension that I want to edit.
  2. Duplicate the NV extension, but give it a new extension ID so that it doesn’t clash with the original.
  3. If neither #1 or #2 are good options for you, you could:
    1. Copy the source like you’ve done.
    2. Use a premake5.lua file to copy it during the build process like your custom extensions.
    3. Make sure that your customized NV extension is found first in the extension folder paths by configuring that setting properly in your kit file.

I think #3 is acceptable for the purpose of a custom app.

1 Like

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