unwanted delay between animations

I am trying to transition from one animation to a second animation, but it seems that the transition is reading the variable fast enough. My first animation will play once, and waits until the condition is true to move onto the next animation. However, once I set the necessary bool to true, there is a slight delay when going into the next animation.

Here’s some of the code that I’m using:
public class bowLogic : MonoBehaviour {
Animator ac;

	int clickDown;
	// Use this for initialization
	void Start () {
		ac = GetComponent<Animator> ();

		clickDown = Animator.StringToHash ("clickDown");
	}
	
	// Update is called once per frame
	void Update () {
		if (Input.GetMouseButton (0)) {
			ac.SetBool (clickDown, true);
		}


		if (Input.GetMouseButtonUp (0)) {
			ac.SetBool (clickDown, false);
		}
			
	}

Once the mouse is held down I want it to transition to the second animation once the first one is done. The transition is instant when you hold down the mouse during the first animation, but if the first animation is done playing and is waiting on the last frame, clicking the button doesn’t instantly transition but holding it for a few tenths of a second does.

In the animator window select an arrow :
83453-820ecd9dedcb93ba5d3ddea2ea00d7de.png

then in the inspector window make sure to untick “Has Exit Time”, “Fixed Duration” and set “Transition Duration(%)” to 0, like so :

83454-f977253613f70c89aec9bcce9e9299ef.png

have you checked exit times in the transitions on the animator controller?

In the animator controller, select the transition and make the Transition duration 0.

Also there are chances that you are in a coroutine or it is waiting to finish the previous animation (uncheck has exit time in the previous animation, if you want instant change of animation)

Just adding this for future searchers.
Another reason could be the order your transitions are in.
In the state drag the transition with higher priority up to the top.

Thx so much!!! I spent around 5 hours on this.