Run it
Copy the script and paste it into your executor.
.
📦 How to use
) Insert this as a LocalScript under StarterPlayer > StarterPlayerScripts.
(It will create the ScreenGui PlayerGui at runtime.)
) Play test. You’ll see the GUI at the top‑right, above the mobile thumbstick area.
) Use Settings to change default (music, particle texture, skybox).
Notes
• All changes here are client‑side visuals/controls unless otherwise noted.
• “Change name” sets Humanoid.DisplayName, which is a visual.
• Orbiting orb is client‑side shows simple join/leave notifications.
• Changes will be made the future.
Players = :()
StarterGui = :()
RunService = :()
UserInputService = :()
TweenService = :()
SoundService = :()
Lighting = :()
LOCAL_PLAYER = Players.LocalPlayer
PlayerGui = LOCAL_PLAYER:()
Config = {
GUIName = ,
Colors = {
Text = .(,,),
FrameBg = .(,,),
Stroke = .(,,),
},
StrokeThickness = ,
DefaultMusicId = ,
DefaultParticleTexture = ,
DefaultSkyboxId = ,
}
(parent)
s = .()
s.Color = Config.Colors.Stroke
s.Thickness = Config.StrokeThickness
s.ApplyStrokeMode = .ApplyStrokeMode.Border
s.Parent = parent
s
(parent, p)
ui = .()
ui.PaddingTop = .(,p)
ui.PaddingBottom = .(,p)
ui.PaddingLeft = .(,p)
ui.PaddingRight = .(,p)
ui.Parent = parent
ui
(parent, spacing)
lay = .()
lay.FillDirection = .FillDirection.Vertical
lay.Padding = .(, spacing)
lay.SortOrder = .SortOrder.LayoutOrder
lay.Parent = parent
lay
(parent, spacing)
lay = .()
lay.FillDirection = .FillDirection.Horizontal
lay.Padding = .(, spacing)
lay.SortOrder = .SortOrder.LayoutOrder
lay.Parent = parent
lay
(text, onClick)
b = .()
b.Size = .(,,,)
b.BackgroundColor3 = Config.Colors.FrameBg
b.TextColor3 = Config.Colors.Text
b.Text = text
b.AutoButtonColor =
b.Font = .Font.GothamBold
b.TextSize =
(b)
b.MouseButton1Click:(()
(onClick)
)
b
(placeholder)
tb = .()
tb.Size = .(,,,)
tb.BackgroundColor3 = Config.Colors.FrameBg
tb.TextColor3 = Config.Colors.Text
tb.PlaceholderText = placeholder
tb.ClearTextOnFocus =
tb.Text =
tb.Font = .Font.Gotham
tb.TextSize =
(tb)
tb
(title, text)
(()
StarterGui:(, {Title = title, Text = text, Duration = })
)
gui = .()
gui.Name = Config.GUIName
gui.ResetOnSpawn =
gui.IgnoreGuiInset =
gui.ZIndexBehavior = .ZIndexBehavior.Sibling
gui.Parent = PlayerGui
root = .()
root.BackgroundColor3 = Config.Colors.FrameBg
root.Size = .(, , , )
root.AnchorPoint = .(,)
root.Position = .(, -, , )
root.Active =
root.Draggable =
(root)
root.Parent = gui
(root, )
header = .()
header.BackgroundTransparency =
header.Size = .(,,,)
header.Parent = root
title = .()
title.BackgroundTransparency =
title.Size = .(,-,,)
title.TextXAlignment = .TextXAlignment.Left
title.TextColor3 = Config.Colors.Text
title.Font = .Font.GothamBlack
title.TextSize =
title.Text =
title.Parent = header
nav = .()
nav.BackgroundTransparency =
nav.Size = .(,,,)
nav.AnchorPoint = .(,)
nav.Position = .(,,,)
nav.Parent = header
(nav, )
leftBtn = (, () )
leftBtn.Size = .(,,,)
leftBtn.Parent = nav
rightBtn = (, () )
rightBtn.Size = .(,,,)
rightBtn.Parent = nav
content = .()
content.BackgroundTransparency =
content.Size = .(,,,-)
content.Position = .(,,,)
content.Parent = root
pagesFolder = .()
pagesFolder.Name =
pagesFolder.Parent = content
pageOrder = {,,,,,,}
currentIndex =
(name)
page = .()
page.Name = name
page.BackgroundTransparency =
page.Size = .(,,,)
page.Visible =
page.Parent = pagesFolder
scroll = .()
scroll.BackgroundTransparency =
scroll.Size = .(,,,)
scroll.CanvasSize = .(,,,)
scroll.ScrollBarThickness =
scroll.Parent = page
(scroll, )
list = (scroll, )
list:():(()
scroll.CanvasSize = .(,,,list.AbsoluteContentSize.Y + )
)
page, scroll
(i)
_,n (pageOrder)
pagesFolder[n].Visible =
currentIndex = ((i - ) % #pageOrder) +
pagesFolder[pageOrder[currentIndex]].Visible =
title.Text = ():(pageOrder[currentIndex])
leftBtn.MouseButton1Click:(()
(currentIndex - )
)
rightBtn.MouseButton1Click:(()
(currentIndex + )
)
()
char = LOCAL_PLAYER.Character LOCAL_PLAYER.CharacterAdded:()
char:()
(fn)
char = LOCAL_PLAYER.Character LOCAL_PLAYER.CharacterAdded:()
_,inst (char:())
inst:() (inst)
State = {
InfiniteJump = ,
Noclip = ,
Billboard = ,
Orb = ,
MusicSound = ,
}
UserInputService.JumpRequest:(()
State.InfiniteJump
hum = ()
hum hum:(.HumanoidStateType.Jumping)
)
RunService.Stepped:(()
State.Noclip
((p)
p.CanCollide =
)
)
movementPage, movementScroll = ()
(, () ).Parent = movementScroll
wsBox = ()
wsBox.Parent = movementScroll
wsBox.FocusLost:((enterPressed)
enterPressed
hum = ()
n = (wsBox.Text)
hum n hum.WalkSpeed = n (, ..n)
)
infJumpBtn = (, ()
State.InfiniteJump = State.InfiniteJump
(, State.InfiniteJump )
)
infJumpBtn.Parent = movementScroll
noclipBtn = (, ()
State.Noclip = State.Noclip
(, State.Noclip )
)
noclipBtn.Parent = movementScroll
charPage, charScroll = ()
visBtn = (, ()
((p)
p.LocalTransparencyModifier =
)
)
visBtn.Parent = charScroll
invisBtn = (, ()
((p)
p.LocalTransparencyModifier =
)
)
invisBtn.Parent = charScroll
nameBox = ()
nameBox.Parent = charScroll
nameBox.FocusLost:((enter)
enter
hum = ()
hum
hum.DisplayName = nameBox.Text ~= nameBox.Text hum.DisplayName
(, )
)
billboardBtn = (, ()
char = LOCAL_PLAYER.Character LOCAL_PLAYER.CharacterAdded:()
State.Billboard State.Billboard:() State.Billboard =
head = char:()
head
bb = .()
bb.Size = .(, , , )
bb.StudsOffset = .(, , )
bb.AlwaysOnTop =
bb.Name =
bb.Parent = head
label = .()
label.BackgroundColor3 = Config.Colors.FrameBg
label.TextColor3 = Config.Colors.Text
label.Text =
label.Font = .Font.GothamBold
label.TextScaled =
label.Size = .(,,,)
label.Parent = bb
(label)
State.Billboard = bb
(, )
)
billboardBtn.Parent = charScroll
visualsPage, visualsScroll = ()
particlesBtn = (, ()
char = LOCAL_PLAYER.Character LOCAL_PLAYER.CharacterAdded:()
existing = char:(, )
existing
existing.Parent:()
(, )
((p)
att = .()
att.Name =
att.Parent = p
pe = .()
pe.Name =
pe.Texture = Config.DefaultParticleTexture
pe.Color = ColorSequence.(.(,,))
pe.Rate =
pe.Lifetime = NumberRange.(, )
pe.Speed = NumberRange.(,)
pe.Size = NumberSequence.({NumberSequenceKeypoint.(,), NumberSequenceKeypoint.(,)})
pe.Parent = att
)
(, )
)
particlesBtn.Parent = visualsScroll
skyBtn = (, ()
sky = Lighting:() .()
sky.SkyboxBk = Config.DefaultSkyboxId
sky.SkyboxDn = Config.DefaultSkyboxId
sky.SkyboxFt = Config.DefaultSkyboxId
sky.SkyboxLf = Config.DefaultSkyboxId
sky.SkyboxRt = Config.DefaultSkyboxId
sky.SkyboxUp = Config.DefaultSkyboxId
sky.Parent = Lighting
(, )
)
skyBtn.Parent = visualsScroll
audioPage, audioScroll = ()
musicIdBox = ()
musicIdBox.Text = Config.DefaultMusicId:(,)
musicIdBox.Parent = audioScroll
playBtn = (, ()
idNum = musicIdBox.Text:() Config.DefaultMusicId
Config.DefaultMusicId = idNum
State.MusicSound
s = .()
s.Name =
s.Looped =
s.SoundId = ..idNum
s.Parent = SoundService
State.MusicSound = s
State.MusicSound.SoundId = ..idNum
State.MusicSound:()
(, ..idNum)
)
playBtn.Parent = audioScroll
stopBtn = (, ()
State.MusicSound State.MusicSound:()
)
stopBtn.Parent = audioScroll
volumeBox = ()
volumeBox.Parent = audioScroll
volumeBox.FocusLost:((enter)
enter State.MusicSound
v = (volumeBox.Text)
v State.MusicSound.Volume = .(v,,) (, (State.MusicSound.Volume))
)
pitchBox = ()
pitchBox.Parent = audioScroll
pitchBox.FocusLost:((enter)
enter State.MusicSound
p = (pitchBox.Text)
p State.MusicSound.PlaybackSpeed = .(p, , ) (, (State.MusicSound.PlaybackSpeed))
)
utilsPage, utilsScroll = ()
orbBtn = (, ()
State.Orb
State.Orb:()
State.Orb =
(, )
orb = .()
orb.Shape = .PartType.Ball
orb.Size = .(,,)
orb.Material = .Material.Neon
orb.Color = .(,,)
orb.Anchored =
orb.CanCollide =
orb.Name =
orb.Parent =
State.Orb = orb
angle =
RunService.RenderStepped:((dt)
State.Orb
char = LOCAL_PLAYER.Character
hrp = char char:()
hrp
angle += dt *
radius =
offset = .(.(angle)*radius, , .(angle)*radius)
orb.CFrame = .(hrp.Position + offset)
)
Players.PlayerAdded:((p)
(, p.Name)
)
Players.PlayerRemoving:((p)
(, p.Name)
)
(, )
)
orbBtn.Parent = utilsScroll
settingsPage, settingsScroll = ()
particleBox = ()
particleBox.Text = Config.DefaultParticleTexture:(,)
particleBox.Parent = settingsScroll
particleBox.FocusLost:((enter)
enter
id = particleBox.Text:()
id
Config.DefaultParticleTexture = ..id
(, ..id)
)
skyIdBox = ()
skyIdBox.Text = Config.DefaultSkyboxId:(,)
skyIdBox.Parent = settingsScroll
skyIdBox.FocusLost:((enter)
enter
id = skyIdBox.Text:()
id
Config.DefaultSkyboxId = ..id
(, ..id)
)
aboutPage, aboutScroll = ()
about = .()
about.BackgroundTransparency =
about.Size = .(,,,)
about.TextWrapped =
about.TextColor3 = Config.Colors.Text
about.Font = .Font.Gotham
about.TextSize =
about.Text =
about.Parent = aboutScroll
_,n (pageOrder)
pagesFolder:(n)
n == movementPage.Parent = pagesFolder
n == charPage.Parent = pagesFolder
n == visualsPage.Parent = pagesFolder
n == audioPage.Parent = pagesFolder
n == utilsPage.Parent = pagesFolder
n == settingsPage.Parent = pagesFolder
n == aboutPage.Parent = pagesFolder
()
minimize = (, ()
content.Visible = content.Visible
root.Size = content.Visible .(,,,) .(,,,)
)
minimize.Size = .(,,,)
minimize.Parent = header
minimize.LayoutOrder = -
Includes client scripts: isn't the official version.