Bolt v.2.0.0a3
Alpha
2018-12-21

Thank you for helping us test Bolt 2!

Alphas are frequent unstable preview releases. Each alpha will add new features towards the final featureset of Bolt 2. You can learn more about Bolt 2 in our Blog Post, our Design Document or our Roadmap.

Do not use Bolt 2 alphas in production projects.
These releases are unstable, untested, and prone to multiple breaking changes in the future.

Alpha 3 is compatible with Bolt 1 projects!
Legacy macros, machines and variables will display as missing. To fix them:

  1. Run Tools > Ludiq > Fix Missing Scripts...
  2. Restart Unity (important!)

DO NOT import your production Bolt 1 project. Always test on a copy.


What's new in Alpha 3

Tweening

It's happening. Thanks to built-in integration with Demigiant's industry-standard DOTween library, you can now tween any field or property in Bolt. That's right: everything is tweenable out of the box, from the entire Unity codebase to third-party plugins and even your custom scripts.

Tweening a property is as easy as setting it. Simply look for "Tween (Something)", like Tween Position, for example. The tween unit will allow you to specify the target value, the duration and the easing. Tweens have two control outputs: Exit, triggered right after you start the tween, and On Complete, triggered when the value reaches the target you specified.

You can also enable the Advanced mode on any unit to access the full configuration options of a tween (like looping, update type, etc.) and a lot more callbacks (like On Pause, On Rewind, etc).

Last but not least, the tween unit returns its created Tween object as an output, so you can easily access the full DOTween API.

2018 12 21 19 03 33
Everything is tweenable!
Unity 2018 12 21 19 06 31
A basic tween of a light color to red.
Unity 2018 12 21 19 09 36
The full configuration options of the advanced mode.

Collapse Tool

Creating Super Nodes just got a lot easier. With the new Collapse Tool, you can convert your selection to a nested graph in one click.

You can open the collapse dialog by:

  • The toolbar (first button on the left)
  • The context menu
  • Ctrl+G or Cmd+G on Mac

The dialog gives you two options: collapsing to an Embed or to a Macro.

  • Collapse to Embed: Creates a super node inline, useful for saving space in your bigger manager graphs.
  • Collapse to Macro: Creates the super node as a macro asset, allowing you to reuse the graph in multiple places.

Bolt will intelligently create inputs and outputs for you based on what ports were connected to elements outside the collapsed graph. Then, for additional ports, simply use the drag & drop promotion to create them.

If you collapse a group, its title and comment will automatically be used for the nested graph.


Smarter Fuzzy Finder

The fuzzy finder got a lot smarter at figuring what you might want to create next. We redesigned the workflow to minimize the number of clicks and typing you have to do until you find the option you want. Concretely, this means:

  • Types on the current game object are now displayed directly at the root
  • Literals and constructors of the matching type are showed first, at the root
  • Math and logic operators are shown right below
  • Every compatible property on any component of the current game object is included
  • Static initializers for that type (like Identity for Quaternion) are displayed last

Here's how it looks in action. Here, we're trying to set the current position of the object to that of another object named Target. We do this in less than 7 clicks without even having to use the search at all!


Redesigned Graph Toolbar

The graph toolbar underwent a pretty big makeover.

Each action is now shown as an icon, similar to Unity's play mode commands.


Graph Sharing

We're bringing two major new ways of sharing your graphs: Clips and the Share Tool.

Clips little bits of magic text that get copied to your clipboard whenever you copy something in a Bolt graph. They can be pasted back in the graph window to recreate the original nodes they copied. Since it's just text, it can easily be pasted anywhere on the internet, for example in forums, on GitHub Gists or on Pastebin.

The Share Tool is a new one-click button in the Toolbar that makes it easy to distribute your graphs online. When you click it, Bolt will:

  1. Create a HD screenshot of your graph or selection at full resolution (goodbye, zoomed out screenshots!)
  2. Create a Clip of your graph or selection
  3. Upload the clip to a new Gist on GitHub
  4. Upload the screenshot to imgur
  5. Add the link to your clip in the imgur post description
  6. Copy the link to the imgur post in your clipboard

Here's how a shared section of the Roll-a-ball tutorial looks: https://imgur.com/lb2QkWw

Unity 2018 12 21 19 37 41
The sharing button in the new toolbar.

Fuzzy Breadcrumbs & Search

The fuzzy window now shows breadcrumbs for each level of navigation, allowing for easier backtracking.

More importantly, you can now search from within a single category instead of searching the whole tree. This makes looking for members on a single type very easy, for example.


Node Popups

We're claiming back the space that the graph inspector window takes in your layout. To replace it, we're introducing two new types of popups on nodes:

  • Warnings: When hovering any node with warnings on errors, they will be displayed inline right below.
  • Inspect: By choosing Inspect... from the context menu or hitting Q on your keyboard, the graph inspector popup for the currently hovered node will show up inline. This is the full featured inspector, allowing you not only to read the documentation about the ports, but also change any configuration option like inputs and outputs.

Fixes & Improvements

Most bugs reported in Alpha 2 were fixed.

A bunch of smaller workflow improvements also made their way in Alpha 2. For example:

  • String literals now support multiple lines
  • You can now type literals like numbers, strings and booleans directly in the fuzzy finder to create them
  • Unit port definitions now have options for Allows Null, Default to Self and Primary
  • Resizing now works while zoomed out
  • Documentation generation and unit comparison can now be configured in the new Extractor options panel

See the changelog below for the full list of changes!


How to install

Bolt 2 requires Unity 2018.3 or above with the .NET 4.x API Compatibility Level.

  1. Download Unity 2018.3
  2. Create a new project
  3. Open Edit > Project Settings...
  4. Select the Player tab, scroll down to Configuration
  5. Set Scripting Runtime Version to .NET 4.x Equivalent
  6. Set Api Compatibility Level to .NET 4.x
  7. Download and import Bolt
  8. Restart Unity (Important)
  9. Follow the Setup Wizard
  10. Open the Bolt windows under Window > Bolt

If you get errors and missing textures like these, you forgot to restart Unity at step 8.


How to update

If you already have a Bolt 2 Alpha installed:

  1. Overwrite the files with the new package
  2. Open the extractor (Tools > Bolt > Extractor...)
  3. Click Reset to include new default types like Tween
  4. Run a Full Extract

How to report bugs

You can report bugs for Bolt 2 alphas in the Forum as usual.

Make sure your bug report has:

  • The Bolt 2 tag checked (important!)
  • Bolt, Unity and .NET versions indicated
  • Stack trace of the error, if any.
    For realtime C# preview, click the message to log the stack trace to the console.
  • Reproduction steps or graph screenshots, if applicable.

Changelog

Bolt Flow
Added
Tweening (powered by DOTween)
Bolt Flow
Added
Smart Contextual Options
Bolt Flow
Added
Strongly-Typed Operators
Bolt Flow
Added
Bitwise Operators
Bolt Flow
Added
Literal Creation from the fuzzy finder
Bolt Flow
Added
Unit port definition options for Allows Null, Null Means Self and Primary
Bolt Flow
Added
C#-like copy-by-value semantics for value types
Bolt Flow
Added
Default true value for Branch condition
Bolt Flow
Added
Nested graph inspector to super unit inspector
Bolt Flow
Added
Double-click Graph Input or Output to go to parent graph
Bolt Flow
Added
Port to Super Unit promotion
Bolt Flow
Changed
Hide Get verb label on unit titles for compactness
Bolt Flow
Removed
Obsoleted all previous operator units
Bolt Flow
Fixed
Port proxy carry behaviour #2497
Bolt Flow
Fixed
MSBuild path detection #2491
Bolt State
Added
State Re-Entry Option
Bolt State
Changed
Any State exit behaviour to be recursive
Ludiq Graphs
Added
Graph Sharing
Ludiq Graphs
Added
Node Collapsing
Ludiq Graphs
Added
Redesigned Toolbar
Ludiq Graphs
Added
Graph Inspector Popup
Ludiq Graphs
Added
Warnings display on hover
Ludiq Graphs
Fixed
Support for resizing graph elements while zoomed out
Ludiq Graphs
Changed
C# Preview font to improve type-hinting
Ludiq Core
Added
Breadcrumbs to fuzzy window
Ludiq Core
Added
Category search in fuzzy window
Ludiq Core
Added
Script reference resolution for all Bolt 1 scripts
Ludiq Core
Added
Options panel to Extractor
Ludiq Core
Added
Nested types inclusion for hierarchical type extraction
Ludiq Core
Added
Nested type icons now use fallback to their parent type
Ludiq Core
Changed
Merged AOT Pre-Build in Generation process
Ludiq Core
Optimized
General search and option fetching speed
Ludiq Core
Fixed
Fuzzy Finder rendering glitches

Bolt v.2.0.0a2 Changelog

Bolt Flow
Added
Vertical Flow
Bolt Flow
Added
Compact Units
Bolt Flow
Added
Port Proxies
Bolt Flow
Added
Breakpoints
Bolt Flow
Added
Smart Carry
Bolt Flow
Added
Drag Port to Input / Output
Bolt Flow
Added
C# Preview for Super Units
Bolt Flow
Added
Default Flow Macro Presets
Bolt Flow
Added
Keyboard shortcut to reveal Proxies and Relations (Alt)
Bolt Flow
Added
Double-click Graph Input or Output to go to parent graph
Bolt Flow
Fixed
Implicitly typed variables in generated C# for input events #2415
Bolt Flow
Fixed
Various formatting issues in generated C# #2419
Bolt Flow
Fixed
Generated C# wrapping not updating when resizing preview window
Bolt Flow
Fixed
Added a time-out recovery code for C# preview generation #2413
Bolt Flow
Fixed
Error in generated C# for Once unit #2422
Ludiq Graphs
Added
Snapping
Ludiq Graphs
Added
Group Comments
Ludiq Graphs
Fixed
Graph scripts folder not getting created automatically
Ludiq Graphs
Changed
Focus keyboard shortcut from Home to F
Ludiq Graphs
Removed
Snap to Grid

Bolt v.2.0.0a1 Changelog

Bolt Core
Added
C# Script Generation for Flow and State Graphs
Bolt Core
Added
Realtime C# Preview Window (Window > Bolt > C# Preview)
Bolt Core
Added
Runtimes: Live, Generated, Hybrid
Bolt Core
Added
Workflow Toolbar (Window > Bolt > Toolbar)
Bolt Core
Added
Extractor Window (Tools > Bolt > Extractor...)
Bolt Core
Added
Bulk Type, Namespace and Assembly Extraction
Bolt Core
Added
Fast (Incremental) Extraction
Ludiq Core
Added
Odin Serializer Dependency
Ludiq Core
Added
Layout Swapping Hotkeys (Ctrl/Cmd+Space)
Ludiq Core
Added
Unity Message Proxies
Ludiq Core
Added
VectorXInt Support
Ludiq Graphs
Added
Node Deselection
Bolt Flow
Added
Overloads Context Menu Item
Bolt Flow
Added
Fuzzy Finder Hotkey (Space)
Bolt Flow
Added
Numeric Negation Operators
Bolt Flow
Added
On Particle Trigger Event
Ludiq Core
Changed
Folder Structure
Changed
Grouped Window Menu under Bolt Bolt Core
Bolt Core
Optimized
Extraction Speed
Bolt Core
Optimized
Loading Speed of extracted data
Ludiq Graphs
Removed
Graph Window Sidebars