[GAS System] Effect of temporary buffs on dynamic attributes.

Lets assume that I have a weapon actor, which holds attribute set that contains weapons stats such as RPM, Damage etc.

When my character equips this weapon, i add its attributes to characters ASC, I remove these attributes on unequip.

If my character gets a temporary buff that , for example, doubles RPM. And If unequip the weapon while this buff is active, does this result in that attribute being doubled forever? Or is GAS system intelligent enough to handle such cases?

(post deleted by author)

The way i did this was to have a WeaponAttributeSet on the character who has the weapon. Applying buffs etc, just modifies multipliers on this set (yes its weapon wide). But you ultimately control what buffs are applied (and you can use tags to filter if a buff affects a specific weapon or not). When equipping/unequipping a weapon we also apply GE’s which adjust this set (aswell as character movement for heavier weapons, etc). Which we remove when then weapon is unequipped (we use Ability Sets for this case).

If your making a multiplayer game, i would advise not doing things like “Ammo” in an attribute set. Our weapons for example don’t even have an Ability System Component!

Hope this help!