Description

When a blueprint (A) contains a instanced reference to another blueprint (B) that is EditInlineNew, changing a value B causes the associated variable in A to display as "Multiple Vaules"

Workaround:
Compiling blueprint A causes the variable to update to the proper value set in B

Regression:
No - Same behavior occurs in 4.17.2 (CL 3658906)

Steps to Reproduce
  1. Open UE4 Editor (any project)
  2. Add two classes based on Object (A & B)
  3. In class B:
    • Add Blueprintable, EditInlineNew to UCLASS macro
    • Add the following property to the class declaration:
      UPROPERTY(EditDefaultsOnly)
      float TestValue;
      
  4. In class A:
    • Add include statement for class B
    • Add Blueprintable, to UCLASS macro
    • Add the following property to class declaration:
      public:
      	UPROPERTY(EditDefaultsOnly, Instanced)
      		UClassB* Inlined;
      
  5. Compile
  6. In the editor, create a blueprint based on each class (ClassA_BP & ClassB_BP)
  7. Open ClassA_BP and set property Inlined to ClassB_BP
  8. Open ClassB_BP and change the value of TestValue;
  9. Compile ClassB_BP

Result:
After compiling ClassB_BP, the Inlined variable in ClassA_BP shows as "Multiple Values"

Expected:
Referencing blueprint shows the value that was set in the referenced blueprint on compile

Have Comments or More Details?

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

9
Login to Vote

Cannot Reproduce
ComponentUE - Gameplay - Blueprint
Affects Versions4.17.24.18
Target Fix4.24
Fix Commit9309762
Main Commit11254295
CreatedOct 30, 2017
ResolvedOct 1, 2019
UpdatedFeb 5, 2020