We are currently upgrading our engine version to 5.6 from 5.5, and are running into an issue with Mutable where it seems to be failing to create the customized meshes.
The issue is presenting itself as our NPCs appearing as our default mesh, or with no textures loaded (tile pattern all over the skel mesh).
When setting `LogMutable` to VeryVerbose we only see the following lines spammed in our log, with the Instance ID continuing to grow.
[2025.07.21-12.20.27:200][856]LogTemp: Warning: LOD Update Candidate found: MUT_TP_Character (CustomizableObjectInstance_2147478728)
[2025.07.21-12.20.27:200][856]LogTemp: Warning: Committed Descriptor: (Hash=1073981341,MinLODs=[(0, 1),])FirstLODAvailable=[(0, 0),])FirstRequestedLOD=[(0, 1),])
[2025.07.21-12.20.27:200][856]LogTemp: Warning: Requested Descriptor: (Hash=1073981341,MinLODs=[(0, 1),])FirstLODAvailable=[(0, 0),])FirstRequestedLOD=[(0, 0),])
[2025.07.21-12.20.27:200][856]LogMutable: Warning: Instance texture reuse requires that the current Mutable state is in non-streaming mode. Change it in the Mutable graph base node in the state definition.
[2025.07.21-12.20.27:201][856]LogMutable: Verbose: Creating Mutable instance with id [237]
[2025.07.21-12.20.27:237][859]LogMutable: Verbose: Finished Update Skeletal Mesh Async. CustomizableObject=MUT_TP_Character Instance=CustomizableObjectInstance_2147478728, Frame=13447 QueueTime=0.000000, UpdateTime=0.036614
[2025.07.21-12.20.27:248][860]LogTemp: Warning: Requested LOD Updates: 21
[2025.07.21-12.20.27:248][860]LogTemp: Warning: Object: MUT_TP_Character
[2025.07.21-12.20.27:249][860]LogTemp: Warning: Instance: CustomizableObjectInstance_2147478728
...
[2025.07.21-12.20.27:255][860]LogTemp: Warning: LOD Update Candidate found: MUT_TP_Character (CustomizableObjectInstance_2147478728)
[2025.07.21-12.20.27:255][860]LogTemp: Warning: Committed Descriptor: (Hash=1073981341,MinLODs=[(0, 1),])FirstLODAvailable=[(0, 0),])FirstRequestedLOD=[(0, 1),])
[2025.07.21-12.20.27:255][860]LogTemp: Warning: Requested Descriptor: (Hash=1073981341,MinLODs=[(0, 1),])FirstLODAvailable=[(0, 0),])FirstRequestedLOD=[(0, 0),])
[2025.07.21-12.20.27:255][860]LogMutable: Warning: Instance texture reuse requires that the current Mutable state is in non-streaming mode. Change it in the Mutable graph base node in the state definition.
[2025.07.21-12.20.27:255][860]LogMutable: Verbose: Creating Mutable instance with id [238]
We would see similar logs in 5.5 but the number of LOD updates would reduce each frame as they were handled and loaded, but that doesn’t seem to be the case in 5.6.
Additionally, in Insights we see thousands of `Mutable_UCustomizableObjectSystem::TickInternal` timings each tick.
The issue seems to be fixed by running the `Mutable.ForceStreamMeshLODs` command. When we do this the meshes load correctly.
I’ve enabled `bEnableMeshStreaming` on our COs to avoid the issue for now, but we weren’t streaming these before due to the functionality being experimental.
I’ve also double checked our project prior to the upgrade and we didn’t enable LOD streaming in Mutable, though we do have LOD streaming enabled in the Static Mesh LOD data.
The issue also does not present itself in PIE. Only in client builds.
Do you have any guidance on what we can do to track down the root cause of this issue?
I also think that 5.6 contains a regression of one of the issues in this post: [Content removed]
In the latest version, the branch for all LODs has been reverted to a 2 instead of a 0 for `MinLODs`. Originally fixed in this commit: https://github.com/EpicGames/UnrealEngine/commit/473f36488090f6533abdd099a3ffaf610fbe60ce
I’ve changed this locally but it doesn’t seem to affect this issue.