SuperFast Depth Sorting! Fastest system without Shaders!
Grid-Layers works by using a ds_grid to store a reference to a code created layer_id for each Y (depth) of the room. This makes it very easy to move our objects between layers without strings.
PDF Description and Tutorial: https://www.dropbox.com/s/jea942d31g6ta2q/GMS2_DepthSystem.pdf?dl=0
What's more!? The whole system works without having to override any draw_events. YES! We get our draw_events back!!!!
All of the layers are created dynamically at room start, so no messing with the room editor beyond initial setup. This system also allows for using the room editor layers as normal, so you can add as many layers as you want in the room editor to make your game the way you imagined (barring skill level or course hahaha).
Using the code created "real" layers means you can use all of the layer functions EG: turn them on and off, move them, and even add layer scripts etc. Especially in the case where you want to use multiple views - you can fairly easily disable these layers while the second view is rolling - thus cutting your draws in half.