Omnigraph Nodes' autogenerated files are not being re-generated

Hi! I’ve realized that all the autogenerated files that come from the .ogn files of nodes do not get regenerated when this file gets modified.
For example, if I grab my node and attempt to change an input type, neither the Database, nor the node’s usd template, the README, nothing.
For now, it seems the only way of solving this is re-creating the whole node from scratch, and then dropping back the code I’ve already written. Is it really the only option? I’m pretty sure Isaac used to automatically re-generate the files in older versions, so I’m not sure this is a feature request but instead a bug report.

Adding a video here to showcase the issue (I swear I didn’t record it at that speed, I’m not that fast with the mouse).
In the video you can see a node I just created using the Node Description Editor, it has one input and one output. Once the node is created, if I modify the .ogn, the database won’t change, nor the actual node in the UI (and I’ve tested with code as well, and the change doesn’t get reflected). If I disable the extension, delete the database (the Python ‘binding’), and enable it again, it won’t be regenerated. If I then disable the extension again, remove all the __pycache__ (now even the one that contains the database.so and enable the extension again, the .sos get generated again, tho the database won’t, and the fields remain unmodified.
I’ve been able to replicate this in different setups so unless the workflow changed (I’m pretty sure I used to modify the .ogn manually and the database would re-generate accordingly a couple of versions ago), this seems to be a bug.

Please, let me know if more evidence is needed, tho I think the video shows (maybe a little faster than it should) exactly what’s going on.

Hi! Is there any news on this?

Hi! Is there any way of solving this issue?

@christianbarcelo does this still repro if you update to Isaac Sim 4.0.0?

Will follow up on this with the omni graph team in the meantime.

Hi @Hammad_M !

Yes, can still be reproduced on 4.0.0.
If you grab an extension of your own and modify the .ogn (either add a new input/output/state, or modify one) the Databases are not re-generated, so when you try to use the nodes again they won’t show the changes.
Also, if you remove the <NodeName>Database.py, it won’t be autogenerated again.

Not only that, but if you try to open an already generated node using the Node Description Toolkit, it will simply create the node again in the default folder, it does not matter what folder you set the extension to change is in, it will create a new one and won’t care about the folder you set.

hi @christianbarcelo I had the exact same issue after upgrading to 2023.1+. The problem is not that the files are not generated, they are in fact generated but are being put into a different folder than before. The generated *Database.py files now go into /home/<username>/.cache/ov/<version>/<nodename-version>/<nodename/ogn

and when you want to import the files you must now include the ogn folder eg.:

from omni.sdu.ur.ogn.OgnMoveJNodeDatabase import OgnMoveJNodeDatabase

The node generation step is all being done in the background now. It works the same way with the 4.0.0 release.

Thanks for the info @anpl !

Still it’s a bug, it makes no sense there’s a cached version of the user dev nodes Databases in a place hidden from the user. I assume it has something to do with my comment above where I said the Node Description Toolkit does not care at all about the folder you’re requesting to edit.

In my case, I create an extension for each node. I have some problem with creating multiple nodes in one extension. The problem is there is no _Database.py generated.

Anyway, If I change the .ogn file then the changes will be updated. So maybe make sure that “Edit .ogn” and “Edit Node” point to the right files is the soludion?.

If you confirm that you named your .ogn file and changes the associated file, then I have no idea.

Hi! Back around because I wanted to test this bug on 4.1.0 (and actually have to create some C++ extensions) and realized the Node Description Editor is not part of Isaac Sim (or at least I cannot find it).
Also the repository that used to work as template to create extensions (this) does not build anymore (at least not on Ubuntu)

@Hammad_M do you think you can give me hand with this?

Hi! This has been tested on the latest version (4.2.0) and it’s not working as expected. As mentioned, Node Toolkit Editor was removed, so there are no easy ways for users to generate new nodes, and even if you copy/paste some other node and try to edit it, Isaac won’t regenerate the Databases so it would turn unusable. Taking into account Omniverse showcases the Omnigraph as an important piece of the stack, I’d say this is a big bug.