We're just a week away from the 2.0-stable release of Orchestrator, and we're pleased to announce the last release candidate build, 2.0.rc2.
Jump to the Downloads section and give it a spin now, or continue reading to learn about the highlights and other improvements in this release.
Support for Packed-Array Types
In prior builds, there was little support for Godot's Packed-Array types, and this created problems using specific API and methods that were explicitly using these data types. In this release, we've expanded the data type support to include all packed-array types, meaning that users can freely create and use the following types safely:
- PackedByteArray
- PackedInt32Array
- PackedInt64Array
- PackedFloat32Array
- PackedFloat64Array
- PackedStringArray
- PackedVector2Array
- PackedVector3Array
- PackedColorArray
More workspace - Toggleable Component View
We've heard feedback from the community that some users who work on smaller screens would like to have the ability to maximize the screen real estate available for work. With this new release, users can now collapse the component panel view using the shortcut Ctrl + /. This now allows users to collapse both side panels, where the file list panel can be collapsed using Ctrl + \.
More Local Variables
While most basic Variant types were represented as "Local Variable" options when working within a function graph, it was identified that there were no such mappings for Object and Any. This release includes two additional local variable node types to store any value using Any or any object using the Object type.
Improved Linux support
We found it pretty common for users to use Godot on operating system versions that were still based on a slightly older version of GLIBC. Upgrading GLIBC is not easy for the layperson, so we've decided to build Orchestrator based on GLIBC 2.31. This should help users on Ubuntu 20 and other distributions that are based on that same GLIBC version run Orchestrator more easily without needing to update their system to the latest OS version or attempt a GLIBC version upgrade.
Scene tree icons no longer change on script attachment
We heard feedback from the community that it was unexpected that a node in the scene tree would have its icon change to the Orchestrator logo when an orchestration was attached. We fully agree and understand that can make working with the scene tree difficult, as the icon is often the basis for knowing what the node type is. With this release, the scene tree icons no longer change when orchestrations are attached.
Distribution includes import icons
Users had reported that Orchestrator's first start-up would not load the icons that shipped with the plug-in. Godot works internally by loading the plug-in before the icons and adding the main tab at the top without an icon. This release ships the .import files with the distribution, which should address this problem for new projects.
Updated comment node visuals
In the first release candidate, we updated the node visuals; however, there were some underlying problems with how those new visuals were applied to the Comment node, including some regressions with the Godot inspector. This release addresses all those problems, aligning the node's visuals with other node types and fixing regressions by changing the background color.
Customize All Actions dialog open behavior
We understand that each developer interacts with tooling in different ways and that certain behaviors are more appealing or satisfy a specific style better than others for individuals. The "All Actions" dialog window can now be customized to open with a slightly different behavior by centering its position at the mouse cursor rather than the mouse representing the top-left position.
To customize this behavior, go to Project Settings > Orchestrator > UI and toggle this option:
When this option is ON, the "All Actions" dialog will attempt to open wth the center of the dialog at the mouse cursor. When this option is OFF, the old behavior will be used and the dialog will be opened with its top-left position at the mouse cursor.
By default, this new behavior is enabled.
Improved default-value entry behavior
In prior builds, when entering default values into numeric and text-based fields, using the ENTER key did not drop the focus on the field, which was unexpected for some users. From now on, the ENTER key will drop focus on the input field except for multi-line text fields, which are used for Dialogue and Dialogue Choice nodes.
NOTE: This behavior only applies to the input fields on the visual script graph nodes and not to the Godot Inspector input widgets, which the Godot Editor controls directly.
Variadic function arguments supported
In programming, some functions accept what are called variadic arguments, meaning that the function's signature is not finite and instead allows specifying a variable number of arguments. A great example of this type of function in GDScript would be the call function, shown here:
The ... argument implies a variable number of arguments.
These specific functions were not adequately supported in Orchestrator but with 2.0.rc2, we've improved the function recognition logic to detect and support variadic arguments in the visual script nodes.
As shown below, a new + button exists in the bottom right corner of function nodes that accept a variable number of arguments. By clicking this button, a new Any input port will be added to the node, allowing the user to define as many input arguments that are necessary.
To remove one of the variable input arguments, right-click on the name of the argument, and select the "Remove pin" option to remove the input argument, as shown here:
Improved inputs for Enum and BitField arguments
Another significant improvement for function call nodes is the rendering of Enum and BitField input arguments, making specifying these values much more user-friendly.
For those who may not have used a function call with these argument types, these arguments were rendered as a numeric input field, requiring the user to know what the constant or bitmask was. This wasn't an ideal choice, given that one of our goals is to help newcomers to Godot get started.
As shown on the left, this is the new rendering of Enum arguments. The user will be presented with a list of valid values for the enumeration argument, allowing for quick selection of a value using descriptive text.
As shown on the right, this is the new rendering of BitField arguments. The user will be presented with a pop-up where they can select as many mask values as needed.
Node type propagation
Several node types, such as Preload and Instantiate Scene, were not properly propagating their type when dragging from the output pin, so the "All Actions" dialog did not provide context-sensitive options. This has been fixed, and we ask that users report any other nodes behaving this way as a bug (🐛).
Signal connections indicator & dialog
One exciting feature we've incorporated into Orchestrator is something that GDScript has had for some time: the ability to identify which functions are signal slots, functions that are called when a specific signal is raised. A simple GDScript example is shown here:
In orchestrator, this same indicator and behavior is managed in the right component panel view for graphs, as shown here:
By clicking on the green arrow icon, the plug-in will display a similar connections dialog that describes the source node, signal, and the mapping to the target object or function, shown here:
NOTE: If you change the scene that is currently open in the editor to a scene that the signal is not associated with, the green arrow icon will be hidden and will only be drawn if the current edited scene is the one that has the connection's signal slot callback.
Shading of non-selected script nodes
When selecting nodes in Orchestrator, users can opt-in to a feature where non-selected nodes will be shaded and less visible. This feature can be enabled by navigating to Project Settings > Orchestrator > UI and enabling the following feature:
When enabled, un-selected nodes will have their opacity halved, shown here:
As shown, the Instantiate Scene node is selected, and the Call Deg To Rad function call node and Spawn Mob function entry node are less visible. This can allow users to navigate busy graphs better to know what nodes are connected to others. When no node is selected, all nodes will have their normal opacity.
Bug fixes
In addition to the new changes highlighted above, there were several bug fixes, which include:
- Correctly escape modulus title text
- Function Call Target pin no longer eligible for auto wiring
- Do not cache instantiated scene node instance
- Reduce the amount of title text in call function nodes
- Reworked about dialog
Changes
There were 27 changes for this release. In the project's change log, you can review all changes in this release.
This release is built from commit 0d3502e.