Gone are the days when only coders could make a game. Now the game engines have improved so much that we can make a game by simple drag and drop feature. But drag and drop game engines have their own limitations. When we hit such limitations, we look towards scripting to make our game. This is where non-coders struggle to get the job done. To help artists and non-coders build their game the concept of visual scripting was introduced. In Unity, Bolt and Playmaker are the two best visual scripting tools. They are so good that bolt vs playmaker is the most searched when it comes to visual scripting in Unity. In this post we will see which tool is the best and which tool is suitable for whom. Check out our post on other visual scripting tools in Unity.
From Unity version 2021.1 bolt has been integrated into Unity by default. You don’t need to import a package to use visual scripting. Though Unity has renamed the package as Visual scripting.
Before stepping into comparing Bolt and Playmaker, we must learn about finite state machines and flow graphs. A Finite state is a model representation of a group of code. For example, if you want to move a character you have to write a code with variables and functions. A state is all this combined in one group. That is “move” is a finite state. A finite state machine manages all the states defines to represent the behavior of game object.
A Flow graph represents the whole code in individual units. If you take the same move example as in the previous case, the flow graph will contain all the variables and functions defined as units. The difference between a flow graph and script is that you don’t have to write the syntax for each line, just add the required unit. This is the major difference between bolt and playmaker. Bolt is like a visual programming language with flow graphs whereas, playmaker is a finite state machine.
Unity bolt vs playmaker
The working of Bolt and Playmaker are very different from each other. Some people find it easy to learn bolt and some find playmaker easy. This is totally a matter of choice. But if you have some knowledge of scripting then you will definitely find Bolt to be easier than Playmaker. Playmaker is designed for a person who has no knowledge of coding. Learning playmaker is like learning a management tool rather than a scripting tool. Let’s see in detail how bolt and playmaker work.
Bolt – The visual programmer
As the title suggest Bolt is a C# program in visual form. Let’s consider an example, if you want to add force to a rigidbody the code we use is “rigidbody.addforce”. This is available as a unit in bolt. So, you can add the “add force” unit and provide the value. The only difference here is, you are doing everything using a UI interface rather than typing the code. This makes bolt usable in any type of game. There are no restrictions when it comes to scripting with bolt.
Bolt has two major features, flow graph and state graph. A flow graph is a collection of variables and functions just like a class. A state graph is a nested flow graph that defines a state of the game object. For example, walking is a state, all variables like speed and directions are included in the flow graph and the flow graph is a subset of state graph. Bolt doesn’t include any pre-defined states that you can use. Unity acquired Bolt in may 2020, so the further development in Bolt will be done by Unity. From 23rd July 2020 Unity made bolt free for all Unity users.
Playmaker – The state machine
Playmaker is totally different from bolt in the way it does visual scripting. You can call it a state machine rather than a visual scripting tool. Playmaker has three features that are used to control the state flow. They are actions, states and events. Actions define the changes in the game like collision. States define the state of your gameobject like lights are on or off. Then comes events which define sequence of states.
Playmaker has many actions inbuilt in their system, so you don’t need to create any action from scratch. Just select the action and the next transition state and your code is ready to be executed. It is really easy to learn Playmaker compared to bolt. The pre-defined action states cover almost everything required to build a game. The only drawback is when you are making a complex game. When a complex game mechanics is needed, there is no way to create such action in Playmaker with using C#. You can also read our post on Playmaker review if still in doubt.
Bolt vs playmaker conclusion
|Can do everything that can |
be done using C#.
|Limited to pre-defined actions,|
Complex action requires coding
|It is C# in visual form||It is a finite state machine|
|Has a steep learning curve.||Easy to learn and implement|
|Best for complex game mechanics||Best for simple game mechanics|
|Suitable for large and complex codes||Not suitable for large behavior requirements|
|Best for people planning to switch to |
scripting at later stage
|Best for beginners and people |
looking for pre-defined functions
|Learn Bolt||Learn Playmaker|
5 thoughts on “Bolt vs Playmaker which is the best in Unity”
so in one word bolt is Better.
also you don’t mention to that bolt support by a huge company such as unity also has a full and super good documentation.
Bolt gives you better control and limitless possibilities free of cost. But, Playmaker is much easier to use and learn. Its definitely worth the money if you don’t like coding.
Also I have mentioned that Bolt is acquired by Unity in the article.
Playmaker claims to be used by games studios, to ship some very complex games, so I think there is a way to overcome the limitations, probably using custom scripting
As you pointed out, custom scripting can be used for complex games. But that defeats the whole purpose of visual scripting.
I wouldn’t say that this defeats the whole purpose of visual scripting at all. If you’re working in a team environment and engineering is your bottle neck it means an engineer can focus on providing specific modules that are too complex for what playmaker already offers and leave the rest to your artists and designers.
(This is old but I’m commenting for anyone that comes by later.)