Let me start by the use case. I want to have the Gameplay Ability determine the actual cooldown duration based on functions calls, etc (which I have working). Once that is determined I load the result in a Gameplay Effect with the “Assigned by Caller” and the Gameplay Effect Tag payload(ed) with the calculated duration. Next the Gameplay Effect fires and use the payload to assign the duration of the actual cooldown (and blocks the Gameplay Ability). The last step in the process is to have a GameplayCue (assigned in the Gameplay Effect) fire and update the UI to let the user know the skill is on cooldown (Ability Button is greyed out, cooldown count down occurring on the Cue tick, Ability button is reactivated OnRemove, which should be timed with the Gameplay Tag expiring.
My challenge is I don’t know how to pass the cooldown duration to the Cue (from the Effect). I think the answer lies in the Gameplay Effect UI Data, under the Display grouping on the Gameplay effect. I developed a new C++ sub class that defines a cooldown variable, however other than manually keying it into the GameplayEffect (which defeats the purpose) - I don’t know how to develop a function to determine the value for the new c++ class based on the cooldown duration passed to the effect from the ability. There are no functions in the Gameplay Effect to override. I cannot determine how to assign the variable value of the UIData class with the value received by the Gameplay Effect. any help would be appreciated, even if I am thinking about the relationship between ability, effect and cue wrong!