How to disable the Roblox menu?

Hey, I saw this game earlier where you can’t open the menu in it.

How is this possible?

Game link: You cannot leave this game - Roblox

1 Like

That’s very interesting. I’d also love to know how this is possible because I wish to make a pause menu that uses the menu button on Xbox controllers.

Also, it seems like some functionality of the Roblox menu doesn’t work in that game. I can’t open performance stats or change my volume with the hot keys. Full screen, recording, & screenshots work though.

Here’s a script to disable the developer console.

local Game = game
local StarterGui = Game:GetService("StarterGui")
local RunService = Game:GetService("RunService")

local function OnRenderStep()
	StarterGui:SetCore("DevConsoleVisible", false)
end

repeat
	local Success = pcall(OnRenderStep)
	RunService.RenderStepped:Wait()
until Success
RunService.RenderStepped:Connect(OnRenderStep)

https://developer.roblox.com/en-us/api-reference/class/UserGameSettings
Can be used to control a variety of other client settings.

1 Like

Currently there’s a bug so broken in Roblox right now, you can easily just disable the Roblox button with 1 LocalScript.

I’m not giving it out publicly, but DM me if you want to look into it

I haven’t done any preliminary testing but I assume it relies on TeleportService:SetTeleportGui and passing to it a ‘ScreenGui’ instance with a name that conflicts with one of the existing CoreGuis.

That’s one of the ways, but incorrect to what method I’m using
This doesn’t use any TPService at all, just 1 direct script

It’s surprisingly simple, does end up breaking a few things though.

game.Players.LocalPlayer.PlayerGui.Name = "anything" -- can be anything besides "PlayerGui"
2 Likes
local Game = game
local StarterGui = Game:GetService("StarterGui")
local UserInputService = Game:GetService("UserInputService")

local function OnInputBegan(InputObject)
	if InputObject.KeyCode.Name ~= "F9" then return end
	StarterGui:SetCore("DevConsoleVisible", false)
end

UserInputService.InputBegan:Connect(OnInputBegan)

This just disables the developer console.

Honestly, the fact that you said you dont want to give it out publicly just makes me salty. Whoever needs to remove it can use this method:
Insert a localscript in replicatedfirst. Delete PlayerScripts using that script.
Here’s what i did:

game:GetService("Players").LocalPlayer:WaitForChild("PlayerScripts"):Destroy()

This will completely remove any roblox menu function, and the roblox menu button will be gone. Also, the camera modules and control module will be gone so you’ll have to control the camera and char on your own.
This sometimes dosent work though. Im not sure why, but it’s probably because this needs to be done very Fery Fery fast before anything loads
Roblox should implement a feature where you can create your own esc menu/ disable the roblox menu button. Will help in making games feel distinct

2 Likes

this unfortunately now got patched :frowning:

1 Like