I know that you can ‘set ignore time dilation’ on a timeline, but is there any way to do it with a timer?
Kind of convoluted, but in this kind of situation I would set a timer on a separate blueprint that has its own local dilation set to 1/TimeDilation. This way the BP is running at normal speed, so the timers would too. If you’re setting a timer while TimeDilation is already affected, you can set it for DesiredNumberOfSeconds/TimeDilation.
Very interesting solution. I’m using this system to trigger music cues, so it has to be spot on, but the global dilation is being subtlety lerped up and down almost constantly throughout gameplay. I suppose if I set the local time dilation on the ‘timer BP’ every tick, this might work. Definitely not as clean of a solution as I’d prefer, but if it works, it works. I’ll give it a go. Thanks.
I was hoping this might work, too, but just did a quick test with no luck. Dug into the code and it looks like the world timer manager doesn’t know anything about the actor who owns the callback function, so there’s no way to apply a custom time dilation to a timer.
This is a great solution for a static time dilation. However, I’ve got time dilation easing in/out with a curve so best solution for me is to save real world time when I want the timer to start and then detect when real world time exceeds the desired timer duration.
Setting a specific actors time dilation does not alter the timers on that actor. This does not work at all. You can have him set to zero and he will still fire off his timers. Global time dilation affects everything and it seems that timelines are the only thing that works ![]()
I think i might have a good way to solve this issue.
If you are in my case and you had to use a “Set Global Time Dilation” to “slow-mo” on your character so it affect the whole world and all actors instead of doing it individually, Now you have your actor being able to slow down the entire game, but you still want a chronometer to caculate the game/level time accurately without the time dilation.
Well, in the chronometer do this :
Get world Delta Second - Divided by : Get Global Time Dilation
That way, if anything is your game change the global time dilation, your chronometer will take it into account and modify the game delta seconds accordingly.
