Add some randomness to the velocity when a ball bounces using UProjectiile Movement Component

The UProjectileMovementComponent has an event called
OnProjectileBounce

It’s true that an impulse can have a delay of one frame compared to the bounce.
However, the whole point of an “impulse” is that it imparts a direct change in velocity (and spin) based on affect point, direction, magnitude, and inertial tensor of the object. That’s the whole point of an “impulse” in physical simulation.

Depending on frame rate, speeds involved, size and prominence of projectile, and a host of other game specific factors, any delay in applying the impulse can be totally invisible, or could cause somewhat strange bounces. (But then, adding a random peturbation to the bounce will likely make it “strange” to they eye anyway!)