Context
TOptional<T> is a wrapping struct around a type, that lets the property have an set and unset state, in addition to the property's value when set. It is editor exposed: designers can open blueprints and modify any editable TOptional.
[Image Removed]
Problem
When changing the set/unset state of a TOptional property in blueprint editor on a blueprint, any derived blueprints loaded in memory don't receive the new value via propagation even if the child blueprint had no override for the property.
If the state was already set on both, then inheriting value changes works as intended. Value inheritance only breaks when changing the set-unset state.
UPROPERTY(EditAnywhere) 
TOptional<float> MyOptionalProp;
Callstacks are non-fatal, for reference only. This is the function where likely work is needed.
The following functions are what handle setting/unsetting the optional value in editor. They find the inheriting archetype instances correctly, but do not change those archetypes their 'set' state. This might be due to making changes to the archetype while not using ImportText, which would handle the usual propagation.
OptionalProperty->MarkSetAndGetInitializedValuePointerToReplace(Addr); > UnrealEditor-PropertyEditor.dll!FPropertyHandleOptional::SetOptionalValue(FProperty * NewProperty, const UClass * NewObjectClass) Line 5713 C++ UnrealEditor-PropertyEditor.dll!FPropertyEditor::OnSetOptionalValue(FProperty * NewProperty, const UClass * NewObjectClass) Line 374 C++
OptionalProperty->MarkUnset(Addr); > UnrealEditor-PropertyEditor.dll!FPropertyHandleOptional::ClearOptionalValue() Line 5867 C++ UnrealEditor-PropertyEditor.dll!FPropertyEditor::OnClearOptionalValue() Line 389 C++
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-350636 in the post.
| 0 | 
| Component | UE - Framework - Blueprint Editor | 
|---|---|
| Affects Versions | 5.4, 5.5, 5.6, 5.7 | 
| Created | Oct 27, 2025 | 
|---|---|
| Updated | Oct 28, 2025 |