What i suggested is a bit differend in some ways.
Pick a bunch of objects with a 'pick by comparing' based on distance loops also trough the whole family, but without the 'overlap loop'. It is fast. The filterd SOL is also done only once, You perform the same loop when you actual do the z-ordening, in probaly the same tick.
With only a few objects in the SOL, the z-ordening is awwsome fast. Even every tick should not have a big impact.
Hope i made my point, the general point, i have no idea if that is applicable in your project.
I've tried all kind of approaches. So far, the current list of events in my previous post, seems to be the cheapest way i could do it, but it's not cheap enough.
Just using:
"is On Screen" -> Sort Z order by "variable" every tick
Is just slightly more heavy than my overlap approach. (Thanks to LOS Behaviour, which is super cheap for filtering by distance, faster than any event condition approach)
I'm gonna try out the workaround approach as well, using dummy objects, to see if it's any better. But for now. 15-20% of my game mechanics just for handling z-ordering just feels too much for mobile. There must be a smarter cheaper way :p