Description

If a class has an FText variable defined in code when a blueprint based on the class is placed in the level it does not update the BP variable if it is changed/ compiled.

Steps to Reproduce
  1. Open UE4Editor (any project)
  2. Add code to project based on actor (MyActor)
  3. In MyActor.h add the following:
    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Test)
    	FText DefaultText;
    
  4. Compile
  5. In the editor, create blueprint based on MyActor (MyActorBP)
  6. Show inherited variables and add a reference to DefaultText to the graph
  7. Compile and give DefaultText a value (any string)
  8. Create a print string node and wire the DefaultText into it.
  9. Wire the Event BeginPlay execution into the Print String
  10. Add instance of the blueprint to the level and PIE (notice the string entered is printed)
  11. Exit PIE and change the string in DefaultText
  12. PIE

Result:
The original string is printed again rather than the new string

Expected:
Code created text variable updates on compile in the same way a BP created text variable does.

Have Comments or More Details?

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

0
Login to Vote

Won't Fix
ComponentUE - Gameplay - Blueprint
Affects Versions4.10
CreatedDec 4, 2015
ResolvedJul 14, 2016
UpdatedJul 14, 2021