Ok, forgive me for going over some basic information here, but I dont want to make any assumptions.
In Zbrush, a mesh or subtool can have multiple levels of subdivision which you can switch back and forth between. It is useful to do certain types of work at different subD levels. UVs should be created at the lowest subD level, and ideally on a lower res mesh. The denser the mesh, the more difficult it will be to unwrap for UV, and the more performance will suffer when trying to create UVs.
It sounds like you probably have a mesh of medium to high poly density with no SubD levels. You mentioned polypaint, and polypaint requires fairly dense meshes to look good. Remember that polypaint is vertex paint, so the more points there are, the more detail.
The problem is that few other programs can work comfortably with the kind of polycounts Zbrush can. So generally, you’re looking to export a lower poly version of your model, with any polypaint converted to an applied image texture. There are a few different things you’ll need to do to make that happen.
So the first thing you need to do is create a lower poly version of your model, and give it multiple subdivision levels. Duplicate your source subtool so the original is preserved. ZRemesh (or otherwise retopologize) the duplicate to have a lower polycount with well distributed polygons. You will lose detail doing this, but you’ll get it back.
Subdivide your duplicate mesh (Tool > Geometry> Divide) up to a density sufficient to hold the surface detail, as well as any polypaint. Follow the instructions on this page, and project the detail (color and sculpting) onto the newly subdivided model. You should now have a version of your model with all the detail intact, except now with multiple subdivision levels and a low poly base.
From here, you can create UVs for your mesh. Switch to the lowest SubD level and follow the directions on creating UVs, either with UV Master, or one of ZB’s quick tile mapping options, or with any other tool you prefer.
With a newly UV’d model, you can now convert your polypaint to an image texture. This is how a model can be exported at low poly, and still retain the polypaint color information which would otherwise lose detail as you reduce polygons.
Sorry for all the information, it’s just that your issue requires you to understand several different concepts in Zbrush which you may not have encountered yet as a new user.