I’m looking at updating our version of the Engine to add some options to the Texture Editor, so that I can specify a Texture size for each texture asset individually for different Platforms.
We’re in a situation right now where we have two branches in Perforce that we constantly have to integrate and merge into each other, but the only difference is that the Android branch has smaller textures, while the PC branch has the full-size ones. Pre-processor commands take care of everything on the code-side of things, so it’s purely from an Art perspective that we need the second branch. Obviously this is incredibly inefficient and it would be much better to make the Engine change. I don’t want to spend hours looking into this though if someone can save me the time.
Although the engine does have some config / INI options for this, they have no effect on the Build Process, and are global settings - meaning you can’t change the texture size per-asset. The only difference the INI makes is the size of the in-game textures, but if you’re not using Mip-Maps (like us), there’s no lower-res object to use. We also end up with a 6/7 GB package for Android, which obviously isn’t going to work.
I’m willing to spend the time getting it into engine and also submitting a Pull request once it’s in, since I think this is something everybody should have. I don’t want to waste valuable time on it though if somebody else is doing this already. I’d also like to fix the ‘Max Texture Size’ setting that already exists to work in both X and Y, because it currently doesn’t work for non-square textures even if they’re power-of-two.
This is what I have in mind, so before I start looking into this - does anybody know if this is possible because of the way UE builds packages, and more importantly, does anybody know where to start looking? Cheers!