0
Unity Bug

Panning graph while focus is in a text field can select other unit text fields

Reality.Stop() 3 years ago updated by Lazlo Bonin (Lead Developer) 3 years ago 5

Sorry for the confusing title.  When editing a graph, if you select a textbox and then use the middle mouse button, the focused textbox can change and alter the text in the new textbox.  I managed to record this, though I didn't manage to get the changed value to "stick," which I have also had happen (visual effect only ... I think, that persists even after selection has ended)


https://imgur.com/nGAA1ln


During this gif, I am ONLY panning via the middle-mouse button and mouse movements.  I start out with the float literal 100 being fed into the MousePanningSpeed Super Unit.  As I pan, you can see the active selection jumps to the literal attached to the MouseRotationSpeed, and then, later, the Variable entry area of the super unit itself.



This is in Bolt 1.2.2, in 2017.1, on Windows.

Bolt Version:
Unity Version:
Platform(s):
Scripting Backend:
.NET Version (API Compatibility Level):
Pending Review

Not sure this is fixable without major performance drops (disabling clipping in graphs), but I'll have a look to see if I can force control ID persistance when I refactor the canvas code.

Hmmm... I'm not sure why panning would change the focused control, but I have no idea how it is implemented!  *shrug*  Thanks for keeping it in mind!

Because controls outside the viewport are clipped by Bolt, meaning that the control IDs on screen change depending on where the graph is. Usually this is not a problem, but Unity uses the control ID to track the currently active text field, so that may change if the ID offsets change from a clipping difference.

Oooh, interesting!  Thanks for the explanation, I had no idea that was how it was working!

Unity Bug

I've looked into it, and unfortunately this is a Unity "bug" that cannot be fixed without disabling clipping in graphs, which isn't something I'm willing to do (the performance costs are way too high).