Hills, Caves and the Z-Axis?

I’m creating a 2.5D Isometric game in Unity. My game has a Z-Axis. I need for my map to allow for the player to climb up tiles, for example, as he walks up a hill or stairs. The best way I can find to do this with Tiled is to create a second layer with a Vertical Offset property, like this:

Ultimately, I don’t think this handles my needs, though. Tiled doesn’t seem to understand the idea of a Z-Offset or Z-Height. For example, a character walking in the “pit” here would be at Z=1. On the stairs, he would have Z=1.5, and on the grass Z=2. These ideas are all understood by my game engine. Furthermore, I don’t see how this would handle occlusion (i.e., being inside a cave with a roof and making that roof invisible whilst the player was inside so that he can see himself).

Am I missing something, or will Tiled not fit my needs?

Can you explain why you feel like this height-awareness is missing from Tiled? What would it change for you?

I think you could perfectly do this by setting a custom property on the layer(s) that you want to disappear when the player is below a non-empty area on those layers. Then in your game you check the character position against the tiles on those layers, and stop rendering them when appropriate.

If you have multiple houses next to each other and only want to hide the roof of the house you’re in, then you could either automatically find the connected area of tiles or place custom objects to mark the regions of the roofs.