This is not exactly a format specific thing. It is related to texture filtering. For many importers/exporters out there( not only UE or shop specific) the default behavior is use white color on a color channel, where no color data exists. If you sample your texture with nearest filter, you will never run into problems, because there will be always a match. When you introduce bilinear interpolation, pixel with color(0,1,0,1) and pixel with color(1,1,1,0) can get averaged to (0.5,1,0.5,0.5). The issue also propagates to mip chain generation. A common approach is to dilate the color channels, so that color data extends past alpha borders spatially. Applicable to photoshop, you should be able to automate the dilation process with an action/macro. If you are seeing checkerboarded(transparent) pixels in photoshop, those will end up white whereas you need those to be closest match possible to the content, you are trying to cut out. There is no pre-multiplication involved.