title: Unreal GAS: Print out the current value of an attribute to UI when it changes
body: <p>When the base value of an attribute changes, there is <code>UAttributeSet::PostGameplayEffectExecute()</code> available to access the (new) value and <em>GameplayEffect</em> with its context. I'm using this to print the changed value to UI (this is also done in ActionRPG).</p>
  
  <p>Is there something similar available for the <strong>current value</strong> of an attribute? How to notify UI, when <code>FGameplayAttributeData::CurrentValue</code> is updated?</p>
  
  <hr>
  
  <ul>
  <li>Though <code>UAttributeSet::PreAttributeChange()</code> is called on every value update, it doesn't provide any context so it is not possible to access the UI from there (events broadcasted by <code>FAggregator</code> also don't fit).</li>
  <li>It is possible to use a <em>GameplayCue</em> instead, to set the value of <code>FGameplayAttributeData::CurrentValue</code> within the UI (the cue is triggered by the <em>GameplayEffect</em> who sets the current value). This is possible by deriving from a <code>GameplayCueNotifyActor</code> and use its events <code>OnExecute</code> and <code>OnRemove</code>. However, instantiating an actor just to update UI seems to be a waste of resources.</li>
  <li>It is also possible to fetch the information using the UI itself (calling a function which accesses the attribute each tick or with a timer), but in comparison to event driven UI update, this is also wasteful.</li>
  </ul>