Blueprints using renamed variable do not indicate that they need to be recompiled. (However errors are shown on play)
It is possible to not see an error if you add a variable with the same name as the variable you just changed.
User Reported Issue:
Sample Project Attached
A. With Output Log errors:
1	Create blank blueprint project; 
2	In content browser create Actor blueprint class, named "BP_B"; 
3	Add to BP_B integer variable, named "var", and PrintString this variable in EventTick; 
4	In content browser create Actor blueprint class, named BP_A; 
5	Add to BP_A BP_B variable, named "B", in EventBeginPlay add SpawnActor BP_B and save ReturnValue to this variable; 
6	In BP_A in EventTick increment B.var (Get, +, Set); 
7	Run PIE, watch on screen how the variable B.var increases; 
8	Rename BP_B variable "var" to "old";
9	Watch that the BP_B marked as Unsaved and Dirty, but BP_A only marked as Unsaved, not Dirty; 
10	In BP_A graph Get and Set nodes changed to "old"; 
11	Run PIE, watch that the variable B.old does not change;
12	Watch error in Output Log: 
"PIE: Error: Blueprint Runtime Error: Attempted to access missing property 'None'. If this is a packaged/cooked build, are you attempting to use an editor-only property? from function: 'ExecuteUbergraph_BP_A' from node: Set var in graph: EventGraph in object: BP_A with description: Attempted to access missing property 'None'. If this is a packaged/cooked build, are you attempting to use an editor-only property?"
"PIE: Error: Blueprint Runtime Error: Attempted to assign to None from function: 'ExecuteUbergraph_BP_A' from node: Set var in graph: EventGraph in object: BP_A with description: Attempted to assign to None".
B. Without Output Log errors (step 8* added):
1	Create blank blueprint project; 
2	In content browser create Actor blueprint class, named "BP_B"; 
3	Add to BP_B integer variable, named "var", and PrintString this variable in EventTick; 
4	In content browser create Actor blueprint class, named BP_A; 
5	Add to BP_A BP_B variable, named "B", in EventBeginPlay add SpawnActor BP_B and save ReturnValue to this variable; 
6	In BP_A in EventTick increment B.var (Get, +, Set); 
7	Run PIE, watch on screen how the variable B.var increases; 
8	Rename BP_B variable "var" to "old";
8*	Add to BP_B integer variable, named "var";
9	Watch that the BP_B marked as Unsaved and Dirty, but BP_A only marked as Unsaved, not Dirty; 
10	In BP_A graph Get and Set nodes changed to "old"; 
11	Run PIE, watch that the variable B.old does not change;
12	No any error in Output Log. The variable "var" (step 8*) changes.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-55369 in the post.
| 7 | 
| Component | UE - Gameplay - Blueprint Compiler | 
|---|---|
| Affects Versions | 4.18.3 | 
| Created | Feb 20, 2018 | 
|---|---|
| Resolved | Aug 18, 2021 | 
| Updated | Aug 18, 2021 |