![](https://cdn.vahera.cloud/utG8NiO3oN8sfXvI2ZZ0zg/20bdd53e-9a27-4326-1b11-65fe443e0400/public)
Late last year, we began the major overhaul of Orchestrator, the ultimate visual scripting plug-in for Godot 4.2. This major release includes the transition from GDScript to GDExtension, where the scripting engine runs in C++ for performance and more seamlessly integrates with Godot and the editor.
We released the first developer preview of Orchestrator earlier this year, and we've had four additional pre-release builds in the past three months. All this work includes nearly 200 contributions for this release, and we cannot thank each contributor enough for their dedication and generosity to the project. Additionally, we cannot forget everyone who reported issues during the release cycle, helping ensure that users get the chance to have the best experience with Orchestrator possible. To each of you, Thank You!
This overhaul is extensive, including tons of new features never available in Orchestrator version 1, making Orchestrator 2 a significantly more polished and stable tool for Godot developers. While this release scratches the surface, and we have plenty more planned in the coming weeks, let's take a moment and dive into the highlights.
Please read on to learn about the new features in Orchestrator 2, or click the links below to download the plug-in from GitHub directly. The plug-in has also been updated on the Godot Asset Library and should be available soon.
🔽 Downloads
Download the Orchestrator 2.0.stable plug-in.
We also have demos available that can be downloaded based on your platform:
💠 Giving back
As a community project, Orchestrator is maintained by the efforts of volunteers. Thanks to donations, we can continue the development of this fantastic tool and provide the attention this project needs to make every Godot developer's experience epic.
Please consider supporting the project financially with a recurring monthly donation if possible. Orchestrator continues to grow monthly, adding new features and extending value without bounds. We remain committed to bringing each of you reliable and feature-rich releases as often as possible. Recurring donations ensure that the project remains sustainable and that its development can be planned for the years ahead.
🌟 Highlights
In the sections below, we will cover the most impactful changes with Orchestrator 2. You can refer to our change log, if you want a complete list of the changes.
Orchestrations are Godot Scripts
If you are coming from Orchestrator 1, the first significant change you'll notice is the seamless integration with the Godot scene tree. Orchestrations are now visual GDScript scripts that can be attached to scene nodes just like you would attach text-based GDScript files or C# behaviors.
Godot Signal Support
Another new change with Orchestrator 2 is the native support for Godot signals. Scripts can now register signals that other parts of the scene tree can connect with and react to when an Orchestration emits those signals. In addition, scripts can also connect and listen to signals from other scene tree nodes and objects, allowing for seamless integration using the Godot signaling subsystem.
Maximize Workspace Real Estate
A visual-script implementation often requires more real estate to convey the same that you may have in a line of text-based code, so it's equally important that users can capitalize on their screen real estate as much as possible.
The file list and component panels can be collapsed using the Ctrl+\
and Ctrl+/
shortcuts or the File
menu in the Orchestrator tab to toggle the two panels. In addition, Orchestrator also supports the floating window feature that users may be familiar with in the Script
tab by clicking the pop-up icon in the top right of the main view.
The new pop-out window feature easily enables dual monitor workflows, where you may have your 2D or 3D scene open on one and your visual script on the other.
Bulk Operations
Orchestrator 2 also introduces the ability to perform bulk copy, paste, cut, and delete operations. This can be pretty useful when refactoring code, moving a set of nodes from one graph to another. We have additional plans to include the ability to collapse and expand selections of nodes into/from functions and graphs in a future update, all to help improve the workflow and efficiency of working with visual scripts.
Performance
The team has put much time into the underlying engine's performance, ensuring that Orchestrations run as optimally as possible. We even published a DevTalk about the performance comparisons between Orchestrator and GDScript.
We are happy to report that Orchestrator runs as fast as GDScript, within a 1% margin of error. 🎉
Action Favorites
It's not uncommon to reuse several node types repeatedly in your workflow. Orchestrator allows selecting the ⭐️ icon next to any All Actions
dialog choice, creating your personalized list of favorites that will be shown at the top of the dialog window. The list of Favorites is managed per Godot project, allowing for tailoring specific favorites based on particular project needs.
Improved Node Visuals
While testing Godot 4.3, the team uncovered some new visual style improvements that will debut as part of the Godot editor's visual shader system. We felt that these visual styles looked significantly better than our current styles, so we have backported those to our implementation for Godot 4.2. You can see a screenshot of the old and new styles below.
Old | New |
![](https://forums.vahera.com/assets/files/2024-03-10/1710103991-134743-image.png) | ![](https://forums.vahera.com/assets/files/2024-03-10/1710103920-958804-image.png) |
Improved File List
Orchestrator 2 also uses a significantly less verbose file naming scheme to improve the orchestration file list. If a specific orchestration's base filename (the part that comes before the .os
) is unique in the list, then only the file name will be shown. This drastically reduces the real estate required and allows users to use that real estate as part of the graph canvas area.
Here's a before and after rendering of the changes:
Before | After |
![](https://forums.vahera.com/assets/files/2024-03-10/1710104635-250240-image.png) | ![](https://forums.vahera.com/assets/files/2024-03-10/1710104688-780952-image.png) |
Thousands of nodes based on dozens of node types
Orchestrator 1 consisted of several finite node types with limited functionality. Orchestrator 2 takes an entirely different stance and exposes nearly 100% of GDScript in a visual scripting way. This required introducing a wide array of nodes to support thousands of combinations available in the GDScript language.
There are node types to support flow control, logic, scene-related actions, data and resource needs, and more. We are also still evaluating the support for things such as FileAccess
, MultiplayerAPI
, and PacketPeer
to name a few. We will also be adding RPC-support in a future build to complement the already wide array of node features that exist.
Autoload Support
It's not uncommon for games to use an Autoload to manage global state of some kind. Therefore, Orchestrator must be able to integrate with the autoload system easily. The new Autoload
node allows users to select from a list of defined autoloads easily in the project and access variables and methods from within the script.
Known issues
With every release, we acknowledge that there will be problems we couldn't resolve in time. Some issues have been identified, fixes are being worked on, while others may remain unknown.
You can check the list of GitHub issues to learn if the problem that you are experiencing has been reported. We appreciate new reports and confirmations of existing issues, as they help us prioritize tasks based on user needs.
What's next?
The team has already started work on Orchestrator 2.1, based on Godot 4.3. This next minor release will come out in early summer, and will feature a myriad of new features many of you have asked for. Please stay tuned as we'll have an upcoming blog post in the coming days outlining our roadmap forward to Orchestrator 2.1 and what users of Orchestrator 2.0 can expect over the next 3-month journey.
Until then, enjoy!