An awesome recent addition to Unity is that some overloads of Physics2D methods now have minDepth/maxDepth arguments that allow to only include objects within a range of Z coordinate values. However, a corresponding option is strangely missing from Rigidbody2D itself. What I was trying to achieve is something similar to Rayman Legends, in particularly - how in that game physical objects can be placed on different planes with different Z coordinates without interfering. For example, at 3:20 mark here: You can clearly see that there are two level planes that do not interact with each other, even though Rayman Legends is a strictly 2D game. Another example is any classic 2D beat ’em up game, like Double Dragon or Streets of Rage. While these games are pretty much 2D, they still use the Z coordinate - the player can only interact with objects that are on approximately the same depth as himself. Unfortunately, this doesn't seems possible in Unity, unless I am going to abandon all the neat 2D physics stuff and do everything manually via raycasts. The other option is to use 3D physics with all objects having zero thickness colliders, but that sounds incredibly overkill. Not only because of increased resource consumption, but also because, again, I won't be able to use all the neat 2D physics stuff like Effectors. It would be absolutely amazing if a MinDepth/MaxDepth properties would be added to the Rigidbody2D itself, in one form or another.