Possible to get OnComponentHit events for non-blocking component?

I’m setting up an actor blueprint. I’d like to get OnComponentHit events because they have impact information (impulse and normal). I only have a rudimentary understanding of the collision/trace system in UE4. Do I have to make my component blocking to receive OnComponentHit events?

I don’t want this component to react to physics when hitting another object so blocking doesn’t seem like the correct collision option. Instead I want to trigger a custom action. Overlap events would be fine, but I need the velocity of the impact, and GetComponentVelocity is always <0, 0, 0> (probably because SimulatePhysics is false?).

You can on component overlap, get the position of the object, start a timer for half a second, get the position again, and calculate the speed of that object

Yes, but then that would happen half a second after the impact… I need to trigger an action immediately. Right now I’m keeping track of the velocity on tick, but this is rather wasteful. I’d rather plug into Unreal’s existing system that’s already doing these calculations for me.