Hi everyone,
We wanted to provide more details about our plan for Visual Scripting in 2021 and beyond, and get additional feedback from you. We would like to thank all of you for your dedication in engaging with us, and your direct and honest feedback.
We will soon create a dedicated forum for visual scripting conversations.
You can see the general outline of 2021 in this blog post:
Beyond the general excitement of bringing Bolt to all Unity users, many of you, on various forums and one on one discussions, have expressed concerns about the next steps for visual scripting in Unity 2021 and beyond for various reasons: incompatibility between Bolt 1 and 2; the role of DOTS VS; the fact that Bolt 1 is an asset and not a package. More generally, we’ve been asked how we will ensure both long term stability of this platform to secure your usage of it, while evolving it to the state of the art of visual scripting practice.
Our ultimate goal for visual scripting is to make it as universal and accessible as writing a simple script, so that it:
- Enables more creators, in particular non-programmers, to leverage Unity and achieve their goals faster.
- Improves team collaboration by giving artists more opportunities to work directly in the engine, closer to developers.
- Maximizes every Unity user’s productivity, by progressively unifying graph-based tools, regardless of the workflow (gameplay, graphics, animation…) and regardless of the architecture (Monobehaviour or DOTS).
Quick recap of recent events
We had been developing a DOTS-based visual scripting tool for some time, which would have excluded all Monobehaviour projects from using it. To accelerate delivering visual scripting to all users, we acquired Bolt, a proven solution in production. The team at Ludiq were already working on Bolt 2 which was in an alpha state. Bolt 2 was a complete rearchitecture and not compatible with Bolt 1. Bolt 2 promised better performance through code generation, and a deeper emphasis of programming concepts, among other enhancements.
We’d like to share some of the aspects we needed to navigate, as this will help provide more context for the road ahead and why plans have shifted.
- We needed a single visual scripting solution for all our users. There were 3 technologies that we needed to harmonize (Bolt 1, Bolt 2 and our internal DOTS focused solution). These were not designed to be compatible with each other.
- Bolt 2 takes visual scripting towards a more programmer-centric approach, while our ultimate goal is to simplify the platform for non-programmers.
- The Bolt 2 code generation process using CodeDOM had to be replaced by a more future-proof solution. Code generation for entire graphs also reduced our ability to support shipping non-DLC graph updates.
- The Bolt 2 architecture wasn’t providing us with the best separation of front-end and back-end needed to ensure a progressive transition toward unified UX with other graph-based tools. A good separation is also essential to providing DOTS support, in the future.
Visual scripting plan for 2021 and beyond
We won’t ship Bolt 2. We will instead integrate Bolt 1 as a core feature of Unity 2021, so we can focus on evolving this platform in the direction of unifying all our graph-based tools. This milestone includes:
- Shaping Bolt 1 as a core package that ships with Unity and progressively brand it towards Unity visual scripting.
- Work on making the Bolt user experience align with Unity Editor UX.
- Clarify and document the support, or non-support, of non-DLC graph updates, as well as visual scripting execution in editor mode. We wish to support both use cases, but there is still some on-going analysis in this area.
- Complete documentation and learning content material.
In subsequent releases, we will leverage the technical know-how acquired with Bolt 2 and Unity DOTS VS, to continue to transform Unity visual scripting in order to:
- Deliver consistent workflows and a unified user experience across visual scripting and all graph-based tools.
- Support MonoBehaviour & DOTS with high-performance, snippet-based, high-level artist nodes.
- Support auto-generated low-level API nodes to preserve the flexibility to use visual scripting for any C# exposed library.
Advantages of the updated plan
- We are delivering visual scripting iteratively, meaning delivering concrete value today, while creating the conditions to support Bolt graphs as we move forward to a unified experience for graph-based tools. This also means you can safely build on top of Bolt, with Unity 2018 LTS, 2019 LTS, and 2020, because the data and acquired expertise will be forward compatible.
- Starting with 2021, it will be safe to expect visual scripting to be available in every Unity users’ environment, simplifying production management, and tools development using visual scripting.
- Our development team will be more focused on fewer technology components, accelerating our work in unifying the UX of graph-based tools moving forward.
Thank you
We fully realize this update will be disappointing to those of you who were highly involved in the development of Bolt 2, and have been waiting for it for a long time. This was not an easy decision to make. We believe that the world is a better place with more creators in it, and delivering a unified visual scripting workflow incrementally with fewer disruptions, will help a wider number of artists and studios to be successful with Unity.
We would like to hear from you, please send us questions, comments, and feedback.
Laurent