Description

When a UObject blueprint is compiled, other blueprints with an Instanced variable of that type will show as REINST and will not recognize the original blueprint data.

Steps to Reproduce
  1. Open UE4 Editor (any project)
  2. Add code to project based on UObject (MyObject) and AActor (MyActor)
  3. Add the following specifiers to UMyObject UCLASS macro
    • Blueprintable, BlueprintType, EditInlineNew
  4. Add include statement for MyObject.h to MyActor.h include list
  5. Add the following to AMyActor class declaration:
    UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced)
    		UMyObject* MyObjectPtr;
    
  6. Compile
  7. Create blueprint for each class (MyObjBP & MyActorBP)
  8. Open MyActorBP and set MyObjectPtr reference to MyObjBP
  9. Open MyObjBP and compile

Result:
In MyActorBP MyObjectPtr now shows as "REINST MyObjBP C ###"

Expected:
MyObjectPtr holds reference to MyObjBP after the blueprint is compiled.

Have Comments or More Details?

Head over to the existingAnswerHub thread and let us know what's up.

10
Login to Vote

Fixed
ComponentGameplay - Blueprint
Affects Versions4.13.1
Target Fix4.17
Fix Commit3447537
Main Commit3459511
CreatedOct 7, 2016
ResolvedMay 18, 2017
UpdatedMay 25, 2017