Properties that are deprecated are (incorrectly) not currently being propagated to instances by the duplication logic that we use to instance BP-added components as part of Actor-based BP construction logic. The end result is that the archetype (serialized) and the instance (duplicate) do not match after duplication. In turn, this leads the construction logic to infer that the member was modified by the BP's construction script, which is always authoritative over any instance-local edits that the user makes. This is why it no longer shows the serialized (non-default) value, and why it can no longer be toggled.

Steps to Reproduce
  1. Open the attached project in v4.27.
  2. Open the MAP_PostProcess map and select the BP_PostProcess instance in the Scene Outliner.
  3. Select the 'PostProcess' component in the Details tab.
  4. Navigate to the "Post Process Volume" category and drop-down the "Lens/Exposure" category.
  5. Note that "Exposure Compensation Curve" is checked, along with "Exposure Compensation," and that you can toggle both options on/off.
  6. Now open the attached project in v5.x (e.g. 5.3). Choose to convert/update the project to the current version when prompted by the dialog.
  7. Repeat steps 2-4 above.
  8. Note that "Exposure Compensation Curve" is not checked, the curve asset is no longer set to it, and you cannot toggle it on/off anymore.
    Expected result: The behavior is the same between 4.x/5.x, and there is no data loss.


Have Comments or More Details?

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

Login to Vote

ComponentUE - Gameplay - Blueprint
Affects Versions5.0
Target Fix5.5
CreatedOct 19, 2023
UpdatedFeb 12, 2024
View Jira Issue