When a variable of type AssetID is set to an asset on another level, the reference to the second asset is lost after reloading the project if the second asset is renamed.

No - this behavior occurs in 4.13 as well

Steps to Reproduce
  1. Open UE4 Editor (any project)
  2. Add two new levels (TestLevel1 & TestLevel2)
  3. Set TestLevel1 as the persistent level and TestLevel2 as a sublevel
  4. Create a new blueprint of type Actor (ActorBP)
  5. Create a new public variable inside ActorBP (AssetRefVar)
    • Set Variable Type to ActorBP->Asset ID
  6. Add instance of ActorBP to TestLevel1 and TestLevel2 (ActorBP1 & ActorBP2)
  7. Set AssetRefVar for each instance to point to the one on the opposite level
  8. Save All
  9. In the World Outliner, select ActorBP2 and rename
    • Note that when ActorBP1 is selected, the new name of ActorBP2 is set
  10. Close and reopen the editor

When the editor reopens, ActorBP1 has lost it's reference and is set to None. ActorBP2 still holds its reference to ActorBP1.

Reference is held after editor restart if the asset name has changed.

Have Comments or More Details?

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

Login to Vote

ComponentUE - Gameplay - Blueprint
Affects Versions4.13.24.14
Target Fix4.18
Fix Commit3562292
Main Commit3582334
Release Commit3643070
CreatedNov 25, 2016
ResolvedJul 28, 2017
UpdatedJun 11, 2019