Actually, we’ll still have a problem with the above. I think you’re going to need to add a bool variable called HoldMovement, which defaults to False. When you detect that “Moving is True, and both UserForward==0 and UserRight==0”, then you’d set HoldMovement to True. When HoldMovement is True, you will need to do the “don’t modify either MoveForward nor MoveRight at all” thing regardless of the first two conditions. Then, when you’ve received the notification that you’ve returned to Idle, you’ll need to set HoldMovement back to False.