Compare visual scripting tools for Unity

There are many visual scripting tools available for Unity. Which one should you pick? It's not an easy decision. Each has different features and use cases. Let's see how Bolt compares to the most popular alternatives:

Graph Types Bolt Playmaker Flow Canvas Node Canvas Behaviour Designer iCode
Flow Graphs
Event-based graphs that handle logic and data
State Graphs
Finite state machines (FSM) that structure your logic
Behaviour Trees
Artificial intelligence (AI) decision trees
Dialogue Trees
Branching dialogue options for narrative
Integration Bolt Playmaker Flow Canvas Node Canvas Behaviour Designer iCode
Unity API
Access to everything in the Unity engine
Manual
Third-Party Plugins
Compatibility with third-party plugins, tools and assets
Manual
Manual
Manual
Manual
Custom Scripts
Integration with your team's own custom C# scripts
Manual
Manual
Reusability Bolt Playmaker Flow Canvas Node Canvas Behaviour Designer iCode
Macros
Graph assets that can be shared and reused multiple times
Nesting
Ability to nest graphs within other graphs hierarchically
Types Bolt Playmaker Flow Canvas Node Canvas Behaviour Designer iCode
Primitives & Unity Objects
Integers, floats, strings, booleans and Unity objects
Lists & Arrays
Ordered collections of items
Partial
Partial
Dictionaries
Key-value pair collections
Custom Types
User-created types from your codebase
Manual
Variables Bolt Playmaker Flow Canvas Node Canvas Behaviour Designer iCode
Graph Variables
Variables that are local to the graph
Object Variables
Variables shared across all graphs on a Game Object
Scene Variables
Variables shared across the current scene
Application Variables
Variables shared across scenes
Saved Variables
Variables saved and loaded across playthroughs
Manual
Manual
Data Binding
Linking the value of a variable to a C# field or property
Network Syncing
Automatically synchronizing variables across UNET
Dynamic Variables
Variables created at runtime
Events Bolt Playmaker Flow Canvas Node Canvas Behaviour Designer iCode
Unity Events
Standard events from the Unity engine
Partial
Partial
Custom Events
User-triggered events across graphs
No arguments
Scripted
No arguments
Max 1 argument
Animation Events
Events sent from the animation timeline
No arguments
Performance Bolt Playmaker Flow Canvas Node Canvas Behaviour Designer iCode
Lambda Optimization
Using delegates to speed up reflection
JIT Compilation
Using the just-in-time compiler to speed up reflection