when ever i try to debug the getState info it come up as false
Either use animation events or if you know the exact moment it starts, create a coroutine that waits for the exact duration of that animation.
I usually prefer the second option, but sometimes it’s not possible to do easily
Why do you have “&&” on the outside of your second if statement?
From what I gather when you release the N key, you want your bow animation to end, and to instantiate an arrow at the point? Why would you need to do it at the end of an animation? Surely you would want the arrow to be fired immediately when you release N?
To answer the question, I think it’s possible to get a reference to the duration of an animation, and then in a Coroutine use WaitForSeconds, using the reference for the amount of time to wait.