I have a 256x256 vector graphics image saved as a PNG. It looks nice and crisp outside of Unity.
However, as soon as it is imported into Unity it looks horribly distorted.
Changing the Pixel Perfect setting on the parent canvas
Adding an empty parent object in between the canvas and the UI image
Changing the Texture Type to Texture
Increasing the resolution of the image (while staying at power-of-two intervals)
Adding a reference resolution component to the parent canvas
None of them had any positive effects, while a few of them just made it worse.
Any ideas on how I can make the UI image look the same within Unity as outside it?
Maybe you can explain more of what you mean by “distortion”? What I see are compression artifacts, which are to be expected when you have a format set to “compressed”. Did you try changing it to “automatic truecolor”?
I wouldn’t call the image you posted “horribly distorted”. However, I dropped your image in and looks fine to me. The only thing I did different from your screenshot was made the preview window bigger so the image was getting scaled down when rendered.
As you said you have problem in game too this looks to me that ur picture originally is too large and scaled down for that reason. My suggest: recreate ur picture in smaller res maybe 1xx x 1xx or smaller and use sliced mode if u need bigger reslut. This is important that image should be small in original stage
Edit u played with pixelsperunit setting for sprite/ui element ? This may help too but i doubt.