Lyra HealthSet OnMaxHealthChanged purpose and possible bug

So I was implementing the HealthComponent from Lyra in my own game and noticed that the OnHealthChanged and OnMaxHealthChanged are only triggered for “instant” GE but not for “infinite” GE. This seems to be due to the fact that these delegates are only called in “PostGameplayEffectExecute”, which in return only gets called for BaseValue changes (instant GE).

According to GitHub - tranek/GASDocumentation: My understanding of Unreal Engine 5's GameplayAbilitySystem plugin with a simple multiplayer sample project. · GitHub there is a function
“AbilitySystemComponent->GetGameplayAttributeValueChangeDelegate()” for this purpose. I tried this one instead in the HealthComponent and it works just fine.

So my questions are:

  • Why does Lyra reimplement this behavior if there already exists a delegate? (Other than being able to provide more custom data such as the instigator)
  • Does Lyra not consider MaxHealth to be modified by “infinite GE” as a design decision or is this a bug?
  • Where do I have to place the OnMaxHealthChanged call to make it work for “infinite” GE?