This Unreal 5.3 Gameplay Ability System video is about building a generic Pickup system and we’ll start by using it for Ammo Pickups.
We start by copying the ClampAttributeOnChange function from the HealthSet to the WeaponSet to use it with LoadedAmmo and CarriedAmmo. And then, in the Editor, we build a Pickup Base Blueprint with customizable values for which Gameplay Effect to apply, and what Attributes and Data Tag it is based on. With that (finally) working, we create a Pickup Generator that can spawn a Pickup a variable duration after the last pickup has been picked up.
https://dev.epicgames.com/community/learning/tutorials/mzWk/unreal-engine-24-pickup-system-with-ammo-pickups-let-s-make-a-top-down-shooter