Assume we wanted to animate my hand going in front of my body. Currently when I drag the puppet pin on my wrist over my body, my hand ends up behind me. Whether an element appears in front or behind your puppet is totally random unless you tell After Effects specifically which parts should be in front and which parts should be behind. For this, you use the Puppet Overlap Tool
Just like the other puppet tools, the puppet overlap tool comes with its own little toolbar. It looks (and works) almost identical to the puppet starch tool.
Once you have the overlap tool selected, you can click on your puppet to add a new Overlap Point. Each overlap point has an Extent and an In Front value. The extent works exactly like it does for the starch tool and defines the reach of the overlap area. The In Front value defines the depth for the area. The higher this value, the more in front the area will be, the lower this value, the more behind the area will be. Any part of the puppet that does not have this depth information defined has an In Front value of 0.
Add an overlap tool on my right hand, set the In Front value to 50% and increase the Extent if required. You will immediately see my hand come in front of my body (since the In Front value for my body is 0%).
Keep increasing the extent until the overlap are reached all the way up to my elbow. My entire right arm will now be rendered in front of my body
The overlap tool is very easy to use, but gives you great control over how your puppet is rendered.