A licensee has reported that using FStringAssetReference::ResolveObject to reference an asset in Blueprints will result in that asset never being garbage collected. Doing the same workflow in C++ does not result in this behavior.

Please note, this only occurs in Standalone Game and packaged games.

Regression?: No
This also occurred in 4.12.5

Steps to Reproduce
  1. Download the attached project, generate project files, and compile the project
  2. Open the project
  3. Open the LV_AssetLoad_BP map
  4. Start the game in Standalone Game
  5. Press Enter to load the asset
    Result: The asset is loaded but, despite not being referenced directly, is never garbage collected.
    Expected: As with the results of the same test but on the LV_AssetLoad_CPP map (all of the same logic but in C++ instead of Blueprints), the asset should be garbage collected a few seconds after being loaded.

Have Comments or More Details?

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

Login to Vote

ComponentUE - Gameplay - Blueprint
Affects Versions4.
Target Fix4.17
Fix Commit3437205
Main Commit3459511
CreatedNov 15, 2016
ResolvedMay 12, 2017
UpdatedJun 11, 2019