Key holding after next level is open

One way you could achieve this is by saving all player held inputs in your GameInstance. For example, right before you load a new level, you could set bSprintButtonPressed = true/false. Depending on whether the button is pressed. Then when next level is loaded if it’s true, simulate as if sprint input is pressed, even though it’s not.

However I wonder if loading new levels is even necessary? If you want inputs to carry over it sounds like maybe it’s the same level. You could just teleport the camera to a new place and it would look like a completely new level to the player. Then you have no issues with inputs. But if you do the entire game like that, it might become a very bloated level. All depends on the game you’re making.