I agree with all the points made about how this is far more than what roll20 is designed to do. As described previously it certainly wouldn't be worth the time/energy to implement. It would as I said earlier still be really cool to have, but I understand why it doesn't make sense to do that way. As far as the questions Gauss listed go, 1 is a no, 2 is a maybe(if it's easy enough and people know about it, then sure, I think people would use it). Number 3 is harder to say. I have seen some pretty elaborate setups for tabletop games that did include multiple levels, but most people I know certainly don't put in that kind of effort for that part of the setup. They spend their effort on the story, or some other part of the prep work. 4 can be a resounding yes if the feature were implemented right, but the devil is always in the details. As for 5, it could certainly be simple to use for the players, if done right they shouldnt even notice that it took a lot of work to make it work. The gm would certainly have more work to do, but they could decide for themselves whether it was worth it or not for their campaign. Also, i just figured out a much simpler way to fake it all. All we would really need to fake the entire thing is a way to create linked "portals" (yes, like in Portal) on the dynamic lighting layer that allow you to let lighting effects pass through in both directions, and give you the option to allow line of sight for players in one or both directions. That in and of itself could be a worthwhile feature to have, and would allow you to fake everything listed in this suggestion thread in a simple way that was completely transparent to the players, simple for the gm(it eliminates the redundant tokens/movements from Jacquesne J's version of a solution) , and MUCH easier for the devs than rewriting the code to do this the other way. I still wont hold my breath for it, but with this method I think a reasonable case could be made for the time/effort to be expended. Actually, I wouldn't be surprised if someone could figure out how to do this now with the API. I don't really know much about the limits of the API, but it might be worth looking into.