How to build complete composer from kit-app-template?

Hi,

You can see in this video that composer from the latest kit-app-template is very limited compared to composer from the launcher:

I understand that the new way to use composer is to build it yourself. I think this is pretty interesting and I’ve done that using the kit-app-template. But the composer template does not have feature parity with the composer from the launcher. I’m sure someone more experienced with would simply extend the template to include everything, but alas, I’m pretty new to Omniverse.

I’m making a proof of concept to see if Omniverse will work for our application, and I did not plan on a detour to build my own composer. I would simply use the composer from launcher, but some of the materials in the stages I’m working on crash kit 106.4, and so composer built from kit 106.5 is necessary to load them.

But once I do, I lose a ton of functionality. I’m wondering if you would consider making the composer template match the composer from the launcher? Or at least provide documentation for how to do it myself?

I mentioned this in a few other posts, but wanted to create a new discussion specifically for this question.

Thanks!

Can you send us the file please so we can take a look. We can only go forwards with releases. Not backwards. Please use the “File > Collect” tool to gather up all resources, then zip it up and send it here with whatever large file service you can use.

What EXACTLY are you missing from the latest 106.5 ?

I know if your other post you were comparing the RTX performance and framerate. I see from this video, the new version is literally running at 2x or even 3x the speed, so that is great.

The first thing to say is that you have only built the BASIC template. Nothing extra. 90% of those features you see in the older version, we are turning OFF by default now. But not to worry. Very easy to turn back ON. Just run the template with the extra “-d” flag added and you will get access back to the “Extensions Manager”. From there you can turn on all of those features you are missing. Again, remember. This is NOT an application. This is a development platform. This is not an app, but a “dev template”. We make the new version bare bones on purpose. Not everyone needs everything.

So in summary, please run the command “repo launch -d” and you will then see the Extension Manager come up and normal. Then all or most of those features can be turned back on.

My question is ‘how do I build composer from the kit-app-template so that it has feature parity with the composer from the launcher?’

You said

I’m glad it’s easy, how do I do it? Can you point me to some docs or a guide?

You asked:

It’s so many things that I can’t be sure that I have a complete list.

There are way fewer prim types that can be created ie; Create/Physics - doesn’t exist
Here is a screenshot with the kit app template on the left and the launcher version on the right side:

The window menu has way fewer options:

The tools menu has fewer options:

Fewer render settings in the kit app template:

Seems like too many things are different to try to figure it out.

I’m just hoping there’s a simple way to evaluate what’s in the launcher version so I can add it to the template…

please run the command “repo launch -d ” and you will then see the Extension Manager From there you can install whatever you want.

If I may be honest, you seem to be laser focused on “tools” and not “workflow”. Forget about what tools are in the box. What are you trying to build? If you are in Industrial Simulation, I can give you a list of things to re-enable. If you are into Architectural Sun Studies, again I can give you a list. Etc.

Tell me about your workflow and I will give you the tools you need. Rather than just looking for every tool that is not there.

You sound like we are trying to sell you a “downgrade”. We are just trying to give you the template you need to customize it yourself. If you really don’t like the new version … just stick with the old.

“Seems like too many things are different to try to figure it out.” - Then don’t… just start your app development and you will soon figure out what you need and what you don’t miss.

“I’m just hoping there’s a simple way to evaluate what’s in the launcher version so I can add it to the template…” - You evaluate the new version like any other software. Continue with your development and as you need a tool, add a tool from the Extension Manager.

“I’m making a proof of concept to see if Omniverse will work for our application” - Why don’t you start there. Tell me what your background is and what you are trying to achieve. I am here to help.

Finally, let me say this, as I have on many other posts. This is NOT AN APPLICATION. This was never an app of any kind. This is a development platform. We give you the kit code and a basic template, you make whatever you want with it. All we have done is what DEVELOPERS asked for. Less. Streamlined. Minimal. With the option to add, expand, explore. If you are just looking for a Rendering app, full of features, this is not it.

As an example, you mentioned there is no Physics. As mentioned, and I can see, you now are running in the Developer mode. Go to the developer menu, run Extension Manager, search for Physics, and you will see the Physics Bundle you can install. Then you have physics. We are not taking anything away. We are just making the starting template more light weight and giving you the power to load what you want.

Firstly, thank you for your help. I’m new to Omiverse and there is a lot to learn.

I’m working in Industrial Simulation, but I also need a lot of animation and humanoid character tools. I need to be able to setup rendering for 2 modes: realtime performance and photoreal / cinematic quality (for rendering out movies).

I was in the process of learning about the functionality within Ov while also building a proof of concept. So it’s like a chicken before the egg situation. I do not know what I need. As I discover new challenges, I’ve been discovering new tools. Doing this exploration in composer was a great opportunity to learn what kind of tools are at my disposal.

It sounds like the best option is to open the extension manager in one app and make a list and then enable them in the other. I assume there’s a way to make extensions that were disabled persist on restart?

I would advise that you just use the new 106.5 app and enjoy it. And if you discover something that you need, go install it. But keep it as light as possible. Don’t install something just because it is there in the old version.

I have a pretty complex scene already built using the older composer. How do I figure out what extensions that stage is using?

I tried to load it and had some immediate problems, I’m still confused about how to get a complete list.

Well tell me what the problems were and we can fix them. First of all, immediately try turning off Fabric Scene Delegate, FSD. This can cause some capability issues. Go to PREFERENCES > RENDERING and you will see it right at the top. Turn that OFF and reload the scene or Composer. I imagine that will fix all of your issues.

The stage and usd files use no extensions at all. Everything that is required to just open a usd file, is automatically loaded as “core”, which are automatically in both versions. So that will not be the issue. Any extension beyond core are usually some kind of “utility” that is not required to open a file.

Hi,

The scene that we built and was working in launcher composer. I have been trying to get it to load properly in the 106.5 kit composer.

It’s either crashing or broken depending on what mix of extensions I load.

My scene is using:

Motion Matching
State Machines
USD Skel
Skelanim clips
Navigation and Pathfinding
python scripting on the skeleton

I’ve tried adding one extension at a time to figure out what is needed to get to parity.

I’ve found what appears to one or more clear issues:

Crash after:
[Warning] [omni.fabric.plugin] Warning: attribute inputs:prim not found for path /mockup/Character/ActionGraph/Source_STARTWriteAttrib_01
[Warning] [omni.fabric.plugin] Warning: attribute evaluatedTranslations not found for bucket id 12

This is false, since this is very clearly contained in the USD file:

            def OmniGraphNode "Source_STARTWriteAttrib_01" (
                apiSchemas = ["NodeGraphNodeAPI"]
            )
            {
                custom uint inputs:execIn
                uint inputs:execIn.connect = </mockup/Character/ActionGraph/on_stage_event_01.outputs:execOut>
                custom token inputs:name = "xformOp:rotateXYZ"
                custom rel inputs:prim = </mockup/Character/PathPoints/Source/Source_START> (
                    customData = {
                        dictionary omni = {
                            dictionary graph = {
                                string relType = "target"
                            }
                        }
                    }
                )
                custom token inputs:primPath
                custom bool inputs:usdWriteBack
                custom bool inputs:usePath
                custom token inputs:value (
                    customData = {
                        dictionary omni = {
                            dictionary graph = {
                                double3 attrValue = (0, 0, 0)
                                string resolvedType = "double[3]"
                            }
                        }
                    }
                )
                token inputs:value.connect = </mockup/Character/ActionGraph/decompose_matrix_01.outputs:rotate>
                token node:type = "omni.graph.nodes.WritePrimAttribute"
                int node:typeVersion = 2
                custom uint outputs:execOut (
                    customData = {
                        bool isExecution = 1
                    }
                )
                custom bool state:correctlySetup
                custom uint64 state:destAttrib
                custom uint64 state:destPath
                custom uint64 state:destPathToken
                uniform token ui:nodegraph:node:expansionState = "open"
                uniform float2 ui:nodegraph:node:pos = (-630.0503, -455.885)
            }


I’m pretty sure the reason it can’t find the prim is because something is wrong with the extensions related to the action graph, and so the prim type is not recognized.

Problem at startup:
[7.949s] [ext: omni.anim.graph.ui-106.5.0] startup
2025-01-23 04:36:37 [7,911ms] [Warning] [omni.graph.core._impl._registration.register_python_ogn] Python import process in omni.anim.graph.core failed - ‘NoneType’ object is not subscriptable. Aborting Python node registration

After the crash I see:
[Fatal] [carb.crashreporter-breakpad.plugin] 000: omni.anim.skeljoint.plugin.dll!+0x1dea7

Oh, it was the Fabric Delegate… Not crashing anymore.

I have a different question.

When I install something from the extensions menu, and I enable “Autoload”, where is that saved? Is there a way to make that a part of my kit app? So if I package it, it’s configured that way?

That preference is saved in your “user.config.json” file, usually stored by default in “C:\Users\USER\AppData\Local\ov\data\Kit\My USD Composer\0.1\user.config.json”

However, if you want to add an extension to your package permanently as part of your distributed application, you would need to manually add the kit extension to your kit file and include it. The preferences for Extension Manager, are just for you, whilst that json file exists. It is not really permanent to the build, until you edit the kit file itself.

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