Platformer Tutorial

Lazlo Bonin (Lead Developer) 4 years ago updated by William ianneci 4 years ago 33

I decided to start writing a platformer tutorial to cover the basics of using Bolt in a fun step-by-step tutorial. In this tutorial, you'll be building a simple platformer with Bolt. The lesson plan will be:

  1. Project Setup
  2. Character Controller
  3. Health Points & Death
  4. Doors & Keys
  5. Enemies & AI
  6. Projectile Attack
  7. Level Change
  8. Main Menu
  9. Pause Menu
  10. Polish

In this tutorial, you'll learn practical lessons about:

  • Events and the update loop
  • Variables and scopes
  • State machines
  • Instantiation and destruction
  • Saved variables
  • Animator parameters
  • Collisions and raycasting
  • GUI & HUD

To start, you'll download a project with all scenes and prefabs already set up, but without any graph. This way, you'll dig right into Bolt without any additional hassle. Note that this tutorial will not cover the Unity concepts we'll be using (see the Unity Learn tutorials first) or how to navigate Bolt (see the Manual for this).

Bolt Version:
Unity Version:
Scripting Backend:
.NET Version (API Compatibility Level):

Cool Idea. Look forward to seeing it. Would I be aloud to turn it into a video tutorial for YouTube?

Sure! Please do :) Hoping to have it ready this week.


I hope i get my UI Tutorial finished until this weekend. It got a little bit bigger than it was planned.
The new On Pointer Nodes really helps with more complex funktions.

Hi Elin and nice to hear you doing your tutorial. Take your time and enjoy it. I say that because I like making tutorials to learn myself. If I show someone then I remember it.

I also think it is good to help others as any extra bit of information no matter what, will help somebody else that did not know that.

Hi Lazlo, I have just a quick question. Are you going to post your tutorial all in one go when it is finished or are you going to post it as it comes bit by bit?

If you make it in sections then please send me it bit by bit so I can then build the video tutorial bit by bit. Final release could be when all is done or step by step release.

I'm probably going to release it in one go, because it requires sending a complete project beforehand etc.

Ok. Maybe it's better that way, then I can get the feel of the project exactly as you have done it.

Excellent tutorial idea.

I can't wait to see this tutorial, really looking forward to it.

If you can add a mini map in the tutorial that would be cool, like in the top right corner of meteoroid. indicating where you are at the moment and what not yet discovered.

Hi Lars, welcome to the community!

Unfortunately a minimap is too complex for this tutorial. I want it to be very introductory to get people used to basic logic in Bolt.


Quick update on this: the tutorial is coming along well, but it's taking a lot longer than I thought!

I didn't start writing the tutorial itself, but I have a project in which lessons 1 through 7 are mostly done.

If all goes well I'll finish the project early next week (and maybe post a build here!). :)

I'll also publish v.1.0.5 to the asset store tomorrow (Friday) so that it's available early next week.

I have to leave the country from Sep. 19-25, but I'll be back to work on the tutorial and other features on the 26th. I'll still be reachable during that time and will keep a look on the community.


The whole, I have to leave the country sounds rather ominous. Ha. 

Haha no worries, just a trip that had been planned for a long while.

I'm Looking forward to it Lazlo. My microphone is fired up and ready to Bolt.


Hey everyone, just wanted to give you a quick update about the progress.

I intended to publish the platformer along with version 1.1 last week, but I had to make last-minute promotional material for an upcoming asset store promotion. With the very short deadline, I had to push back the tutorial. I'm getting to it this week and publishing version 1.1 today or tomorrow. 

Thanks everyone for your patience!

I am not in a rush. It will all get done when it's done.

Thank you for your very hard work. And Lazlo don't press yourself, don't push yourself to an edge. You have time. Don't need a break, just take a break.

People are people and so are you too.

I won't lie, I'm very interested in this tutorial; however, take your time and please make sure to take care of yourself too Lazlo!

Can you elaborate on the upcoming asset store promotion? Please tell me it's not another one of those crazy sales where nearly everything is on sale? If so, I need to know when to avoid the asset store, lol!

HeHe, if you are a Unity user, you’ll never be able to avoid the asset store. Those guys are very clever and know that nobody wants to miss a sale.


Update: I'm about 70% done. The project is fully complete and I've written 6 of the 11 sections:

  1. Project Setup
  2. Character Controller
  3. Spikes & Death
  4. Level Change
  5. Head-Up Display (HUD)
  6. Doors & Keys

I still have these to write:

  • Health & Damage
  • Enemies & AI
  • Projectile Attack
  • Pause Menu
  • Main Menu

Hoping to be done this week (for real, this time!).

Great! I am very anxious to see the final result!


Finally, the tutorial is ready!

Link: http://support.ludiq.io/forums/40-bolt-tutorials/categories/50-platformer/topics/

Enjoy and let me know what you think!

Hello! I have an error on 5-6-7 stage, 

InvalidOperationException: Variable not found: 'Player'.

I can't find in tutorial, how do we define this variable?

Setting the player variable is explained in section 6.4. 

If you're getting this error from section 5, it means there is probably a graph I forgot to delete on a prefab game object before redistributing the "clean" tutorial assets. I saw your comment mentioned HUD projectiles, try seeing if there is one there.

Actually you did, for player and projectile. Giving that error until you get to the HUD section and projectile section as you created the graphs, ha. Forgot to mention it. Does not hang it though and simple fix. 

Fixed! Removed 2 remaining flow machines in the tutorial assets package. These errors should no longer appear.

Yep, simple  as that. I just disconnected them but will sure be less confusing for others.  

I mean how do we save player into scene variable? Cause Player prefab every time reload with a new level. Should I set Player scene variable for each scene separately?

Should not have to. Are you saving the Player prefab after you add or make changes to a Graph?

Wait! I have to Apply the prefab changes every time i make a change? I did it and now it works... But why, i'm only changing the graph.

Many items  like the player and enemies are in more than 1 scene so by saving to the prefab from one scene you are updating them all. This is also good practice if you decide to remove say, the player and enemies and instanciate them at run time. For a small tutorial game no bigge but  instantiating at run time can save on overhead and performance.