Hi Matt,
It is practically a set of three loops. The left pair (while the other one is still each time), the right pair and the outside pair. Each loops one time time, needs to be rendered as such and then you just take these three clips (loops) and edit them to the final game. In your clip there is no camera move, so that would be the fastest way to set them up, to render them and have the footage for any combination of motion available.
Which reminds me, that those clips, could be done as animation clips, yet, then you have to render the whole thing each time.
https://www.cineversity.com/vidplaylist/animation_techniques_for_teams/animation_techniques_for_teams_part_01_course
In the same way you could animated them with three spline path objects. Rotate from the left to the middle, rotate from the left to the right, or from the middle to the right. These three splines go the into the Align to Spline>Spline Path. Each round/rotation, and a new set needs to be set.
A way with three rotating Nulls and Parent switching would be possible as well, the null sit each time in the middle of the pairs, between left and middle, in the middle, between middle and right. Then after each round get swapped out.
https://www.cineversity.com/vidplaytut/pick_up_and_set_down_objects_with_the_parent_constraint
As these are all loops, and if the motion should be without stop, the animation goes always from the first frame of the loop the the last negative one loop, as the last frame would be the same as the first. Example for the standard 0-90 frames, to loop this would be 91/90*360, so the last frame is not 360ยบ. You might know that, but in a forum I like to mention it.
All the best
P.S.: Three clips for showing where it is, or six if the end clip is different.