Bypassing Built-In Idle Timeout?

So, I’ve been planning a story/action game. Some of the cutscenes in this game will probably be quite long, some of them maybe even over 20 minutes. (they’re end cutscenes after chapters and will be skippable)
The main issue I’m facing here is that if a player is idle watching the cutscene for 20 minutes, they’ll be kicked from the game because of Roblox’s built-in idle timeout.
Is there any way to possibly nullify the timeout by simulating a mouse click or button press? Or is my only option to have a text pop-up every so often advising the player to press a button so they aren’t kicked? I would be doing the latter option already, but I feel like it would clutter up the screen and hurt the immersion.

1 Like

If you’re going to have text dialog that the player reads and not voice acting, then you should probably make it so the next text comes up when the player clicks or presses a key. You could just have it automatically change, but it will be annoying for most people who either read slower or faster than the speed you picked.

1 Like

But no, I’m almost certain there’s no way to change the idle timeout

As much as it is a good idea, it wouldn’t work for this situation as probably nobody would want to do this on a 20+ minute cutscene, plus it’s a game based on Piggy, whose community typically isn’t fond of that sort of cutscene, at least from what I’ve seen.

I’m not looking to change the idle timeout, I was mainly seeing if it was possible to simulate an artificial key press or mouse click to reset the timer. I know this is possible in Minecraft modding, which is what gave me the idea. Just wanted to see if it was possible in Roblox scripting.

There is no way to change the default idle timeout as it is controlled by core scripts that can only be accessed by Roblox staff.

This is most likely because bypassing the idle timeout would allow developers to rake in more Robux on AFK Premium players as Premium playtime counts towards revenue. Also because it takes up processing room on Roblox’s servers.

To bypass the timeout, you could send the player to a different Place, at say 15 minutes inactivity, in the same “Experience” and teleport them back to the original Place. But that would interfere with your cutscene as the player instance would be reloaded.

You could also try to use VirtualUser to simulate input on the client, however, that service hasn’t been maintained for years and I’m unsure if it would count towards extending idle timeout.

(VirtualUser | Roblox Creator Documentation)
(Teleporting Between Places | Roblox Creator Documentation)


Make it pause every 10 minutes of the cutscene and pop up a text box asking if the player is still watching.