Workaround for IsSprinted()

I am creating an invisibility ability that allows the player to turn invisible when they sprint, but the SprintedEvent() function seems to just detect movement, not when the sprint button is held down. Is there a function that detects when the player is actually sprinting and not just moving? If not, has anyone found a workaround for this such as detecting player velocity, movement speed or even some sort of animation detection? I was using OnCrouched() as a substitute, but using sprint would be so much easier to balance with recharge rates and energy drain per second. I would also take a workaround in the guise of a cooldown for player crouching, but that doesn’t seem possible. I would even take a solution for creating a cooldown for holding an item that would make the player invisible. Any help would be appreciated. Thanks!