The powerup actor does use OnComponentBeginOverlap to give the player the effects of the powerup. It then destroys itself since the powerup has been consumed, triggering a timer in the powerup spawner actor to spawn another powerup after a period of time. That trigger is setup by having the spawner subscribe to the powerup’s OnDestroyed event. The problem is that if someone is standing at the powerup’s spawn location at the time it spawns, the player will cause OnComponentBeginOverlap to fire which will fire OnDestroyed before the spawner can even subscribe to it.