Rigidbody addforce not moving object

Hi, so I’m trying to make a bat weapon which essentially will spawn a trigger in front of the player. If another player is caught in the trigger they should go flying back-up and somewhere to the left. So I have this code

private void OnTriggerEnter(Collider other) 
    {
        if(other.gameObject.tag == "Player")    
        {
            Vector3 vec = new Vector3(0,1,-1);
            other.gameObject.GetComponent<Rigidbody>().AddForce(vec * launchSpeed);
            
            Debug.Log($"Hit {other.gameObject}");
        }
    }

The log goes off, but he doesn’t move, the object getting hit has a rigidbody, is not kinematic and does not have any position constraints. I don’t know if I’m doing something wrong with the rigidbody or just something else with my wonky code.

Does the player have a CharacterController for movement? Those kind of take control of the rigid body, I think. If you’re going to be applying forces to the player like this, you need to either do without the CharacterController entirely and work directly with a RigidBody alone, or you should add custom controls to the player’s script which adds forces into the CharacterController during the Move() call.

Perhaps ForceMode.Impulse is the type of force you need for the short duration of OnTriggerEnter. And make sure launchSpeed is sufficient given the Rigidbody mass.