RigidBody2D pushed away on opposite direction

Well, I guess this is a basic one but I can’t figure it out.

I’m trying to knock back an enemy and push him away a bit when I struck him.
This is my code:
public class PushObjectAway : MonoBehaviour {

    void OnTriggerEnter2D(Collider2D other)
        Vector2 dir = transform.position - other.transform.position;
        if (other.gameObject.tag == "Enemy")
            Rigidbody2D rbOther = other.gameObject.GetComponent<Rigidbody2D>();            
            rbOther.AddForce(dir * 2000 * Time.deltaTime);

The Debug message is working, I’m detecting the right collider but the target object just won’t move an inch.
I’ve also tried this: Rigidbody2D pushing in opposite direction (and other solutions) but the target just won’t move.

Any ideas?

For starters, there might not be another Rigidbody2D as the Collider2D might be static so you should check for that.

The force you’re adding isn’t an impulse and is already scaled by time when it is applied during the next fixed-update so you’re scaling by time twice so this is going to be a very small force.

Use an Impulse force (which is instantaneous) instead. When using Rigidbody2D.AddForce specify the ForceMode2D argument as ForceMode2D.Impulse (you’ll definitately want to reduce the 2000 constant then).

try rbOther.AddForce(dir * 2000, ForceMode.Impulse);, and please apply force in FixedUpdate