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 were 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.
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 variable 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 your 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 where as, 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 bolt easy to learn and some find playmaker easy. This is totally a matter of choice. But if you have some knowledge on scripting then you will definitely find Bolt to be more easier than playmaker. Playmaker is designed for a person who has no knowledge of coding. Lets see in details how bolt and playmaker work.
As the title suggest Bolt is a C# program in visual form. Lets 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 is no restrictions when it comes to scripting with bolt.
Bolt has two major features, flow graph ans 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.
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 is uses 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. Playmaker is really easy to learn compared to bolt. The pre defined action states cover almost every thing 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#.
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 requirement|
|Best for people planning to switch to |
scripting at later stage
|Best for beginners and people |
looking for pre-defined functions