Bolt v.2.0.0a2
Alpha
2018-11-30

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.

Alpha 2 is not yet compatible with Bolt 1 projects.
Macros, machines and variables will display as missing.
Future versions will include an automatic migration tool and reference fixer.

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


What's new in Alpha 2

Unity 2018 11 30 19 23 11
A flow graph showing the new vertical flow, compact units and port proxies.

Vertical Flow

The control axis (arrows) is now separate from the value axis (circles), making for a much clearer graph organization. This change reduces the amount of overlaps and simplifies your layout. Goodbye, spaghetti graphs!

The control axis completely configurable from the graph inspector. By default, new graphs will use vertical flow. Legacy graphs will still open with horizontal flow. You can change the default for new graphs in the Editor Preferences for Bolt.

Compact Units

We've trimmed out a lot of fluff from the unit nodes. The new compact units will make better use of your screen real-estate: more of your graph will be visible in a small area. Redundant or useless info has been removed, and ports have been reorganized to make the units even smaller. This allows for some simple units to be one-liners that line up perfectly with the ports of bigger units.

Port Proxies

Port proxies are a new special type of unit that forwards a port using "wireless" connections. Combined with vertical flow and compact units, they are the ultimate spaghetti-graph killers. Proxies allow you to refer to a port that's far away without having a big line going through your whole graph.

The connections from proxies can be revealed by hovering their related unit or by holding Alt (this behaviour can be configured from the editor preferences if you'd like!).

There are many ways to create port proxies:

  • Drag out a connection from an existing port to the canvas background, and choose the Create Proxy option in the fuzzy finder
  • Drag out a connection from an existing port to the canvas background while holding Ctrl (Cmd on Mac)
  • Drag out a connection from an existing port to another port while holding Ctrl (Cmd on Mac)

Smart Snap & Carry

Snapping and Carry both went through an entire redesign. Snapping now smartly aligns to connected ports instead of the grid, making sure your compact units perfectly line up for a tidy graph.

Carry now intelligently selects outgoing control outputs and incoming value inputs so you can drag a related sub-graph at once. Carry will now also detect when groups should be dragged along.

Breakpoints

Right-click any unit and choose Add Breakpoint to stop execution whenever flow enters it. You'll get a special kind of error in the console and the editor will automatically pause. In the future, we want to make it easy to jump from the console error straight to the unit.

Group Comments

Groups now support long-form comments right below their header, in case you want to add more details about the logic or implementation of your graph. This also allows you to create small empty groups that act as notes anywhere in your graph! You can change the alignment of group comments from the graph inspector.

C# Preview for Super Units

Super units will now display a C# preview, even though they currently get inlined in their parent graph. The code displays comments where any inlining would occur to accurately represent the final result.

Fixes & Improvements

All bugs related to C# generation reported in Alpha 1 were fixed.

A bunch of smaller workflow improvements also made their way in Alpha 2. For example, you can now drag a connection directly to an Input or Output unit to create a matching port definition for the current graph. Double-clicking an Input or Output will now bring you back up to the parent graph view. Finally, new presets were added when creating Flow Macros from the Assets context menu in the Project Window: you can choose between Start+Update, or Input+Output.

See the changelog below for the full list of changes!


How to install

  1. Download Unity 2018.3 Beta
  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. Follow the Setup Wizard
  9. Open the Bolt windows under Window > Bolt

If the Setup Wizard does not show or if you get warnings, try Entering / Exiting play mode or restarting Unity. Then, open it manually with Tools > Bolt > Setup Wizard.

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


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
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