2D Spritesheet (not sprite in game) becomes distorted when imported

I’m using unity 2019.3. I imported a sprite sheet into Unity but the sprite sheet has weird colour shifting while still keeping intact. I never had this problem before, as all previously added sprite sheets had no issue.
I saw a lot of advice on changing the sprite’s settings, but changing the settings doesn’t affect the sprite sheet. This is what I mean by colour shifting:

Original:

Imported to Unity:

The sprite sheet changed every time I upload it to unity. I added the file by both dragging it in and by using the option at the top of the screen to import assets. I am not sure what to do anymore, I can’t find anything similar to this issue on google. Does anyone know what might be happening?

Edit: Found the issue, although other sprites I have that have their compression set to “high quality” don’t do the above, this one sprite does. Why? I have no clue, but putting it to “none” solved it. Still slightly perplexed since what I did worked in the past

If you want to keep original texture colors, use Compression set to None. Using compression will use some texture compression format like ETC, DXT, PVRTC, … When texture is stored in these formats, it is compressed - usually split into small blocks like 4x4 with only a few bits on pixel. Then 4x4 blok can consume only 64bit, for example. GPU is happy as texture is much smaller and it has to transfer less data when rendering.
But price is, that when compressing, you are loosing some information within those blocks - information about color. It is not problem for 3d games when you have realistic texture of wall. It does not matter if pixel has slightly different color. But in 2D games with pixel art it usually produces visible artifacts.
If interested, see doc for PVRTC format here: http://cdn.imgtec.com/sdk-documentation/PVRTC%20Specification%20and%20User%20Guide.pdf

1 Like