Is there an atlas functionality in UE5.3? We hope to combine multiple images on the UI into a single image to optimize performance.
[Attachment Removed]
Is there an atlas functionality in UE5.3? We hope to combine multiple images on the UI into a single image to optimize performance.
[Attachment Removed]
重现步骤[Attachment Removed]
[Image Removed]When setting the atlas in Sprite, it freezes for a while and then triggers a crash.
[Attachment Removed]
Hello [mention removed],
Thanks for the report. I was able to reproduce the issue locally by enabling Sprite Atlas Groups and assigning an Atlas Group to a Sprite asset. In my tests, this causes the editor to hang and crash in 5.3, 5.6, and a recent UE5-main source build. The same workflow does not occur in 5.2, which suggests this may be a regression introduced in 5.3.
I’m currently looking further into this and I’ll get back to you as soon as I have an update.
Best,
Francisco
[Attachment Removed]
Hello [mention removed],
Thanks again for the report. I’ve now submitted this issue internally to the engine team. Once it becomes public, you’ll be able to track its status here: Unreal Engine Issues and Bug Tracker (UE\-358149)
Regarding the cause, this is an infinite loop in the editor. In UE 5.3 and later, assigning a Sprite Atlas Group to a PaperSprite causes UPaperSprite::PostEditChangeProperty to be triggered twice. The first call corresponds to the user-driven change, while the second call occurs during atlas rebuild propagation and comes through with a generic property change event. During this second call, the sprite attempts to rebuild the atlas again, which re-triggers the same code path. This repeats indefinitely, resulting in an editor hang and eventual crash.
As a temporary workaround, the loop can be prevented by guarding the atlas rebuild logic in UPaperSprite::PostEditChangeProperty so that it is skipped when the change type is EPropertyChangeType::Unspecified, similar to how rebuilds are already skipped for interactive changes. For example:
if (PropertyChangedEvent.ChangeType != EPropertyChangeType::Interactive &&
PropertyChangedEvent.ChangeType != EPropertyChangeType::Unspecified)
{
// Existing logic for atlas rebuild
}
This should avoid the infinite loop and let you set the Atlas Group property. This workaround was taken from the following forum post:
https://forums.unrealengine.com/t/paper2d-sprite-atlas-group-issue-in-5-3-2/1772474/9
Please let me know if you need anything else on this. Otherwise, I’ll go ahead and close the case.
Best,
Francisco
[Attachment Removed]