Input Held Down?

“The downside to this method is that you cannot update anything in real-time”

yes you can: on tick, subtract X_Start from GetGameTimeInSeconds.

you really don’t need the “X_End” variable at all, you only need to keep track of the starting time, and you can subtract it from the current time whenever you need to get elapsed time. elapsed time is updated so frequently that its a waste to store it in a variable, and more efficient to do the subtraction every time you need it.