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:
- Project Setup
- Character Controller
- Spikes & Death
- Level Change
- Head-Up Display (HUD)
- Doors & Keys
- Health & Damage
- Enemies & AI
- Projectile Attack
- Pause Menu
- Main Menu
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.
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 have been slightly improved in Bolt v.1.2. They now support dropdowns for their scope and name.
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.
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:
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!
Let’s start by getting our project ready.