Description

When a blueprint inherits a TMap variable with a UObject* as the value, compiling the blueprint causes anything set for the value to rest to "none"

Workaround:
Adding the TMap through the editor retains the set value (ex: MyActorBP is added as a child actor component to another blueprint)

Regression:
Yes - This does not occur for 4.16.3 (CL 3561208)

Steps to Reproduce
  1. Open UE4 Editor (any project)
  2. Add class based on Actor (MyActor)
  3. Add the following to MyActor.h:
    inside class body
    -----------------------------------------
    UPROPERTY(EditAnywhere, Instanced, Category = "Sense Specific Details")
    TMap<float, UObject*> TestVar;
    
  4. Compile
  5. Create a blueprint based on MyActor (MyActorBP)
  6. In Details panel, Add element to Test Var map varaible
  7. Click the "None" dropdown and select any available object
  8. Compile the blueprint

Result:
After compiling, selected object resets back to None

Expected:
Reference to custom object remain after blueprint compile

Have Comments or More Details?

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

1
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint
Affects Versions4.17.24.18
Target Fix4.18.1
Fix Commit3717475
CreatedOct 20, 2017
ResolvedOct 24, 2017
UpdatedAug 9, 2018
Pull Requests
4447 - klorberg