Are there any "tricks" with the 2D physics system?

I’m currently bringing some C++ code to Unity. Our C++ code uses the Box2D physics engine which I believe is what is used in Unity 5. Upon bringing over some player code, the player moves extremely slowly in Unity compared to our C++ code. The player and world scale is the same as our C++ version (the player radius is set to 0.175), the mass and linear drag on the player are straight copied from our C++ code (1.0 and 3.0, respectively) and the force applied is likewise the same (thumbstick multiplied by 2.2 on each FixedUpdate). We’re using Rigidbody2D.AddForce in FixedUpdate, which is equivalent to our C++ code which used the Box2D ApplyForce method in our own fixed step update loop. For reference here’s what that code looks like:

using UnityEngine;
using InControl;

public class Player : MonoBehaviour {
    private const float PlayerMovementForce = 2.2f;

    private Vector2 _moveDirection;

    [SerializeField]
    private Rigidbody2D _body;

    void Update() {
        _moveDirection = InputManager.ActiveDevice.LeftStick.Value;
    }

    void FixedUpdate() {
        _body.AddForce(_moveDirection * PlayerMovementForce);
    }
}

Is there anything else that would be causing this? I can tweak the values, but then I have to tweak all the values for all the physics entities in our game which is less than ideal. In theory I should be able to just copy the values

Is FixedUpdate running at a different rate than your C++ engine? You can configured the fixed timestep in the Time Manager.