Visual Scripting workflow issues in Lens Studio 5
After testing Lens Studio 5 and building 5+ lenses using only Visual Scripting, I have run into a few workflow issues that slow down development and make debugging harder. Would be amazing if these can be looked into.
- Texture Array inputs for example or a SceneObject Input lose their contents after renaming
If I create a Texture Array input in the Visual Script graph, name it something like “TexArray1”, and fill the array, changing the input name later clears the array contents. Same happens with a Sceneobject input. the assigned object dissapears after a name change.
It would be much better if renaming the input kept the existing array items.
- Pasted nodes appear in random positions
When copying and pasting connected nodes in the graph, the pasted nodes often appear far away or in unexpected places.
It would be helpful if pasted nodes appeared near the mouse pointer, or directly underneath the original selection.
- Copy and paste does not always preserve connections
When copying and pasting a group of connected nodes, the pasted version often loses connections, especially when subgraphs are part of the selection.
If the subgraph was created by the user, connections inside the subgraph can also disconnect. This makes it tedious because every pasted subgraph has to be checked for missing links.
Cut and paste seems to preserve connections more reliably than copy and paste.
- Creating subgraphs from selected nodes can crash Lens Studio
If I select a group of connected nodes and right-click to create a subgraph, Lens Studio sometimes crashes.
This seems more likely when a Tap Event or similar trigger node is included in the selection. It is not always clear what causes the crash.
An error message in the log window would be helpful instead of a full crash.
- Node inputs and outputs feel too easy to disconnect by accident
Inputs and outputs feel quite sensitive. Clicking anywhere on a node body, instead of only on the node header, can sometimes start unwanted phantom connections.
There are also times where the mouse is idle over a node, and one accidental click disconnects an input or output.
This is especially frustrating because Command/Ctrl Z often does not undo the disconnection.
- Undo and redo are unreliable
Command/Ctrl Z and Ctrl Y do not always undo or redo the most recent action.
For example, undo might revert a rename, but not undo the action I just performed. This happens often when moving grouped nodes, copying and pasting, or when pasted nodes accidentally land inside a group.
In these cases, undo sometimes does nothing.
- Runtime errors are hard to trace back to the broken node
When an error appears like this:
03:09:25 TypeError: cannot read property 'getComponent' of undefined
Stack trace:
getScreenTransform@Empty Script Graph.lsscript
executionnode745@Empty Script Graph.lsscript:2978
executionnode660@Empty Script Graph.lsscript:2967
executionnode657@Empty Script Graph.lsscript:2959
It is hard to diagnose because the .lsscript file is binary, so the line numbers are not readable or easy to inspect.
It would be much easier if the node, input, or output causing the error turned red in the graph. This would make debugging more visual and help users go straight to the issue.
Sometimes the problem is as simple as a missing Scene Object connection, but it takes much longer to find than it should.
- Finally Would be good to have subgraph variables. At the moment global variables can be read in a subgraph. It would be great if variables in a subgraph are not affected by global variables.