Can I draw part of object A in front of object B, and part of Object B in front of Object A?

Can I draw part of object A in front of object B, and part of Object B in front of Object A?

Do I need custom shader? UNITY’s default shader seems to finish drawing one object then another on top.

It works fine if they are solid.

If they are transparent then one object is rendered after another. You can not do per polygon sorting.