There are some dedicated software tools that allow you to paint a texture directly on a model. An example of this would be Substance Painter as you mentioned in the comments. Personally, I don't have a lot of experience with these tools as the didn't really mature until after I had pivoted away from dabbling at this sort of work, but I assume they've become popular because they can deliver results.
Alternatively, some 3d rendering packages provide some texture painting support. For instance, here's the documentation for texture painting in Blender.
For myself, I've used the following approach. First I like to use UV unwrapping to export an outline of the model's polys as mapped to a texture.
Next, I do some course painting in the 3d app. This might be as rough as flat color assignment to areas of the model. For example, make the general face area a skin tone & assign a hair color to polys in the hair area, etc. It looks like the options available now are much better than when I used to do this, so you might be able to go further with this step & put in more detail than I've described.
Next I'd use UV unwrapping to export the rough draft texture again.
A this point, I switch to an image editing program (Photoshop or the like). I import both of the exported images as layers into a new image. I then start making refinements to the rough texture. When needed, I use the outline layer to see where the polys are & how they're oriented. That layer is used as a reference to make sure I'm drawing with the grain of the model so to speak.
As I'm refining the model, if the hardware can keep up, I reload the work in progress texture back onto the model to look at it. If running both is too taxing, you might look for a stand alone model viewer for this part instead of using full 3d rendering app.
As I recall, the hardest parts were were textures needed to wrap across edges that were not adjacent in the UV unwrap. Drawing off the edge of one, followed by cutting, pasting & rotating was the best I came up with for a starting point, but usually I'd need to go back over it by hand. If there's any painting/texturing you can do directly in the 3d app for this, it can help a lot. For example a blob of color where you plan to draw a tattoo. Also I found it significantly easier to start with an existing initial texture & edit it rather than starting from scratch.
I myself found that there's a considerable but not impossible learning curve for this. I went with a route the allowed me to use my experience with tools I was already fluent with. I suspect that if it was something I had to do a lot of, it would be worth investing the time in learning to use a more direct set of tools.