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
