0. Introduction

Updated: 2018-08-31

Each part of this tutorial is also available as videos from GameGrind. Articles start with the YouTube video(s), then continue with the text version below.

Hey, you! Welcome to Bolt!

In this tutorial you'll be creating a simple platformer game with Unity and Bolt without writing a single line of code. Here's the lesson plan:

  1. Project Setup
  2. Character Controller
  3. Spikes & Death
  4. Level Change
  5. Head-Up Display (HUD)
  6. Doors & Keys
  7. Health & Damage
  8. Enemies & AI
  9. Projectile Attack
  10. Pause Menu
  11. Main Menu
  12. Conclusion

Once finished, the game will look like this:

Because we want to dive straight into Bolt, we'll provide you with a project with all the sprites, scenes and prefabs already there. The only thing you will need to add is the game logic!

All the sprites and assets from the game were downloaded from Kenney Assets and are freely available and redistributable under CC 1.0 license.

Important: This tutorial assumes you have basic knowledge of Unity and will not cover things unrelated to Bolt such as animations, prefabs, 2D rendering, etc.

Changes since this tutorial was written

Bolt is constantly evolving, and that means parts of our documentation can't keep up. We try to update the screenshots and instructions to be as current as possible, but on big tutorials like this one, we're sometimes falling behind.

This tutorial was written for Bolt v.1.0. Since then, here are some of the things that changed:

Variable Units

Variable units have been slightly improved in Bolt v.1.2. They now support dropdowns for their scope and name.

Chrome 2018 09 12 18 36 51
Old Variable Units
Unity 2018 09 12 18 37 12
New Variable Units

On Timer Elapsed

The On Timer Elapsed event unit got deprecated in Bolt v.1.4. This unit used to trigger after a set certain number of seconds had passed from either the entry of the current state or since the machine was enabled.

Chrome 2018 09 12 18 48 52
The obsolete On Timer Elapsed note.

The new approach is to use either the On Enable or On Enter State event (depending on whether you're on a flow or state graph) combined with a Wait For Seconds unit, like so:

Unity 2018 09 12 18 51 43
The new approach for Flow Machines
Unity 2018 09 12 18 54 35
The new approach for State Machines

Make sure to check the Coroutine checkbox in these events to enable support for wait units. For more information, see the manual.

There appears to be an issue where these wait events may trigger the transition even after the parent state has exited. We are investigating.


Let's get started!

Was this article helpful?
Be the first to vote!
Yes, helpful
No, not for me