Blender doesn't use actual Normals texture

On the left is the actual normal map, as you can see it looks just fine.
but on the right is what blender says the normal looks like on the model, and as you can see it’s completely wrong.
flipping didn’t help, recalculating didn’t help, i even tried just baking the normal, but all that did was just create the same broken looking one that’s on the model.
the same problem happens in unreal 4, the same normal is imported, but again, it just looks as broken as it is in blender.
i tried editing the texture a bit so that it had no gaps in it, but that didn’t fix it either.
i’m at a loss; the texture it self is fine, but when it’s actually on the model, it’s busted.