Universal Script – FLOAT TO HEAVEN - Verified script for Universal Roblox
Key RequiredUniversal

Universal Script – FLOAT TO HEAVEN

Universal Scriptkjjjkjprokjjjkjpro 366 views 105 executesUpdated Oct 24, 2026
Unrated
00
Lua Script•308 lines (8763 chars)
--!strict
-- "Where is bro going💀" — Float to heaven with Stop/Resume GUI
-- Pure LocalScript. Only affects YOUR view.
-- Place in StarterPlayer > StarterPlayerScripts

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

-- ================= CONFIG =================
local SPEED      = 4                     -- studs per second
local TEXT       = "Where is bro going💀"
local TOGGLE_KEY = Enum.KeyCode.H
local AUTO_START = true
-- ==========================================

-- ================= GUI =================
local gui = Instance.new("ScreenGui")
gui.Name = "AscendGui"
gui.ResetOnSpawn = false
gui.IgnoreGuiInset = true
gui.DisplayOrder = 999
gui.Parent = playerGui

local function corner(p: Instance, r: number?): UICorner
	local c = Instance.new("UICorner")
	c.CornerRadius = UDim.new(0, r or 6)
	c.Parent = p
	return c
end

-- Main panel
local frame = Instance.new("Frame")
frame.Size = UDim2.fromOffset(240, 150)
frame.Position = UDim2.new(0, 20, 0, 20)
frame.BackgroundColor3 = Color3.fromRGB(28, 28, 28)
frame.BorderSizePixel = 0
frame.Active = true
frame.Parent = gui
corner(frame, 8)
local stroke = Instance.new("UIStroke", frame)
stroke.Color = Color3.fromRGB(90, 90, 90)

-- Manual drag
local dragStart, startPos
frame.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1 then
		dragStart = input.Position
		startPos = frame.Position
	end
end)
UserInputService.InputChanged:Connect(function(input)
	if dragStart and input.UserInputType == Enum.UserInputType.MouseMovement then
		local d = input.Position - dragStart
		frame.Position = UDim2.new(
			startPos.X.Scale, startPos.X.Offset + d.X,
			startPos.Y.Scale, startPos.Y.Offset + d.Y
		)
	end
end)
UserInputService.InputEnded:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1 then dragStart = nil end
end)

-- Title
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -60, 0, 24)
title.Position = UDim2.fromOffset(12, 8)
title.BackgroundTransparency = 1
title.Text = "Heaven Mode 💀"
title.TextColor3 = Color3.new(1, 1, 1)
title.Font = Enum.Font.GothamBold
title.TextSize = 15
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = frame

-- Close (hides panel, keeps you rising)
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.fromOffset(24, 24)
closeBtn.Position = UDim2.new(1, -34, 0, 8)
closeBtn.BackgroundColor3 = Color3.fromRGB(200, 60, 60)
closeBtn.TextColor3 = Color3.new(1, 1, 1)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 14
closeBtn.Text = "X"
closeBtn.Parent = frame
corner(closeBtn, 6)

-- Status label
local statusLbl = Instance.new("TextLabel")
statusLbl.Size = UDim2.new(1, -24, 0, 20)
statusLbl.Position = UDim2.fromOffset(12, 38)
statusLbl.BackgroundTransparency = 1
statusLbl.Text = "Stopped"
statusLbl.TextColor3 = Color3.fromRGB(180, 180, 180)
statusLbl.Font = Enum.Font.Gotham
statusLbl.TextSize = 13
statusLbl.TextXAlignment = Enum.TextXAlignment.Left
statusLbl.Parent = frame

-- Stop button
local stopBtn = Instance.new("TextButton")
stopBtn.Size = UDim2.new(0.5, -18, 0, 40)
stopBtn.Position = UDim2.new(0, 12, 0, 64)
stopBtn.BackgroundColor3 = Color3.fromRGB(200, 60, 60)
stopBtn.TextColor3 = Color3.new(1, 1, 1)
stopBtn.Font = Enum.Font.GothamBold
stopBtn.TextSize = 16
stopBtn.Text = "Stop"
stopBtn.Parent = frame
corner(stopBtn, 6)

-- Resume button
local resumeBtn = Instance.new("TextButton")
resumeBtn.Size = UDim2.new(0.5, -18, 0, 40)
resumeBtn.Position = UDim2.new(0.5, 6, 0, 64)
resumeBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 80)
resumeBtn.TextColor3 = Color3.new(1, 1, 1)
resumeBtn.Font = Enum.Font.GothamBold
resumeBtn.TextSize = 16
resumeBtn.Text = "Resume"
resumeBtn.Parent = frame
corner(resumeBtn, 6)

-- Reopen button (floating, shown when panel is closed)
local reopenBtn = Instance.new("TextButton")
reopenBtn.Size = UDim2.fromOffset(130, 34)
reopenBtn.Position = UDim2.fromOffset(20, 20)
reopenBtn.BackgroundColor3 = Color3.fromRGB(90, 60, 150)
reopenBtn.TextColor3 = Color3.new(1, 1, 1)
reopenBtn.Font = Enum.Font.GothamBold
reopenBtn.TextSize = 13
reopenBtn.Text = "Heaven Mode 💀"
reopenBtn.Visible = false
reopenBtn.Active = true
reopenBtn.Parent = gui
corner(reopenBtn, 8)

-- ================= STATE =================
local rising = false
local billboard: BillboardGui? = nil
local savedAnchors: {[BasePart]: boolean} = {}
local heartConn: RBXScriptConnection? = nil

local function setStatus(txt: string, color: Color3?)
	statusLbl.Text = txt
	statusLbl.TextColor3 = color or Color3.fromRGB(180, 180, 180)
end

-- ================= BILLBOARD =================
local function createBillboard(head: BasePart)
	if billboard then billboard:Destroy() end
	local bb = Instance.new("BillboardGui")
	bb.Name = "HeavenBillboard"
	bb.Size = UDim2.fromScale(12, 2.5)
	bb.StudsOffset = Vector3.new(0, 3, 0)
	bb.AlwaysOnTop = true
	bb.LightInfluence = 0
	bb.Parent = head

	local lbl = Instance.new("TextLabel")
	lbl.Size = UDim2.fromScale(1, 1)
	lbl.BackgroundTransparency = 1
	lbl.Text = TEXT
	lbl.TextColor3 = Color3.new(1, 1, 1)
	lbl.Font = Enum.Font.GothamBlack
	lbl.TextSize = 32
	lbl.TextStrokeTransparency = 0
	lbl.TextStrokeColor3 = Color3.new(0, 0, 0)
	lbl.Parent = bb

	billboard = bb
end

-- ================= CORE =================
local function anchorAll(char: Model)
	savedAnchors = {}
	for _, d in ipairs(char:GetDescendants()) do
		if d:IsA("BasePart") then
			savedAnchors[d] = d.Anchored
			d.Anchored = true
		end
	end
end

local function restoreAnchors()
	for part, was in pairs(savedAnchors) do
		if part.Parent then part.Anchored = was end
	end
	savedAnchors = {}
end

local function stopHeartbeat()
	if heartConn then heartConn:Disconnect() heartConn = nil end
end

local function startHeartbeat()
	stopHeartbeat()
	heartConn = RunService.Heartbeat:Connect(function(dt)
		if not rising then return end
		for part in pairs(savedAnchors) do
			if part.Parent then
				part.CFrame = part.CFrame + Vector3.new(0, SPEED * dt, 0)
			end
		end
	end)
end

local function resume()
	if rising then return end
	local char = player.Character
	if not char then setStatus("No character.", Color3.fromRGB(255, 120, 120)) return end
	local hum = char:FindFirstChildOfClass("Humanoid")
	if hum then hum.PlatformStand = true end
	if next(savedAnchors) == nil then anchorAll(char) end
	rising = true
	startHeartbeat()
	setStatus("Rising ⬆️", Color3.fromRGB(120, 220, 120))
	print("[Heaven] Rising.")
end

local function stop()
	if not rising then return end
	rising = false
	-- Keep parts anchored so you hover in place instead of falling
	stopHeartbeat()
	setStatus("Stopped ⏸️ (hovering in place)", Color3.fromRGB(255, 200, 100))
	print("[Heaven] Stopped.")
end

local function enableHeaven()
	local char = player.Character
	if not char then
		setStatus("No character yet.", Color3.fromRGB(255, 120, 120))
		return
	end
	local head = char:FindFirstChild("Head") :: BasePart?
	if not head then
		setStatus("No Head part.", Color3.fromRGB(255, 120, 120))
		return
	end
	anchorAll(char)
	createBillboard(head)
	resume()
end

local function disableHeaven()
	rising = false
	stopHeartbeat()
	restoreAnchors()
	if billboard then billboard:Destroy() billboard = nil end
	local char = player.Character
	if char then
		local hum = char:FindFirstChildOfClass("Humanoid")
		if hum then hum.PlatformStand = false end
	end
	setStatus("Off (grounded)", Color3.fromRGB(180, 180, 180))
	print("[Heaven] Disabled.")
end

-- ================= BUTTON WIRING =================
stopBtn.MouseButton1Click:Connect(stop)
resumeBtn.MouseButton1Click:Connect(function()
	-- If heaven mode was never started (e.g. AUTO_START off), enable it
	if not billboard then
		enableHeaven()
	else
		resume()
	end
end)

closeBtn.MouseButton1Click:Connect(function()
	frame.Visible = false
	reopenBtn.Visible = true
end)

reopenBtn.MouseButton1Click:Connect(function()
	frame.Visible = true
	reopenBtn.Visible = false
end)

UserInputService.InputBegan:Connect(function(input, processed)
	if processed then return end
	if input.KeyCode == TOGGLE_KEY then
		frame.Visible = not frame.Visible
		reopenBtn.Visible = not frame.Visible
	end
end)

-- ================= SPAWN / RESPAWN =================
local function onChar(_char: Model)
	disableHeaven()
	if AUTO_START then
		task.wait(1)
		enableHeaven()
	end
end

if player.Character then
	task.spawn(onChar, player.Character)
end
player.CharacterAdded:Connect(onChar)

setStatus(AUTO_START and "Starting..." or "Press Resume to begin.")
print("[Heaven] GUI loaded. H toggles panel, Stop/Resume controls rise.")

How to Execute Universal Script – FLOAT TO HEAVEN

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

kjjjkjpro
kjjjkjpro
Script User
View Author Profile

Features & Information

Execute Universal Script – FLOAT TO HEAVEN. Key system required, created by kjjjkjpro, updated Oct 24, 2026. Tested and working on supported executors.

Script Changelog (1)

@kjjjkjproOct 24, 2026

Create script

Community Comments (1)

kjjjkjprokjjjkjproOct 26, 2026

works on every executor tested fully

Frequently Asked Questions

How do I execute Universal Script – FLOAT TO HEAVEN in Roblox?

To run Universal Script – FLOAT TO HEAVEN, 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 – FLOAT TO HEAVEN keyless or does it require an access key?

Universal Script – FLOAT TO HEAVEN requires an access key. You can retrieve the official key directly using the Get Script Key link provided above.

Is Universal Script – FLOAT TO HEAVEN 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.