Bolt 2: First Look

C# Generation, Classes and more...

We've come a long way since the release of Bolt 1, in the summer of 2017. In a little over a year, thousands of creators started using Bolt's visual scripting in Unity to build their dream project.

Thanks to the constructive feedback of our amazing community, we already issued 4 major feature updates including Live Editing, fixed over 400 bugs, increased core performance by up to 3x in some areas, published 4 professional tutorials, 5 example projects and a brand new Learn hub.

But most importantly, we've reviewed over 200 feature requests. If we have not yet implemented what you proposed, rest assured it did not fall on deaf ears. Quite to the contrary: we carefully considered every suggestion and pushed it as far as we can think of.

Bolt 2 will be the result of this long process. With a strong attention to detail and design, we see it as a tremendous opportunity to rethink every aspect of Bolt and pave the way forward.

Whether you’re a veteran or a newcomer, we’re glad to have you on board for this major overhaul.

Without further ado, here's a first look at what's coming to Bolt 2.


Redesigned from the ground up.

Realtime C# Generation

Did you ever wish you didn't have to choose between workflow and performance? Well, so do we. With Bolt 2, you'll get the ease of use of visual scripting, with the performance of C++ code. Talk about best of both worlds!

Every graph you create in Bolt will be automatically converted to human-readable C# code for maximum performance. Then, thanks to Unity's IL2CPP, this C# code will be converted to C++, reaching native speed on any target platform.

The performance gains are massive, for example with a typical method call:

ReflectionBolt 1 AOTBolt 1 JITBolt 2 C#
1026 ms299 ms286 ms31 ms

But C# script generation brings more than performance improvements. It's a tremendous learning tool for anyone willing to acquire coding skills. The Script Preview panel will show a realtime side-by-side view of your graphs and the equivalent human-readable C# code. Here's a look at an early version:

The code literally writes itself as you drop in nodes and make connections. In the final version, the corresponding code of any selected node gets highlighted in the script.

We want students, teachers and professionals to be able to use Bolt to learn not only programming concepts, but also the actual C# syntax, a leading language in the industry. To bridge the gap between visual and traditional scripting, we will be preparing a full syllabus for learning the fundamentals of C# in Bolt, in collaboration with professional educators.

Classes

Bolt 2 will introduce Classes, an object-oriented way of grouping graphs, variables and events.

Classes in Bolt are not limited to functions: you'll be able to attach as many graphs as you want to them, flow or state, and even refer to those from other graphs.

We gathered the community feedback about our existing variable system and we are fixing every pain point in the workflow. Class variables will be strongly-typed, strongly-referenced, easy to rename, and directly inspectable from the class component on your game object.

... and 20+ new features

Bolt 2 will pack too many new features to list them all in this blog post, including:

  • Vertical Flow
  • Compact Units
  • Port Proxies
  • Tweening
  • Delegates
  • C# Events
  • Advanced Coroutines
  • Chunking
  • Generics
  • Port Promotion
  • Overloading
  • ... and more!

You can read everything about our plans for Bolt 2 in our public design document on Notion. In order to keep development as transparent as possible, we are also making our internal roadmap and tutorial planning public so you can track our weekly progress.

Alphas & Upgrade

For those who already have Bolt, fret not! Bolt 2 will be a free update. Though it's worth mentioning that Bolt will probably receive a price hike once we release the final version of 2.0. So for those looking to save a buck, we'd recommend jumping on board now.

Finally, we'd like to mention that while we will continue to support 1.4 with bug fixes, it will not receive any new feature updates as our full attention is directed on 2.0.

We plan on releasing frequent alpha versions of Bolt 2 in order to receive your feedback. Each alpha will add new features towards our final featureset. The first alpha will include C# generation and should land in the next few days! Alpha versions will be made available on our Download page. To download them, you'll need to link your Bolt asset store invoice number in your Ludiq Account panel.

Again, we want to thank our incredible community for joining us on this journey. We will keep you in the loop with a transparent development process and frequent activity updates. If you haven't already, now is a good time to join our Discord server, especially the new #bolt-2 channel!

More from the blog...