How to detect whether keyboard/mouse or controller was interacted with last

That’s odd. Are you disabling any input when you start displaying UI? (IgnoreMovementInput/DisableInput)? Because if you don’t, all input should still work, as long as the player controller is spawned.