Use a receive called "MasterTuningOffset" (for example),
then in the poly~ patch, have it loadbang the thispoly~ voice number.
Run that into a scale 0. #_of_unison_voices 0. value_of_MasterTuningOffset
Take the thispoly voice number and take it % 2 to find even or odd, then scale into a -1. 1 range, then multiply by the output of the other scale.
(I'm doing this in halfsteps)