/Engine/Source/Runtime/SlateCore/Public/Widgets/SWidget.h
Performs the attribute assignment and invalidates the widget minimally based on what actually changed. So if the boundness of the attribute didn't change volatility won't need to be recalculated. Returns true if the value changed.
template<typename TargetValueType, typename SourceValueType> bool SetAttribute ( [TAttribute](API\Runtime\Core\Misc\TAttribute)< TargetValueType > & TargetValue, const [TAttribute](API\Runtime\Core\Misc\TAttribute)< SourceValueType > & SourceValue, EInvalidateWidgetReason BaseInvalidationReason )