Tip - HDR Optimization & Compression (Or any textures)

When following UE tutorials on cubemaps, HDRI’s and skyspheres you will inevitably have to import and deal with HDR textures.
These take up a lot of disk space and may deter you from using them but with a few settings you can take their cook size down dramatically as shown below.

The same theory works for any textures, I am focusing on HDR formats here as they are by far the biggest budget blowers in my experience.

Before (No optimization)

After (Compression & Lower Max Texture Size)

To achieve this open up the texture details by double clicking it in the content drawer and change these settings. Remember to save!

Compression Settings - Change to HDR Compressed (Only change this for HDR textures)
Maximum Texture Size - Set this to your preference, lower will result in a lower cook size, but will make the texture blurrier.
Lossy Compression Amount - I set this to the max of RDO40 with no noticeable difference on any textures.

After cooking you will then find your project size has dropped dramatically!

Find more optimization tips and discussions in the Megathread - Project Optimizations - Thanks @Fresnella !

Disclaimer - I am by no means an expert in this, but this is working well for me, your milage may vary. If more experienced people would like to add or correct I greatly welcome it.
There are technical implications I have not tested (HDR Compressed works on all target platforms? Vulkan?) so I cannot guarantee you will not have issues down the line.

3 Likes

Thanks for the tip, @Cardin !

Question - In terms of storage space and project loading time, is there any benefit to optimizing my textures before I upload them to UEFN, or could I do all of the optimization in-engine without bothering to optimize beforehand?

For example, in UEFN is there any difference between a texture I uploaded at 1024 x 1024 pixels vs one I uploaded at 4000 x 4000 with the Maximum Texture Size set at 1024? Does UEFN just treat the 4000 texture as if it’s 1024, even though I uploaded it as 4000?

Also, if I were you I would consider including a link to your optimization megathread in the body of this post, for future creators who might find this post. If they find this post helpful they might enjoy your megathread, which they may not have seen before. I know you linked to this post from that one, but it might be useful to link both ways.

2 Likes

Yes this this right line of thinking.

Optimizing your textures externally before bringing them into UEFN may make your life easier in the short term by letting you launch the project quicker.

But, this limits your project to scale to more powerful hardware.
Also you may want to release a “remastered” version of your project down the line as technology catches up, by keeping source files high makes this process much less painful down the track. All within reason of course, use all 8k source textures and your pc will feel it.

Regarding your example, correct, Fortnite just loads a 1024x1024 in both scenarios.

So if your only aim is to release a lean map now, bringing in 2048x2048 textures is optimal as that is the largest Fortnite will let us use. (HDR max is higher, 4096x4096x6 i think)

So considering this and going back to your example I would personally import the 4k texture and optimize it within engine. I will happily deal with large local project sizes and longer cook times because the alternative is not having flexibility for the project to
scale.

You got me curious if the time savings would even be significant by optimizing source textures. I suspect not, time for some science

Where can I find the Project Size option? I looked for it under Project Settings, but couldn’t find it.

In the tools menu in the UEFN editor

The statistics option doesn’t list the Project Size. I’m using an UE5.2 version.

Ahh you’ve crossed borders. This is the UEFN forum, we run a fork of UE5.4 specifically tailored for fortnite UGC development. The project size part does not apply in your context, it is to do with packing up payloads for the fortnite client.

1 Like