After using Bolt for a while, here is my wishlist for variables in graph. Could be that some of the features are already in place, but I just haven't found the correct way. Please feel free to correct me in those cases.
Background: I find it a bit tedious to create Get / Set Object variable nodes and also refactoring object variable names in Variables inspector and keeping track which variables are actually used.
1) Make "Create variables used in Graph" button in Variables inspector. That should examine graph attached and create all object variables used and delete unused variables from the inspector. Flow Canvas / Node Canvas had this. It would help for example in the cases where you copy the graph to another gameobject. You could press the button and have needed variables created automatically (sure you can copy the variables component too, but it is a bit cumbersome). Also you could check that you don't have duplicates or something else (like both CurrentSpeed and currentSpeed variable)
2) Variable name refactoring. Currently renaming a variable don't change variable names in graph. While I can understand there are cases where this is expected functionality, for me most cases I would prefer renaming variables used in graphs also.
3) Have variable palette in the Graph editor fixed in for example in the top left. Sure you can drag & drop from Variables inspector but sometimes you just want to have Graph editor full screen, especially when working on laptop. One could pick variable get or set node from that palette. This node could even use simpler node in which variable name cannot be changed later from the drop down menu / writing it in / connecting input value (I would prefer to lock down graph to prevent accidental changes) . It would show the variable name and have a one output value but if you wanted to change that you should delete it and replace it with another or use regular Get / Set Object variables which give you more flexibility.
4) Read only variables you can use as constants but not set any new value. I believe this was mentioned somewhere already considered.
5) Maybe connected to 3, I would like to have some scratch pad local variables. Variables would be limited to current object and only to current scope and those would not show/count as actual object variables. It would help in cases where you want something be stored in current scope but don't want to populate object variables with these temp variables.
6) Linking same GameObject Component variables to Object Variables. Similar to Flow / Node Canvas has. Public variable or getter / setter needed on the script side. Bolt would handle updating the variable behind the scenes.
Customer support service by UserEcho