C++もGamePlayAbilitySystemも初心者なので自分用のメモ。
自分、敵、味方など複数のキャラクターでHP等の汎用ステータスを作るならステータスはActorComponentクラスで作成してエディタ内でいじれたほうがゲームバランスの検証がしやすいと思うので、AttributeSetとステータス系のComponentを併用できないか考えてみました。

AbilitySystemComponentについて
https://okawari-hakumai.hatenablog.com/entry/2018/07/22/165242 (おかわりはくまいのアンリアルなメモ)
https://wvigler.hatenablog.com/entry/2021/05/10/095459 (第15回ぷちコン「たぬ吉の大冒険」振り返りその1)
これについては優秀な記事がたくさんありますので導入は省きます。上記の記事をご参照ください。
コンポーネントを追加する
今回はStatusComponentというアクターコンポーネントを作成しました。これを実装したいクラスへ追加します。このクラスにUAbilitySystemComponentクラスとUAttributeSetクラスも追加しています。
CharacterBase.h

CharacterBase.cpp

Attributeのステータスを初期化する
AttributeSetクラスで実装したEnergyという変数を、コンポーネントの変数でSetする。

これでAttributeの値=コンポーネントの値になりました。
AttributeSetクラスで他クラスのコンポーネントを参照する
自作したAttributeSetクラスに自作コンポーネントであるStatusComponent.hをincludeします。
PostGameplayEffectExecuteの定義の中でコンポーネントの変数も変更されるようにします。

これでGamePlayEffectでAttributeSetのEnergyを変化させると、CharacterBaseクラスに追加されているStatusComponentのEnergy変数も同時に変化するようになりました。
自分用のメモなので、もしかしたら間違っているかもしれません。もし詳しい方がいらっしゃったら回答お願いします。