I want to prevent trigger spamming to fire a projectile weapon by implementing a fixed bullet per second timer

I’m sure a lot of people have an answer to this on here but…

DoOnce delay and resetting sounds ok to me, what happens?

Other things that spring to mind are:

  1. SetTimerByEvent


  1. Relating the number of bullets to WorldDeltaSeconds * X → Int

The closest example of a system like this is within Overwatch, Ana for example can only fire her weapon so fast and cannot exceed her weapons set rounds per second no matter what. I’m pretty sure the best way to go about doing this should be set up within the specific weapon actor’s blue print so that any different weapon can be adjusted independently. I’ve tried a few things with delays and reseting do once nodes, but the results were buggy and messy. I’m not really sure how to go about doing this and would appreciate any help or direction.