Soft Object unloads when stored in the Blackboard

Issue: Load a soft object and directly place the loaded object into a blackboard. After around 2 minutes the object will unload and become null inside the blackboard. This issue only occurs in a packaged game or when running the game in standalone

Detailed steps to replicate (see bottom for link to project):

  1. Create a BP actor: MyRandomActor
  2. Create a Blackboard: MyBB
  3. Add an object variable inside the Blackboard: MyObject
  4. Create an AIController: MyAIC
  5. Add a soft object to the AIController and set the default value to MyRandomActor
  6. On begin_play of MyAIC, load the soft object. Use the blackboard “MyBB” and set the MyObject value inside the blackboard to the loaded soft object
  7. On tick of MyAIC, print if the MyObject value on the Blackboard is valid
  8. Create a pawn to use MyAIC and place the pawn in the map
  9. Run the game in standalone and wait for 5 minutes (usually took me around 2 minutes before it unloads), the soft object which was loaded should have become unloaded and is now nullptr inside the blackboard

Other things I have tested:

  • The object does not unload if you store the loaded object as a variable inside MyAIC
  • This also occurs with TSoftClassPtr

Link to a project replicating these steps: SoftObjectBug.zip - Google Drive

Hello,

We’ve recently made a switch to a new bug reporting method using a more structured form. Please visit the link below for more details and report the issue using the new Bug Submission Form. Feel free to continue to use this thread for community discussion around the issue.

https://epicsupport.force.com/unrealengine/s/

Thanks

didnt test this, but I know unreal engine will garbage collect up object spawned from soft objects unless u save the spawned object inside a variable (normally a UProperty). This isnt a bug its intented behavior.

didnt test this, but I know unreal engine will garbage collect up object spawned from soft objects unless u save the spawned object inside a variable (normally a UProperty). This isnt a bug its intented behavior.