LY 1.26 Feedback: Lua, Script Canvas, Editor

I love where things have been going with the engine, 1.26 was a total blast to use, SC has come a long way! I’ve categorized the feedback, node names are in quotes, if any further documentation of an item is needed just let me know.

[SCRIPT CANVAS]
GRAPH EDITOR
Dragging a named variable across a node input that creates new input fields (such as ‘Print’) creates new inputs OnHold rather than OnReleased spamming new input creation.

A collapsed group does not always place the nodes within the group after uncollapsing.

Crash upon saving function that is use in an open script.

Crash upon deleting function file that is use in an open script.

SC not saving after open for long periods, necessitating use of Save-As.

Function return value not available on exiting function, 1 tick-delay is needed after every function for the return value to be valid.

You can assign a Map key as type String and its value as Any. If you reassign the key type to something other than String (i.e. a type that doesn’t have Any as an value option), the Any key type remains and throws errors. Value-type should default to an allowable option upon reassignment of the map’s Key-type.

Calling a function in a graph that has a ‘Once’ node, required resetting the ‘Once’ if the function was to be used a second time in the graph. The second run of the function has information from the first run’s state.

NODE SPECIFIC

‘Atan2’ has angle A and angle B (as radians) as inputs and angle as output - How it actually works: angle a is x and b is y in (x,y) output is angle(in radians)*pi. Inputs shouldn’t be marked as angles, but x and y (and usually this is presented as y over x) and output shouldn’t be multiplied by pi (might check on that last one). I haven’t looked at the other trig functions.

‘Get element Matrix 3x3’ row and column inputs are swapped internally it seems. You need to request the opposite of what you want at the moment. Matrix 4x4 might be the same.

‘Math Expression’ from the docs it implements MathL. From use it implements the 4 operations and parenthesis (a subset of MathL).

‘DebugDrawSpheres’ doesn’t clear upon exiting game, while the other debug nodes do.

WANTS

That ‘Add’, ‘Subtract’ can operate on vectors element-wise, for example, V2s can be added to V3s and V4s as well as V3s adding to V4s.

V2, V3, V4 ‘Get elements’ would be more useful than the current ‘Get element’. The current implementation of ‘Set’ nodes is fine as it stands.

‘V4 Construct from 2 V2s’ and ‘V3 construct from V2 and float’ nodes.

Nested functions.
Nested arrays.
Arrays as allowable Map value.

‘Get Radius’ for Cylinder, Sphere, and Capsule shape components.

‘Math Expression’ should handle a larger subset of MathL. Including log, ln, sqrt, exp/pow, e and pi would be huge.

The ability to suppress ‘Print’ rather than disabling. Alternatively, on each node, a toggle to print output with some internally defined format. Liberal use of ‘Print’ is a must for SC development; one of these changes would speed both learning and debugging/development.

That ‘For Each’ provides index and keys for each output.

That string fields scale towards the middle of the node rather than extending the nodes length to the right. Usually there is enough real-estate space in the node to accommodate a longer-than-default variable name without making the nodes overall size larger, reducing unwanted shifting in the graph.

SC seems a little aggressive identifying infinite loops. I generally need to add delays to avoid this behavior, increasing overall runtime for a process.

A dummy node that only serves to add bends to connections. To clean up the visual routing of long-range connections.

‘For Each’ seems to run all iterations simultaneously, running the iterations in sequence is the more desired behavior. Nested iteration was the goal, but it’s not as easy as it should be with ‘for each’ firing simultaneously.

[LUA]

Some related line number issues:
Lua editor ‘comment selected block’ overwrites the correct number of lines but they are shifted up by one line, erasing the line before intended comment and leaving last line both commented and uncommented. First line of comment is deleted. Similarly, in ‘find results’ clicking each result in sequence of n brings you to n+1 lines above desired one.

Saved editor settings reset every editor session.

In ‘find and replace’ prepending anything to the text to find crashes the editor. Postpending is fine.

[EDITOR]

Pressing Numpad1 while in game gives the following error: ‘[Warning] [EquipmentMgr]: Cannot give pack ‘Player_Default’ to Actor ‘Character’. Pack not found.’ I wasn’t able to use Numpad1 on the inputbus as a result.

Game will not write to UI if UI editor with the canvas to be written to in-game is open.

Editor depopulates SC components assigned script if the level is reloaded with SC graph open.

Crash on modifying default mat while preview mini-window is enabled.

With editor on second monitor, opening a drop-down menu in the entity inspector extends menu right offscreen and extended 1+ screenlength left onto the primary monitor.

Keep up the good work!

4 Likes

Amazing feedback! Can’t wait for the next lumberyard update to see what update they have done with the communities feedback.