Usually this is handled by swapping entire Materials out, one Material for each team.
Alternately you can have multi-material objects such that some is shared, some is differentiated and associated with team color.
If you wanna get the UVs, give it a shot (they are in a Vector2[] in the Mesh, available from the MeshFilter), but I’m not sure what interactions you might have with ProBuilder today, as I haven’t used that package in a long time and I think it used to rebuild the mesh contents at load time, which means you would need to ensure you do any UVs swapouts after anything ProBuilder might do.
If you want to colorize by swapping out materials, keep this in mind:
Materials materials array of materials renderer:
Generally accessing .material / .materials is going to give you a fresh copy. (See docs for why and when)