Local Variable references inside Blueprints do not resolve correctly after Move

I am on a project where we have downloaded a Marketplace Asset that requires a move to a different location under the Content folder in order to starndardize our internal process. During the move of the “Rome Fantasy Pack I” Marketplace Asset a blueprint related error surfaced.

I will include instructions to simulate and recreate this bug from a new project.

Creation of Simulated Marketplace Asset containing example test Blueprint:
(This will create something that resembles the Marketplace Asset that we have purchased with a Blueprint containing both a variable and local variable containing references to another asset.)

  1. Launch UE and create new Blank project called “TestProject”
  2. In Content Browser, add new folder named “TestMarketplaceAssets”
  3. From /Content/StarterContent included in the Blank Project, Copy “Materials” to “TestMarketplaceAssets” by dragging the “Materials” folder to “TestMarketplaceAssets”
  4. Allow shaders to finish compiling
  5. Under “TestMarketplaceAssets” folder, create another folder named “TestBlueprints”
  6. In the “TestBlueprints” folder create a new Blueprint Class asset named “TestBlueprint” with the Actor class as its parent
  7. Double-Click the “TestBlueprint” object to enter its editor
  8. Create a new Variable inside the Blueprint named “MaterialArray” and set its type to “Material” and make it an Array.
  9. Compile the Blueprint in order to set the Array elements of its Default Value.
  10. Under the Material Array Default Value, add 3 array elements and assign the first 3 materials from under \TestMarketplace\Materials to these elements.
  11. Now select the ConstructionScript object of your “TestBlueprint” and double-click to view it in the graph
  12. Under “Local Variables (UserConstructionScript)” create a new Local Variable called “LocalMaterialArray” and set its Variable Type to “Material” and also make it an Array.
  13. Compile the Blueprint to reviewl the Local Material Array under Default Value.
  14. Under Local Material Array Default Value, add 3 array elements and assign the same 3 materials used prevously from under \TestMarketplace\Materials to these elements.
  15. Compile and Save the Blueprint and exit the Blueprint editor.
  16. Select “Save All” from the Content Browser and Close the Project

Simulation of Asset Move:

  1. Launch UE and using the “TestProject” created above
  2. In the Content Browser, select “Content” and create a new folder named “TestDestination”.
  3. Move “TestMarketplaceAsset” by left-clicking its folder and dragging it over “TestDestination”. Select “Move Folder Here” when prompted.
  4. Fix Redirectors from the Move source if necessary (There should not be any redirectors in this simple move.)

Verify Bug:

  1. Select “TestBlueprint” from \TestDestination\TestMarketplaceAsset\TestBlueprints and open the Blueprint Editor for this object
  2. Select Variables->Components->MaterialArray and view the 3 elements in its Default Value. The correct references are made to materials that have now moved to \TestDestination\TestMarketplaceAsset\Materials
  3. Now select “Local Variables (UserConstructionScript)”->LocalMaterialArray and notice the 3 elements in its Default Value. All elements are listed as none and their references have been lost.

Can this be verified and submitted as a bug?

Hello ,

Thank you for submitting a bug report. I have reproduced this issue and logged a report for it here

You can track the report’s status as the issue is reviewed by our development staff. Please be aware that this issue may not be prioritized or fixed soon.

Hi. As 4.19, this bug is not fixed. If possible to reopen it please?