
Universal Script – Epics hub template
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "EpicScriptHubGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui
local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 30)
mainFrame.BorderSizePixel = 0
mainFrame.ClipsDescendants = false
mainFrame.Parent = screenGui
local isMobile = UserInputService:GetPlatform() == Enum.Platform.IOS or UserInputService:GetPlatform() == Enum.Platform.Android
if isMobile then
mainFrame.Size = UDim2.new(0.65, 0, 0.8, 0)
mainFrame.Position = UDim2.new(0.175, 0, 0.1, 0)
else
mainFrame.Size = UDim2.new(0, 500, 0, 600)
mainFrame.Position = UDim2.new(0.5, -250, 0.5, -300)
end
local function addCorner(parent, radius)
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, radius)
corner.Parent = parent
end
addCorner(mainFrame, 12)
local shadow = Instance.new("Frame")
shadow.Name = "Shadow"
shadow.Size = UDim2.new(1, 0, 1, 0)
shadow.Position = UDim2.new(0, 2, 0, 2)
shadow.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
shadow.BorderSizePixel = 0
shadow.ZIndex = 0
shadow.Parent = mainFrame
addCorner(shadow, 12)
local titleBar = Instance.new("Frame")
titleBar.Name = "TitleBar"
titleBar.Size = UDim2.new(1, 0, 0, 50)
titleBar.BackgroundColor3 = Color3.fromRGB(30, 30, 45)
titleBar.BorderSizePixel = 0
titleBar.Parent = mainFrame
addCorner(titleBar, 12)
local titleBarBottomFix = Instance.new("Frame")
titleBarBottomFix.Name = "TitleBarBottomFix"
titleBarBottomFix.Size = UDim2.new(1, 0, 0, 12)
titleBarBottomFix.Position = UDim2.new(0, 0, 1, -12)
titleBarBottomFix.BackgroundColor3 = Color3.fromRGB(30, 30, 45)
titleBarBottomFix.BorderSizePixel = 0
titleBarBottomFix.ZIndex = 1
titleBarBottomFix.Parent = titleBar
local titleLabel = Instance.new("TextLabel")
titleLabel.Name = "TitleLabel"
titleLabel.BackgroundTransparency = 1
titleLabel.TextColor3 = Color3.fromRGB(255, 100, 200)
titleLabel.Font = Enum.Font.GothamBold
titleLabel.Text = "epic’s hub"
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.ZIndex = 2
titleLabel.Parent = titleBar
local closeButton = Instance.new("TextButton")
closeButton.Name = "CloseButton"
closeButton.BackgroundColor3 = Color3.fromRGB(255, 50, 50)
closeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
closeButton.Font = Enum.Font.GothamBold
closeButton.Text = "×"
closeButton.BorderSizePixel = 0
closeButton.ZIndex = 2
closeButton.Parent = titleBar
if isMobile then
titleLabel.TextSize = 14
titleLabel.Size = UDim2.new(1, -55, 1, 0)
titleLabel.Position = UDim2.new(0, 10, 0, 0)
closeButton.Size = UDim2.new(0, 35, 0, 35)
closeButton.Position = UDim2.new(1, -40, 0, 7.5)
closeButton.TextSize = 16
else
titleLabel.TextSize = 18
titleLabel.Size = UDim2.new(1, -60, 1, 0)
titleLabel.Position = UDim2.new(0, 15, 0, 0)
closeButton.Size = UDim2.new(0, 40, 0, 40)
closeButton.Position = UDim2.new(1, -45, 0, 5)
closeButton.TextSize = 20
end
addCorner(closeButton, 8)
closeButton.MouseButton1Click:Connect(function() screenGui:Destroy() end)
-- Smooth Mobile and Desktop Dragging System
local dragging, dragStart, startPos = false, Vector2.new(0,0), UDim2.new(0,0,0,0)
titleBar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = mainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then dragging = false end
end)
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
local delta = input.Position - dragStart
mainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
local tabContainer = Instance.new("Frame")
tabContainer.Name = "TabContainer"
tabContainer.Size = UDim2.new(1, 0, 0, 50)
tabContainer.Position = UDim2.new(0, 0, 0, 50)
tabContainer.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
tabContainer.BorderSizePixel = 0
tabContainer.Parent = mainFrame
local tabLayout = Instance.new("UIListLayout")
tabLayout.FillDirection = Enum.FillDirection.Horizontal
tabLayout.HorizontalAlignment = Enum.HorizontalAlignment.Left
tabLayout.VerticalAlignment = Enum.VerticalAlignment.Center
tabLayout.Parent = tabContainer
local contentFrame = Instance.new("Frame")
contentFrame.Name = "ContentFrame"
contentFrame.Size = UDim2.new(1, 0, 1, -100)
contentFrame.Position = UDim2.new(0, 0, 0, 100)
contentFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 30)
contentFrame.BorderSizePixel = 0
contentFrame.Parent = mainFrame
local contentPadding = Instance.new("UIPadding")
contentPadding.PaddingTop = UDim.new(0, 10)
contentPadding.Parent = contentFrame
local mainView = Instance.new("ScrollingFrame")
mainView.Name = "MainView"
mainView.Size = UDim2.new(1, -20, 1, 0)
mainView.Position = UDim2.new(0, 10, 0, 0)
mainView.BackgroundTransparency = 1
mainView.BorderSizePixel = 0
mainView.ScrollBarThickness = 6
mainView.ScrollBarImageColor3 = Color3.fromRGB(100, 100, 150)
mainView.Visible = true
mainView.Parent = contentFrame
local mainLayout = Instance.new("UIListLayout")
mainLayout.FillDirection = Enum.FillDirection.Vertical
mainLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
mainLayout.Padding = UDim.new(0, 8)
mainLayout.Parent = mainView
local credView = Instance.new("Frame")
credView.Name = "CredView"
credView.Size = UDim2.new(1, 0, 1, 0)
credView.BackgroundTransparency = 1
credView.Visible = false
credView.Parent = contentFrame
local credLayout = Instance.new("UIListLayout")
credLayout.FillDirection = Enum.FillDirection.Vertical
credLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
credLayout.VerticalAlignment = Enum.VerticalAlignment.Center
credLayout.Padding = UDim.new(0, 12)
credLayout.Parent = credView
-- Tab State Tracking System
local currentActiveTabButton = nil
local function buildTabBtn(name, targetFrame)
local tabBtn = Instance.new("TextButton")
tabBtn.Size = UDim2.new(0, isMobile and 110 or 150, 1, 0)
tabBtn.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
tabBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
tabBtn.Font = Enum.Font.Gotham
tabBtn.TextSize = isMobile and 12 or 14
tabBtn.Text = name
tabBtn.BorderSizePixel = 0
tabBtn.Parent = tabContainer
addCorner(tabBtn, 6)
tabBtn.MouseButton1Click:Connect(function()
mainView.Visible = false
credView.Visible = false
targetFrame.Visible = true
if currentActiveTabButton then
currentActiveTabButton.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
end
tabBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 50)
currentActiveTabButton = tabBtn
end)
return tabBtn
end
local mainTabBtn = buildTabBtn("Main", mainView)
local credTabBtn = buildTabBtn("Credits", credView)
mainTabBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 50)
currentActiveTabButton = mainTabBtn
local function buildBtn(parent, text, callback)
local button = Instance.new("TextButton")
button.Size = UDim2.new(1, 0, 0, 45)
button.BackgroundColor3 = Color3.fromRGB(50, 50, 80)
button.TextColor3 = Color3.fromRGB(255, 255, 255)
button.Font = Enum.Font.Gotham
button.TextSize = 14
button.Text = text
button.BorderSizePixel = 0
button.Parent = parent
addCorner(button, 8)
button.MouseButton1Click:Connect(callback)
end
-- ==========================================================
-- 6 DYNAMIC MAIN TAB TEMPLATE BUTTONS
-- ==========================================================
for i = 1, 6 do
buildBtn(mainView, "Custom Feature Script " .. i, function()
task.spawn(function()
print("Feature Button " .. i .. " executed successfully.")
end)
end)
end
-- ==========================================================
-- CREDITS TAB SETUP WITH CROWN ADDED
-- ==========================================================
local inlineCreatorContainer = Instance.new("Frame")
inlineCreatorContainer.Name = "InlineCreatorContainer"
inlineCreatorContainer.Size = UDim2.new(0.9, 0, 0, 50)
inlineCreatorContainer.BackgroundTransparency = 1
inlineCreatorContainer.Parent = credView
local inlineLayout = Instance.new("UIListLayout")
inlineLayout.FillDirection = Enum.FillDirection.Horizontal
inlineLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
inlineLayout.VerticalAlignment = Enum.VerticalAlignment.Center
inlineLayout.Padding = UDim.new(0, 8)
inlineLayout.Parent = inlineCreatorContainer
-- FIXED: Crown Element injected cleanly next to your creator tag
local crownLabel = Instance.new("TextLabel")
crownLabel.Name = "CrownLabel"
crownLabel.Size = UDim2.new(0, 30, 1, 0)
crownLabel.BackgroundTransparency = 1
crownLabel.Text = "👑"
crownLabel.TextSize = 22
crownLabel.Font = Enum.Font.GothamBold
crownLabel.TextXAlignment = Enum.TextXAlignment.Center
crownLabel.Parent = inlineCreatorContainer
local creditTextLabel = Instance.new("TextLabel")
creditTextLabel.Size = UDim2.new(0, 220, 1, 0)
creditTextLabel.BackgroundTransparency = 1
creditTextLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
creditTextLabel.Font = Enum.Font.GothamMedium
creditTextLabel.TextSize = 15
creditTextLabel.Text = "creator: 98ikidds (epic_scripts)"
creditTextLabel.TextXAlignment = Enum.TextXAlignment.Left
creditTextLabel.Parent = inlineCreatorContainer
local robloxUserDisplayLabel = Instance.new("TextLabel")
robloxUserDisplayLabel.Size = UDim2.new(0.9, 0, 0, 25)
robloxUserDisplayLabel.BackgroundTransparency = 1
robloxUserDisplayLabel.TextColor3 = Color3.fromRGB(255, 100, 200)
robloxUserDisplayLabel.Font = Enum.Font.GothamBoldHow to Execute Universal Script – Epics hub template
Step 1: Copy Code: Click the Copy Code button in the viewer above to grab the clean Lua loadstring.
Step 2: Launch Executor: Open a compatible, unpatched executor. If you need one, check our Roblox Executors Directory.
Step 3: Join Experience: Launch Roblox and join Universal Script.
Step 4: Attach & Run: Attach/inject your executor into the Roblox process, paste the code into the script tab, and press Execute.
Created By
View Author ProfileFeatures & Information
Script Changelog (1)
Community Comments (0)
No comments yet for this script.
Frequently Asked Questions
How do I execute Universal Script – Epics hub template in Roblox?
To run Universal Script – Epics hub template, copy the Lua loadstring from the code viewer above, launch Roblox and join Universal Script, attach a working executor (such as Potassium, Solara, or Delta from our Executors directory), paste the code into your executor console, and click Execute.
Is Universal Script – Epics hub template keyless or does it require an access key?
Universal Script – Epics hub template requires an access key. You can retrieve the official key directly using the Get Script Key link provided above.
Is Universal Script – Epics hub template currently safe and working?
This script is active and operational. Always test scripts using a secondary (alt) Roblox account to safeguard your main profile against anti-cheat bans.


![Ez Hub [Open Source] [150+ games] - Verified script for Universal Script](https://media.kocakz.me/b74a9ac15370ba766b2fa9531f17c9dad2c0befb2b951693ae723e4c7d2c3fb6.webp)

![[KEYLESS] Moondiety Script | 20+ supported Games - Verified script for Universal Script](https://media.kocakz.me/6834c33a36c9fbe66afae4c6754c2b80386ce636b2f972464a95866f4b6a42eb.webp)

