So do a key menu no as difficult as girlfriend think! The hardest component might be making the main menu, making certain it fits on every devices. Bring away time however it’s totally worth it.

You are watching: How to make a start menu in roblox

Here is a food selection I created for among my games:


Once you have your settings ready, go ahead come the settings button that opens up the setups frame.

This is the code you desire to add:

local player = game.Players.LocalPlayerlocal frame = player.PlayerGui:WaitForChild("MainMenu").Framelocal Credits = frame.Creditslocal settingsFrame = frame.SettingsFramescript.Parent.MouseButton1Click:Connect(function()if Credits.Visible == true thenCredits.Visible = falsesettingsFrame.Visible = trueelseCredits.Visible = truesettingsFrame.Visible = falseendend)Clone this local script to any buttons that open up the setups frame.

This just opens the settings frame and closes the credits frame. If you click the button again, it closes the settings frame and opens the credits frame. Its like a toggle button!

Now walk ahead to her FOV (Field the View) setting and include the complying with code to the TEXTBOX:

local camera = workspace.CurrentCamera -- access to the football player cameralocal fovText = game.Players.LocalPlayer.PlayerGui:WaitForChild("MainMenu").Frame.SettingsFrame.FOVTextfovText.FocusLost:Connect(function(enterPressed)if enterPressed climate -- If the player pressed "enter" on their = fovText.Textendendend)Easy peasy. Next, go to the sound button and also enter this script:

local sound = sound -- go into where your sound is located. Since this is a local script, the will revolve off the sound to the neighborhood player only.local player = game.Players.LocalPlayerlocal playing = true -- by default, the sound is playingscript.Parent.MouseButton1Click:Connect(function()if playing == true then -- If the sound is playing...sound.Playing = falseplayer.PlayerGui:WaitForChild("MainMenu").Frame.SettingsFrame.SoundOnOrOff.Text = "Off"else -- If the sound isn"t playing...sound.Playing = trueplayer.PlayerGui:WaitForChild("MainMenu").Frame.SettingsFrame.SoundOnOrOff.Text = "On"endend)Done and done! following one is more than likely the hardest setting to make… the chat theme…

Enter this regional script within of the Chat layout button:

local player = game.Players.LocalPlayerlocal white = true -- through default, the conversation is white themedlocal ChatTheme = player.PlayerGui:WaitForChild("MainMenu").Frame.SettingsFrame.ChatThemeButtonlocal chat = game:GetService("Chat")script.Parent.MouseButton1Click:Connect(function()if white == true thenwhite = falselocal settings = -- currently here, you can edit it come anything you want! These room the chat setups that are used after the player clicks the button! Make certain the elevator color and also the text shade are different.BubbleDuration = 15,MaxBubbles = 3,BackgroundColor3 = Color3.fromRGB(0,0,0),TextColor3 = Color3.fromRGB(250,250,250),TextSize = 16,Font = Enum.Font.GothamSemibold,Transparency = .1,CornerRadius =, 12),TailVisible = true,Padding = 8,MaxWidth = 300,VerticalStudsOffset = 0,BubblesSpacing = 6,MinimizeDistance = 40,MaxDistance = 100,ChatTheme.Text = "Black" -- set the message in the theme switch to "Black"pcall(function()game:GetService("Chat"):SetBubbleChatSettings(settings) -- uses the settingsprint("Chat setups applied") -- Success messageend)elsewhite = true -- If the worth was "Black" then...local setups = BubbleDuration = 15,MaxBubbles = 3,BackgroundColor3 = Color3.fromRGB(250,250,250),TextColor3 = Color3.fromRGB(0,0,0),TextSize = 16,Font = Enum.Font.GothamSemibold,Transparency = .1,CornerRadius =, 12),TailVisible = true,Padding = 8,MaxWidth = 300,VerticalStudsOffset = 0,BubblesSpacing = 6,MinimizeDistance = 40,MaxDistance = 100,pcall(function()game:GetService("Chat"):SetBubbleChatSettings(settings) -- Appliesprint("Chat settings applied") -- Successend)ChatTheme.Text = "White" -- alters the theme switch text to white.endend)And thats done!

Scripting the open up button

Last thing we have to do is script the open up button…

Lets specify our variables first.

local player = game.Players.LocalPlayerlocal frame1 = player.PlayerGui:WaitForChild("MainMenu").Framelocal frame2 = player.PlayerGui:WaitForChild("MainMenu").BackGroundFramelocal TweenService = game:GetService("TweenService")local closeup of the door = frame1.Parent.Closedlocal db = falselocal blur = game.Lighting.MenuBlurBy now, you need to see these and think that they space familiar… yes! lock are! We provided the very same variables in our close button.

See more: How To Delete My Vudu Account, How Do I Delete My Vudu Account

Rest the the script:

script.Parent.MouseButton1Click:Connect(function()if db == false thenif closed.Value == true climate -- If the closed value is true (meaning that is closed), then...db = truelocal score = goal.Position =,0,0,0) -- This is the center of the screen. We desire the menu to go there.local tweenInfo =, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out) -- change if friend wish...local tween1 = TweenService:Create(frame1, tweenInfo, goal)local tween2 = TweenService:Create(frame2, tweenInfo, goal)frame1.Visible = true -- Making certain our frames room visible prior to tweeningframe2.Visible = truetween1:Play() -- Tween both frames.tween2:Play() frame1.Parent.OpenMenu.Visible = false -- renders the open switch disappear...if blur.Enabled == false climate -- Making sure the blue impact is enabled...blur.Enabled = trueendif blur.Size == 0 climate -- Here, we room checking the blur is in ~ 0, just to make certain our blur is disabled.while wait(0.1) carry out -- Every 0.1 seconds, it adds 1 to the size of the blur.blur.Size += 1if blur.Size == 24 then -- when it gets to 24, it stops and also the script continues.breakendendendwait(1)closed.Value = false -- alters the closed value to false an interpretation its opendb = false -- Cooldown is off!elsewarn("DB On")endendend)Thats every you have to do! You just finished make your really own interactive main menu with settings!


Below I have actually attached the model, if you want to simply download the and add it! once you insert it, simply move the ScreenGui to StarterGui and also move the MenuBlur come Lighting.