Textures stuck on low resolution in UE 5.4

Yes, you can also copy the latest Oodle version number in with a bulk edit. But it’s still a huge PITA :grimacing:

1 Like

@UE_FlavienP I don’t know if you’re still reading this, but I can now confirm it happens with the Oodle plugin disabled. So it’s not that… :grimacing:

1 Like

Just following up here…I was having that 64x64 texture problem galore, and ever since disabling Oodle Texture plugin it hasn’t happened again. This is after a good 40 hours of dev and loading in many more models/textures. The plugin which is on by default and I have no idea what it does or why it’s needed, disabling it doesn’t seem like the right solution, so Epic may want to look into that. As of right now it just gets in the way apparently.

1 Like

Looking at the internal slack thread it seems this is fixed in 5.5 now.
https://github.com/EpicGames/UnrealEngine/commit/bcf23e617b8e639ece7ac5822eb47b93c2e0cf76

2 Likes

Hallelujah! :rofl:

What was the problem? ( I can’t open the page… )

Bug in the ForceRebuild

2 Likes

Ah… that’s the 3 times a second blip I’ve been seeing… :smiley: :+1:

Is there any chance of getting this fix included in a 5.4.3 patch for UE 5.4?
It seems like such a huge issue that I would not consider UE 5.4 production ready without it.

If that’s not an option: what’s the best way to fix this in the 5.4. launcher version of the engine?

2 Likes

No this fix is not hotfixable. They have rules on what can get into a hotfix.

I don’t know if this is useful or not, for me, I followed the instructions on this link:

In DefaultEngine.ini I added these lines:
**[AlternateTextureCompression]
TextureCompressionFormat=“TextureFormatOodle”
TextureFormatPrefix=“OODLE_”
bEnableInEditor=True

[TextureFormatOodle]
DefaultRDOLambda=30
GlobalLambdaMultiplier=1.0
bForceAllBC23ToBC7=False
bForceRDOOff=False
bDebugColor=False**

and after that i open texture who cause the problem, and click latest on Oodle Texture SDK Version
Texture

Doing this

image

will fix the issue for affected textures, but so will many other changes.

Apparently, a fix is coming 5.5

1 Like

Seconded on this. It seems unreasonable to leave such a critical bug forever present in a version of the engine that Epic presents as “stable”. I don’t particularly appreciate Epic forcing me into a minor version upgrade for every project I’m running to correct something that should function correctly from the start.

Epic can also change its license agreement between minor versions (like they recently did with their new per-seat model for some industries). IMO, this sets a pretty bad precedent if previous engine versions are being left behind with critical issues present.

If this had occurred in 5.3 instead of 5.4, we’d have some very angry ArchVis and film professionals here saying, “I’m not paying you $1,850 to fix this”. Epic is certainly within its rights here, but it’s a pretty bad look.

2 Likes

Thank you. That fix also works fine in 5.4, so might be the best option for those with source builds.

if you have python unreal scripts working, you can run this to process all the texture in your project. keep in mind that this will take a WHILE. so probably do it before you go to bed at night :slight_smile:

import unreal


# Function to update the Compression Cache ID of a texture
def update_compression_cache_id(texture):
    if isinstance(texture, unreal.Texture):
        try:
            new_compression_cache_id = unreal.Guid()
            texture.compression_cache_id = new_compression_cache_id
            texture.modify()
            texture.post_edit_change()
            unreal.EditorAssetLibrary.save_loaded_asset(texture)
            print(f"Updated Compression Cache ID for texture: {texture.get_name()}")
        except:
            print("exception")

# Get all assets in the scene
assets = unreal.EditorAssetLibrary.list_assets('/Game', recursive=True, include_folder=True)

# Iterate through all assets and find textures to update
for asset_path in assets:
    asset = unreal.EditorAssetLibrary.load_asset(asset_path)
    if isinstance(asset, unreal.Texture):
        update_compression_cache_id(asset)

2 Likes

Thank you so very much, great workaround until this gets fixed…
None of the other Oodle or command line fixes have worked for me.

This is a larger-scale project change than disabling Oodle, but I want to mention here that converting your Streaming Method on the texture sample from Streaming to Virtual Streaming will also fix this bug, and make Maximum Texture Size = 0 work as designed.

apparently the fix landed in 5.4.3
https://github.com/EpicGames/UnrealEngine/commit/bcf23e617b8e639ece7ac5822eb47b93c2e0cf76

4 Likes

Thank you! Fixed!

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.