Can I reuse painted texture after redoing my UV layout?

From time to time when modelling a character I will get to the stage that I think I’m ready to paint it, spend a few hours painting it, and then realize that I messed up the UV layout and have to redo it, which usually puts the UVs in completely different places.

Is there any way to salvage my old paint job so that I can retain most of that work? I tried baking from my old mesh to my new mesh, but the results are terrible.

Looking at your image, I think you just have the wrong bake settings. You need to add a little bit of “extrusion”. For 2 identical models, I would try a very small number, like 0.001.

The way baking works (with selected to active enabled), is that the receiving mesh gets temporarily inflated, then rays are sent inwards to look at the source mesh from the outside. The extrusion value controls how much the model gets inflated. You want it high enough that it’s completely outside the source model, but not so high that the different parts of the model intersect (like the fingers seeing each other). The “cage” option allows the inflation process to be done manually with a copy of the model, but it’s a bit more complicated to use.