I’ve been able to work around this a bit by calling StopMovement on the Controller. It kills the current pathing and that allows impulses and forces to work. So, in c++ it’s like this:
if( GetController() )
{
GetController()->StopMovement();
}
GetCharacterMovement()->AddImpulse( LastImpactDirection * 100000.0f );
It isn’t ideal, since it creates a pause in movement. I’ll have to dig deeper to figure out why pathing ignores the velocity in character movement.
Hope this helps someone!