I will leave a (dd/mm/yy) formatted date on this post, so you know when it was last updated: 18/09/19 — Moved the guide to my website and made formatting tweaks (the last content update was 28/11/16 – Added layer position and speed functions)

  • Updated layer_create as layers can be created with names after all!
  • Updated “depth = -y alternatives” with a link to @Ariak’s faster BinaryList depth sorting!

I’ll also update the guide if there a better methods that I haven’t thought of/found out about yet, or if it turns out I’m using some function totally inappropriately.

GM Version: IDE:, RUNTIME:

Target Platforms: ALL

If you get stuck, ask a question and check the documentation!


Okay, here is my third guide for GMS2. This time I’ll be covering one of GameMaker Studio 2’s biggest features, and I believe last major change that I have not covered – Room Layers

I asked if anyone wanted/needed this and I got a load of “Yes!”s, so here we are!

Now, there are a few different types of layer introduced, so I’ll be breaking this guide down into the following parts:

  1. Layer Basics – The Room Editor
  2. General GML Layer Functions
  3. Instances and Layers – update “instance_create”
  4. Tile Layers – The Big Subject
  5. Assets and Backgrounds
  6. New Particle System Functions
  7. Layers and “depth = -y”

I’ll basically be going over the most important GML functions that can be used with layers and their usage, as well as linking to the relevant documentation pages. There are Drag n’ Drop equivalents to some of the functions, but not all of them.

I am not including a downloadable project for this guide – this is because you can see more advanced implementations of most of these features by looking at the demos included with GMS2, so there’s little point in having me writing a whole project. For example, tilemap collision is shown in both “YoYo Dungeon Lite” and “YoYo Platform Lite” – the latter shows examples of both using tiles for one-way ground collision and using tiles (from the same tileset) as ladders.

Relevant Documentation Links:








That should be everything you need.

If you have any more suggestions on how I could expand on/improve this guide, or if you have a suggestion for a new guide (it could be ANYTHING!), let me know!