With Orchestrator 2.0-stable released, you may be curious about what lies ahead. We're here to answer that question and more, discussing what you can expect in the coming Q2 of 2024.
Features
Release timeline
Moving forward, we expect minor or major releases to occur quarterly. We believe this cadence aligns well with the upstream Godot community and provides a solid timeframe for the engineers and contributors working on Orchestrator to add impactful and meaningful changes to a build.
You can expect several pre-release builds of Orchestrator 2.1 throughout Q2, much like you saw preview builds of Orchestrator 2.0 this past quarter. In addition, we'll occasionally be backporting bug fixes and improvements to Orchestrator 2.0 so that users actively using the stable release can get these enhancements.
Godot 4.3 support
We expect Godot 4.3 to be released stable in the next few weeks. This engine release has a number of new features and improvements that we're eager to take advantage of as part of Orchestrator. However, we believe it's vital that we align with Godot's upstream versions in a way that works for engineers and designers who are working on projects that can't necessarily upgrade to the latest Godot build.
The Orchestrator 2.0 release stream will continue to be based on Godot 4.2. We do not intend to require users to use Godot 4.3 on this release stream. With the Orchestrator 2.1 release stream, we will move that baseline to Godot 4.3, allowing users to pick which version of Orchestrator best fits their environment.
Undo/Redo support
One highly requested feature has been undo/redo support, allowing users to press Ctrl+Z to undo and Ctrl+Y to redo given operations from within the editor, such as reversing the deletion of nodes in a graph. The Godot Editor already has this support, and the plug-in code needs to tap into that system. This will be a substantial undertaking but will most definitely be worth the investment for the user experience.
Given that this change doesn't really have any impact on Godot versions, we're committed to bringing this feature to Orchestrator 2.1 and Orchestrator 2.0 users.
Macro Libraries
One of the first significant new features we intend to bring to the 2.1 release stream will be Macro Libraries. A macro library is a reusable set of graphs that can be used by any Orchestration in your game project, much like how an Autoload can be referenced and used by other components in your Godot project.
We intend to add macro libraries in a backward-compatible way, allowing us to bring the feature to users of Orchestrator 2.0.x builds later in the quarter.
Function Libraries
Function Libraries is the next prominent feature coming to the Orchestrator 2.1 release stream. These will build on the macro library concept and could be delivered in quick succession to macro libraries. These will provide reusable functions that can be shared across Orchestrations, again similar to Autoloads or static system functions.
These will also be added in a backward-compatible way, allowing us to bring the feature to users who remain on the Orchestrator 2.0.x builds later in the quarter.
Editor Debugger Support
Godot 4.3 introduces changes to provide access to the editor debugging system via GDExtension. We intend to utilize this and introduce the ability to set Breakpoints and to step through a Visual Script node-by-node, much as you may do with GDScript or other languages.
Collapsing/Expanding groups of nodes
Other engines, like Unreal, support collapsing and expanding node graphs. These actions are often used to organize graphs into more readable components, and we think Orchestrator should have this. We are committed to adding this as part of Orchestrator 2.1 with the hope that it can be backported to Orchestrator 2.0 users.
State Graphs
Another prominent feature of Orchestrator 2.1 is state graphs. A state graph is a different type of visual organization technique, often used to design game logic around the idea of a Finite State Machine. There is an excellent write-up already on GitHub, and I suggest checking it out if you're interested in what this may look like.
Connection knots
One of the more common responses users have with Visual Scripting tools is that the connections between nodes can become very hard to read. With some functionality introduced in Godot 4.3, we intend to solve this by adding the ability to set connection knots in the graph. These knots will allow the designer to control explicitly how connections are drawn on the graph to avoid overlaps and be easier to read.
Networking, FileAccess, and more nodes...
The community has expressed interest for support for networking, file access, and others. We are committed to this effort, but we want to do this right at the outset. We believe that Macro and Function libraries are fundamental here for these, so these will be added as part of Orchestrator 2.1 and 2.0; however, they'll be interested after Macro and Function libraries have been added.
Conclusion
This is a quick list of the high-level topics we will cover over the next three months. It's a pretty ambitious list, but many of these features are vital to Orchestrator's continued success. If you have any suggestions or ideas, don't hesitate to get in touch with us on Discord.
NOTE: This list is not exhaustive and subject to change. These are the goals that the team has put forth in Q2 and what we'd like to accomplish; however, there may be blockers beyond our control that could impact the delivery of one or more features.