Description

This is not a regression. Tested in //UE4/Release-4.27 CL18319896

Adding a variable to a Structure after packaging then repackaging causes the package to fail.

Steps to Reproduce
  1. Create or open any project
  2. Create and save a new Structure named 'ST_Test'
  3. Create a new Blueprint Actor
    1. Add a new variable of type 'ST_Test'
    2. Compile, save, and close the Blueprint Actor
  4. Package the project for Windows
  5. After successfully packaging add a new variable to 'ST_Test'
  6. Without making any changes to the Blueprint Actor package the project for Windows 

Expected Results:
The project packages successfully.

Actual Results:
Packaging fails with:

PackagingResults: Error: FStructProperty::Serialize Loading: Property 'StructProperty /Game/BP_Tester.BP_Tester_C:Struct'. Unknown structure.

OR

  1. Create and save a new Structure named 'ST_Test', add one variable
  2. Create a new Blueprint Actor
    1. Add a new variable of type 'ST_Test', compile the blueprint
    2. Set the variable's default value
    3. Compile, save the Blueprint Actor
  3. Add a variable to ST_Test, save it
  4. Save the blueprint actor without compiling
  5. Reload the Blueprint actor (or shutdown the editor? this is what i was doing) - observe error when reopening the blueprint actor and observe that default value you set above has been lost

Expected Results:
No data loss, no error

Actual Results:
Error in log, data is lost

Have Comments or More Details?

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

11
Login to Vote

Unresolved
ComponentUE - Gameplay
Affects Versions5.0.3
Target Fix5.5
CreatedAug 12, 2022
UpdatedFeb 13, 2024