Normal mapping mirrored UVs?

I have an object that has been mirrored in Blender with the mirror modifier. UV’s have been correctly mirrored as normal, but applying a normal map to the object in Unity causes only one half of the object to be bump mapped. So after doing some research on the topic I noticed it had something to do incorrect tangents. However, after disabling Unity’s tangent importer, I was left with an unshaded objects. (No tangents had been imported)

I thought the problem was that .blend files didn’t contain tangents, so I exported an FBX with “tangent space” checked. And sure enough, there was bump mapping on both halves of the object. But something is still not right, there is an obvious seam and the bump mapping on one half looks opposite to the other half:
alt text

On the left is the original .blend (with only half bump mapped) and the right is the .fbx with imported tangents (noticeable seam with inverted bump maps). What is going on here?

Side note: previously when I ran into this problem I would just apply the mirror and recalculate UV’s. This worked when I had tiled textures (as I could just scale up UV mapping to compensate for the extra UV coordinates) but now I’m using a non-tileable texture, which means I can’t just dump the current UVs! The mapping is now dependent on the texture being correct in mirrored mode. Thanks in advance!

Well after no help and hours of scratching my head I came up with an Editor script that helped out. This thread contains a TangentSolver script in CS. Using it, I made a script that executes in edit mode and calls the TangentSolver.Solve() function on the mesh I wanted to fix. From there, it’s able to recalculate tangents and multiply the w component of the mirrored mesh by -1 to solve the Normal Mapping problem.

In unity, In the import settings of your objects you need to select the tangents “Import”.

Also, you need to remember which UV chunks were mirrored.
In the photoshop, select their regions, go into Channels, green channel and press ctrl+i to invert that channel, specifically for those lasso-selected areas.