AddImpulse does not always work on a freshly spawned Actor, but the added velocity does get "stored"

I have an actor, if i simply put an AddImpulse on his SkeletalMesh after BeginPlay, it works on instances that are manually placed in the level, but not always on ones that I spawn at runtime. (sometimes it works, sometimes nothing happens)

If I add a delay, even one of 0 seconds, between BeginPlay and the AddImpulse, it works reliably.

If I first do the AddImpulse, then a delay, and then another AddImpulse with an Impulse of 0,0,0, the Impulse of the first AddImpulse gets applies. If the delay is more than 0, the Impulse waits before actually taking effect. But this means it must be “stored” somehow.

So this makes the Actor fly upwards after one second (or sometimes instantly):

If I use SetLinearVelocity after BeginPlay, it works fine, no delay needed.

140138-weird2.png

This might be related to this issue: AddImpulse gets Queued up and executed with next AddImpulse - World Creation - Unreal Engine Forums