Description

When loading thumbnails in FLinkerLoad::SerializeThumbnails, the level asset has two thumbnails. The first one has a size of 0, which causes the loading process to abort early. Since the actual thumbnail is stored in the second entry, the issue can be avoided by continuing the loop instead of breaking out of it.

FLinkerLoad::ELinkerStatus FLinkerLoad::SerializeThumbnails( bool bForceEnableInGame/*=false*/ )
{
...
				// Load the image data
				FObjectThumbnail LoadedThumbnail;
				LoadedThumbnail.Serialize(DataStream.EnterElement());

				if (!LoadedThumbnail.HasValidImageData())
				{
#if 1 // work around
                    if (IsTextFormat())
					{
    					// If we failed to load the thumbnail, stop loading as it might be unsafe
    					// to continue reading the stream.
						break;
					}
					else
					{
                        // We can continue the loop as it seeks to a safe position each time.
						continue; 
					}
#endif // end work around
                }

				// Store the data!
				ThumbnailMap.Add(CurThumbnailInfo.ObjectFullName, LoadedThumbnail);


Steps to Reproduce
  1. Open a level in the editor
  2. Select the level asset in the Content Browser and click Asset Action > Capture Thumbnail
  3. Save the asset
  4. Close the editor
  5. Run the commandlet: {{ {EditorPath}

    {ProjectPath}

    -run=resavepackages -Package=/Game/ThirdPerson/Lvl_ThirdPerson}}

  6. Relaunch the editor and check the thumbnail of the level asset

Result:

The thumbnail is stripped

Expected Result:

The thumbnail is still displayed

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-379269 in the post.

0
Login to Vote

Unresolved
ComponentUE - Editor - Developer Usability
Affects Versions5.7
CreatedMay 12, 2026
UpdatedMay 13, 2026
View Jira Issue