For me it seems that if I moved unit A from tile X to tile Y to tile Z I can move Unit B to tile X and if no obstacle was encountered to tile Y too. I suppose giving a unit follow the list of tiles covered by the leader or waiting is very complex or will be too annoying. It might be that I know nothing and giving a feature that does not support all formations in all terrains perfectly simply does not worth it.
Ok, let's break it down a little. We can't use "normal" pathfinding as it will break the formation. Let's say we want to implement movement in straight line. On the ned turn we cycle through all units - if they have where to move, they move, if they can't move but have movement points left, they wait. If we have only waiting units or moved units, we consider movement done. That's pretty easy. If we have multiple groups of units, we just cycle through all their units as total, this should work, although the gaps could be huge.
Now, let's say we face permanent obstacle, like mountain. What we could do here is to move towards leader. If we assume the leader already went here, this should be more or less good. What if the leader faces such obstacle? We could only pick a random direction here. A lot of possible problems could appear with units being stuck. This could also result in some backward movements.
Next, let's say we've faced a temporary obstacle like a unit. If we choose to move away, we could end up in very wrong place, so let's assume we wait. If the unit is fortified, it's unfortunate.
So, what we have here:
- At each point we've sacrificed ability for units to make full move if there's a risk the move will end up in wrong direction. This could lead in very slow movement and huge gaps.
- We don't use pathfinding, so no benefits from roads and plain terrains, plus chances to walk into a trap of mountains and cliffs.
In general, I don't see any benefits from sending each unit to the destination independently with regular pathfinding. In both cases units will not have formation on the road, but this will be much faster and easier to implement.