Timer is not working

Need help. I created a state system. One state starts – time passes – another state begins. This is one of the implementations. The problem is that this “time passes” part is done using a timer. The first time it works, but the second time it doesn’t. Here’s the code – maybe I’m missing something, but I’ve reviewed everything and still don’t understand what’s wrong.

I’ve removed parts of the code that are unrelated to the problem. And for testing, I made a transition from a state to the same state.

BASE CLASS for any state (game_state)
REGULAR STATE (Child class – pre_game_delay) and game_state_manager, but there’s probably little point in looking there, because based on the debug logs I can see that the StartForAll method on the timer is being called, but for some reason, it doesn’t work. The reference seems to be there… So I just can’t figure out what’s wrong.

Summary

Timer only works once when used in custom game state logic — subsequent triggers fail to activate.

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

Devices

Steps to Reproduce

(WARNING) - You can reproduce it only with my scripts and other bundle, but i still will write here similiar stuff that is probably will work same(if there is no issues exaclty in my code)

Place a timer_device in your UEFN map and assign it a default active duration (e.g., 5 seconds).

In Verse, subscribe to the timer’s SuccessEvent using Subscribe() to handle completion.

Call SetActiveDuration() and then StartForAll() from Verse logic (e.g., from a function triggered on game start or state logic).

Upon completion (confirmed by SuccessEvent firing), attempt to reuse the same timer: call SetActiveDuration() again and StartForAll() again.

Observe that SuccessEvent does not trigger the second time, despite correct reactivation calls.

Confirm that “Success on Timer End” is enabled and “Completed Behavior” is set to “Reset” in the device settings.

Expected Result

Timer should successfully complete and fire SuccessEvent every time StartForAll() is called, even if reused in the same or different states.

Observed Result

Timer works as expected only on the first call.

On subsequent uses (even after setting duration again), the SuccessEvent does not fire.

Debug logs show that StartForAll() is called and duration is set, but the event handler does not trigger.

Reset behavior is set to “Reset” and “Success on Timer End” is enabled.

When the same timer is triggered by a button device, it works repeatedly.

Platform(s)

Windows

Upload an image


изображение_2025-04-06_205945963.png

Video

These are my scripts

game_state.verse (4.3 KB)
game_state_manager.verse (1.8 KB)
pre_game_delay.verse (1.3 KB)
state.verse (238 Bytes)

See my original post

I was able to get it working using the Reset() so weird tho

Well i see you do not do start with verse, so it works on your project. With recommendation of one person I added Sleep delay between reset and start so it now works, there are things to fix still but it is better than was. I think it is related that in creative you just cant reset and start so fast with button or any event. Not really sure

I only noticed the other day tbh i dnt know how people aint reporting this as an issue but tbh they probs dont know its happening