How is your logic laid out while doing that, if you don’t mind me asking? As I have these functions being called through PlayerTick() and when the ‘SimpleMoveTo’ command is called to move the player to the opponent no further checks for distance are called until this movement is finished (I am assuming because it is a latent function, though I could be wrong?), meaning that though I regularly check for the distance between the two and tell it to stop as soon as the distance is within the player’s attack range, the player continues running until it hits the target.