Thank you for your answer. I am ok with all my timers beeing not in sync actually, I just need all my timer to run EXACTLY every 0.5 s.
Let’s say the first actor (the one pushing at the origin) arrive at 0.5 : it pushes 5 unit to the actor 2.
And if at this exact moment the actor 2 is at 0.3 of its timer that’s not an issue, when he arrives at 0.5, he checks and see it has 5 units so pushed it, and the next loop he will again have 5 units to push.
Every timers could be Asynchronized, it should work perfectly ( and it does at runtime …)
But after analysing every nodes every frame this is what happens some time :
Normal behavior :
(I’ll refer time as game timeline to understand)
TIME : 0
ACTOR 1 : PUSHES 5 UNITS → ACTOR 2 : NOTHING ACTOR 3 : NOTHING
TIME : 0.5
ACTOR 1 : PUSHES 5 UNITS → ACTOR 2 : HAS 5 UNITS → PUSHES ACTOR 3 : NOTHING
TIME :1
ACTOR 1 : PUSHES 5 UNITS → ACTOR 2 : HAS 5 UNITS → PUSHES ACTOR 3 : HAS 5 UNITS → PUSHES
What seems to happen sometimes only when actors are places in viewport :
TIME : 0
ACTOR 1 : PUSHES 5 UNITS → ACTOR 2 : NOTHING ACTOR 3 : NOTHING
TIME : 0.5
ACTOR 1 : PUSHES 5 UNITS → ACTOR 2 : HAS 5 UNITS → PUSHED ACTOR 3 : NOTHING
TIME : 1
ACTOR 1 : PUSHES 5 UNITS → **ACTOR 2 : HAS 0 UNITS → ACTOR 3 :HAS 10 UNITS
So at line time 0.5, it seems like between step “check if has units” and “push” it receive 5 more units, but that’s not normal at all because it should only arrive at the next loop
I’m sorry its a bit complicated to explain with words and make it clear ![]()