We're pleased to announce the latest release candidates to Orchestrator, 2.0.5.rc1 and 2.1.3.rc1. Whether you're using Godot 4.2 or 4.3, we've got you covered with the latest improvements, which includes:
Improvements
-
Call static GDScript and CSharp functions now supported
In prior releases, users were unable to call a static function that was defined in a GDScript or CSharp named class script. This has been fixed, and all named classes that define static functions will now be shown under the Static > Class in the all actions dialog.
-
Navigation and interaction improvements with the All Actions Dialog.
You can now use the up/down arrow keys to navigate the list while searching in the text dialog window.
-
Dialogue message default scene is now a user-configurable setting
You can now set your own "Default Scene" for conversation dialogue nodes within Orchestrator's Settings. It can be found under Settings > Dialogue > Default Message Scene.
-
Orchestration base type is now restricted
In older releases, an Orchestration could be mixed across native type boundaries, attaching an Orchestration based on Node2D to a scene node based on Node3D. This behavior was unintended and not something that is inherently supported in other scripting languages. Orchestrator will now validate and prevent this mismatch moving forward.
-
Close all actions dialog when focus is lost
Some users requested the ability to have alternative ways to close the All Actions dialog window that allowed for better navigation flow. One of these improvements is that you can now opt-in to a feature that will close the dialog window if the dialog window looses focus by clicking elsewhere. This new setting can be found under UI > Actions Menu > Close on focus lost, and defaults to false.
-
Support type casting to abstract types
The Type Cast node has leveled up, and now allows you to select abstract class types as the casted type. This provides users the ability to cast to a wider array of types than you could before. This can have tremendous value in some class hierarchies, allowing you to cast to the abstract super type rather than one of the concrete implementations.
-
Unique scene node names supported
Unique scene node names can be a useful tool in some circumstances; however Orchestrator has traditionally used NodePaths. Now, the Get Scene Node will always prefer the unique node name if the node is marked as having a unique node name rather than the full NodePath.
-
String input pins now support suggestions
A requested feature was to have specific nodes, like Emit Signal, to provide the user with a list of signal names to limit typing and avoid human mistakes. Nodes like Emit Signal will now recommend suggestions when the string input gains focus if the target reference can be resolved.
-
Introduce Orchestrator built-in functions
Several new Orchestrator built-in functions have been added to match several built-in functions that are available in GDScript. For Orchestrator 2.1+, we've added print_debug, print_stack, and get_stack functions. For Orchestrator 2.0+, we've added type_exists and len functions. The debug-specific functions are only available on 2.1 or later due to features not introduced until Godot 4.3.
Bugs
-
Correctly render all enum function arguments as drop-down lists
Whether you're calling a custom function in GDScript or a native Godot function, all enumerations are rendered with all values in drop-downs.
-
Avoid duplicate component entries on panel refreshes
The component panel will no longer duplicate tree items when the panels are refreshed.
-
Variant function call now returns target when chained
When a function call node that operates on a Variant data type is marked as chained, the node previously would return null as the target value. This prevented users from using method chaining with calling Variant-specific functions.
-
Validation on signal names no longer fails
When an orchestration was open that emitted a signal for another node or type, validation would fail to find the signal. This required users to close the orchestration before they could run the project. Projects can now be run directly when an open orchestration that emits signals on a target object/node.
-
Variables of type Node or Resource are once again exportable
There was a small bug that prevented users from specifying that a variable of Node or Resource types could be exported. This has been fixed and you should now be able to toggle the export option on such variable types.
-
Wire colors now change when modified
When changing connection wire colors, previous builds required you to perform certain operations that triggered a redraw of connections for the color changes to apply. This is no longer necessary and connection wire colors will update immediately, just like changing node colors do.
Other changes
-
GitHub Linux builds based on Ubuntu 22.04
For linux users, we've updated the GitHub runners to build Orchestrator using Ubuntu 22.04. This may introduce some GLIBC issues if you're using a much older distribution of Linux. If you are unable to run Orchestrator on the same hardware as before, please let us know.
To jump right in and get started, you can download and install the plug-in from within Orchestrator by clicking the Update button on the Orchestrator tab within the Godot editor.
If you'd rather install the update manually, you can download the releases below:
- Godot 4.3 / Orchestrator 2.1.3.rc1 - godot-orchestrator-v2.1.3-rc1-plugin.zip
- Godot 4.2 / Orchestrator 2.0.5.rc1 - godot-orchestrator-v2.0.5-rc1-plugin.zip