Ashley
Yes i know it is pretty dificult but just heat me out on this...
If im not mistaking pathfinding is grid based?
Can we somehow for every grid block set boolean value of 0 or 1 depending is it currently populated with passable (tiles, undergorwth etc.) or impassable items (solids, owergrowth, units... etc.) and calculate or recalculate move acording to the currently empty grid blocks?
Units could have asociated traffic advantage values so that unit with lower traffic advantage moves (eg. 1 grid block at 90° to the right) if gets in contact with unit that has greater value of traffic advantage and that is in "path moving state"?
Multiple selected units move to exact came location, spot... and eventualy stack on single grid block...
but if it was "populated" they shud target closest empty grid block and find a path to there?
Maybe multiple selected units could start movement with small delay in time so that one closest to the target coordinate x,y first calculate path and move... then second one, then third and so on?
If two objects drive in to each other head on, do they both go in to 'path blocked' mode?
easy.. they both make 90° (maybe even 45° would be enough) turn to the right, move to 1st empty grid block and recalculate path again.
if we consider my traffic advantage values one could move for the other to pass...