I have a source MonoBehavior script with these methods:
MonoBehavior
private void Update () { if (Input.GetMouseButton(0)) { HandleInput(); }
For me, I had placed the Input.GetMouseButtonDown(0) inside FixedUpdate. Because of this, Input.GetMouseButtonDown(0) returns true multiple times in a single mouse click. Replace FixedUpdate with Update, and it will work.