у вас тут не 2D получается, а больше похоже на 2.5D или изометрию)
можете попробовать нагуглить как это там решается.
обычно что-то в духе скрипта, которой в зависимости от дальности (а в вашем случае чем выше) изменяют как раз OrderLayer
Условно. мечь, голова, одежда и тд. под них резирвируем 10 "слоев"))
и вот если Y = 0., то слои у персонажа будут (1,2,3..)
если же он стал в другой ряд и Y = 1 то слои персонажа становятся (11,12,13...)
но это так один из вариантов как избежать наслоения.
или использовать не спраиты, а честно в 3D расставлять Quad или Plane по Z оси))