so i was gonna try to get specific but as i dont know excactly what youre doing i dont want to confuse you, but consider attempting making global variables and calling them layers,using numbers to specify , and then have something along the lines of if #>highest layer set to 1 and then add 1 to each layer so as each object would have its own number, or certain actions could send different objects to the same 'layer' etc. if its just for functionality, this should work. used in conjunction with the "send to top of z order" command, it shouldnt be too hard to rig something up. although i did do a test with 3 blocks, where if sprite.zindex =0 play sound 1, sprite 2 = 0 play sound 2, etc, (with condition trigger once while true so as to stop infinite loops), and clicking sent them to the top of z order, and same blocks would play different sounds, even though every time i clicked them they would visibly be on top, and sometimes switching between 2 without going to the 3rd would cancel the desired action. so for what its worth, i see what youre going through lol.hopefully the variables as layers option works for you