What happens when building an image?

I can’t figure out what to google.

I have tons of PNGs in my project. I know that when Unity builds the project, it’ll convert that into something that’s easier to be dumped on the graphics card. My question is, what format(s) does it end up in in the PC version? Does it keep some of the optimizations that I’ve done on them? I wrote some code that’ll analyze a 32-bit PNG and convert it into an 8-bit indexed version if possible. It makes a massive difference in the size of the images on disk, which is important to me because my cloud backup is getting close to full.

But what’s Unity going to do with them? Do modern GPUs even support indexed images or will it just expand it into 32-bit anyway? I have so many textures because of the way I’m doing certain things that I need to really limit the amount of data being sent to the gfx card. My compression system is lossy, so if the end result won’t save bandwidth, I might as well just leave the 32-bit versions.

I think the information you’re looking for is here:
https://docs.unity3d.com/Manual/class-TextureImporterOverride.html

Someone like bgolus could answer this question better, but no, I’m pretty sure that you’re own attempts to compress the file will not affect the result directly. It looks like it will revert to RGB. Only the compression that you specify in the import settings will make any difference.