Interkarma wrote:MaterialReader.CompressSkyTextures used to be a field that applied to all textures (I think it was just called "CompressTextures" at the time). The setting had a negative impact on small textures such as flats, so I just retained setting for sky images where compression was barely noticeable. The same should be true for any large texture.
I'd still rather not have texture compression for the classic textures, as it corrupts their aesthetic and has minimal impact on memory usage. Perhaps we can add a new MaterialReader field called "CompressModdedTextures" or similar, and load as compressed when field is true. It could even be enabled by default.
Sounds good. The only issue i found is a discrepancy in normal maps: they look different, somewhat lighter, with DXT5 (second picture) compared to ARGB32. I'm aware Unity uses alpha and green channel, but afaik is the same for both formats.
Or would it be better to make this a setting in the mod manager so it can be toggled on a per-mod basis?
Do you think we should call Compress on textures imported with models? Compression is enabled by default in editor so many mods will probably leave it as is.
Textures for vanilla meshes, npcs, etc. are all imported from StreamingAssets so only a global toggle is possible.
I have been thinking about importing materials from mods because this would fit great with load order (if mod0 has albedo + normal and mod1 only albedo, only the latter is imported, while dropping everything on disk can create unintended mixes) but also has cons (unity editor is required, atlases and arrays requires textures to be stripped, mods like Nystul reflections inject only specfic properties like metallicgloss on purpose) so i kept this discussion for more mature times.