Can you specify a Texture size output per platform?

I see that under compression (texture content browser) there’s a Maximum Texture Size…

Does it mean that even if I imported a 1024x1024 (raw file), but input say 512 in Maximum Texture Size that every platform will get 512x512 max? PC won’t get 1024x1024 but 512?

  1. Is there a way to specify that I want 1024x1024 max on PC, 512x512 on PS4/X1, 256x256 on the N Switch and so on… for the same texture (uasset)? Basically let UE4 compress and assign the right texture size per platform that I wish to have?

  2. As well as seeing the preview directly in the engine?

  3. Is there a way to specify I want to have a Normal Map compression of DXT5 on PC but DXT5 half size on PS4 and DXT1 quarter size on N Switch?

  4. Controls such as this concept Texture Output Editor would be nice:

You can specify the maximum texture size per platform and texture group using the Device Profiles.
The basic functionality is described here: Setting Device Profiles | Unreal Engine Documentation

There is also an editor for this in the Editor under Window → Developer Tools → Device Profiles:

@pampersrocka

Your options only seems to limit texture based on platforms - for all textures.

I’m looking for an options to set specific texture sizes per platform:

Like WaterTexture_01 is 512x512 on PS4 but 256x256 on NSwitch while the Normal Map remains 512x512 on NSwitch.
However WoodTexture_03 is 1024 on PS4 but is 2048 on PC while it is 256 on NSwitch.

Something like that…

Well there are multiple texture groups you can assign the textures to. For each group the maximum texture size can be set.
Setting them individually per texture per platform will become very tedious very quickly, I personally see no real benefit in such detailed options.

Part of your example would be possible by lowering the Max Texture size of the World Texture group, which leaves the WorldNormalMap textures unchanged.

260293-texturegroup.png

I don’t believe specifying max LOD Size for TextureGroups works to limit cooked texture size.

In UE 5.5.4, I have some 4K textures that end up as 2MB files per texture. I’d set:

  • max LOD Size
  • max LOD Size VT

in LOD groups:

  • World
  • WorldNormal
  • WorldSpecular

in multiple device-profiles

  • Android_ASTC
  • Android
  • Oculus_Quest2

After cooking, I checked directly in Saved/Cooked/Android_ASTC/… and the cooked World LODGroup .uasset/.ubulk texture is still 2MB+ .

I then hard-set the maximum texture-size in the texture-viewer, recooked, and now the same texture .uasset is < 200K.

This is a bad state that increases work, when texture-sizes won’t auto-adjust based on which platform it’s being cooked for.

Coming from Unity this just works with no problems over there, and the Texture Asset view shows the final size (X,Y) in-editor instead of spelunking through the cooked files to be sure.