Conflict with Behaviour Script and Script Node in Omniverse Create

Hi all,

me and my colleagues @matteo.colombo @giustino.esposito are facing some problems using python script nodes and python behaviour scripts in the same stage in version 2022.3.3 of Create and version 2022.3.1 of Code. In details when we open the usd file it appears the warning popup only for one of the two components, this allows us to enable just one of them and not both.

Python_Scripts+Behaviour_example.zip (123.5 KB)

Here we’ve attached a folder containing an example scene you can open to replicate our problem.

Let me explain in detail how the scene is composed and which are the issues

In the stage you can find a Cube and a Cone.

The python behaviour script is defined on the Cube. When the play button is pressed the Cube should move on the X axis.

Instead, the python script node acts on the Cone. After the play button has been pressed, pressing the A key on the keyboard will move the Cone on the X axis.

If only the PYTHON SCRIPTING COMPONENT extension is active, as expected, after opening the usd file and pressing ‘Yes’ on the pop-up, only the cube will move.

At the same way, if only the SCRIPT NODE extension is active, after opening the usd file and pressing ‘Yes’ on the pop-up, only the cone will move.

As anticipated, the problems come when both the extensions are active.

On Create 2022.3.3 no pop-up is shown and the scene blocks.

On Code 2022.3.1, at first it appears the pop-up for the script node but it is impossible to click on it, then it appears the pop-up for the Python scripting component, it is possible to click on ‘Yes’ and only the Cube can be moved in the scene.

Any advice for that? How can we fix this problem?

1 Like

Thanks @gabriele.greco. I wasn’t able to repro the PSC affecting the Cone, but I did notice the issue with the popups to allow both PSC and ScriptNode to execute. I’ve created this issue for that: OM-91126. As a possible workaround, you could try using this snippet to programmatically allow the ScriptNode to execute:

import carb
settings_i = carb.settings.acquire_settings_interface()
settings_i.set_bool("/app/omni.graph.scriptnode/opt_in", True)
2 Likes

Thanks a lot @mati-nvidia !
We tested the workaround you adviced and it worked. Much appreciated!

1 Like

Excellent! Glad the workaround unblocks you and hopefully we can get the fix out soon.

1 Like

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