For a Kara to push a mushroom, it is best to stand in front of the mushroom to make sure there is no obstacle ahead. Kara can then walk around the mushroom, push it forward and walk back around the mushroom to the front.
The main difficulty is that the two Karas wait at the right moment on each other to pass a mushroom. Two phases are needed to pass a mushroom, both synchronized with barrier states:
A second problem is the termination of the program. If the yellow Kara notices that he has collected all mushrooms, he has to "notify" the violet one. He does this by laying down a cloverleaf in front of the niche where the violet Kara is waiting for the next mushroom.