While this is very late. I stumbled on this post with the same question and thought I would reply with the information I gathered.
I primarily use ability tasks for tick events (a simple DoOnTick task works wonders for 95% of use cases) however, if there are hundreds of tasks potentially running at once, we defer to a ticking actor or set of actors (visible or not) and spawn/clean them up within the ability.
A simple actor class/BP which has it’s Tick exposed is plenty for most use cases.
- Use GameplayAbility to spawn ticking actor(s)
- If required, give spawned actor(s) reference to ability or actor info
- Use Wait Target Confirm to keep the ability running while actor(s) tick
- For example: while the users mouse button is pressed
- Here, the actors will tick on, doing whatever gameplay business you would like
- Use Target Confirmation to end the ability to destroy the ticking Actor(s)
- For example: when the mouse button is released
Of course this doesn’t account for many network elements out-of-the-box but it might spark something for your projects. [FONT=“Helvetica Neue”]