Shader RTX
Key RequiredUniversal

Shader RTX

Universal Scriptlarkyqkwqlarkyqkwq 5.9K views 6K executesUpdated Dec 29, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Scriptโ€ข190 lines (5055 chars)
-- FULL Shader System with Quality Slider
-- Day / Sunset / Midnight | Toggleable | FPS Optimized | Draggable UI

local Players = game:GetService("Players")
local Lighting = game:GetService("Lighting")
local UserInputService = game:GetService("UserInputService")
local lp = Players.LocalPlayer

-- ===== CLEAR OLD EFFECTS =====
for _,v in ipairs(Lighting:GetChildren()) do
	if v:IsA("PostEffect") or v:IsA("Atmosphere") then
		v:Destroy()
	end
end

-- ===== EFFECTS =====
local Atmosphere = Instance.new("Atmosphere", Lighting)
local Bloom = Instance.new("BloomEffect", Lighting)
local ColorCorrection = Instance.new("ColorCorrectionEffect", Lighting)
local SunRays = Instance.new("SunRaysEffect", Lighting)
local DoF = Instance.new("DepthOfFieldEffect", Lighting)

Atmosphere.Enabled = false
Bloom.Enabled = false
ColorCorrection.Enabled = false
SunRays.Enabled = false
DoF.Enabled = false

-- ===== QUALITY SETTINGS =====
local function SetQuality(mode)
	if mode == "Low" then
		Bloom.Enabled = false
		SunRays.Enabled = false
		DoF.Enabled = false
		Atmosphere.Density = 0.15

	elseif mode == "Medium" then
		Bloom.Intensity = 0.8
		Bloom.Size = 32
		SunRays.Intensity = 0.03
		Atmosphere.Density = 0.25
		DoF.Enabled = false

	elseif mode == "High" then
		Bloom.Intensity = 1.3
		Bloom.Size = 48
		SunRays.Intensity = 0.06
		Atmosphere.Density = 0.35
		DoF.Enabled = true
		DoF.FocusDistance = 60
		DoF.InFocusRadius = 30
	end
end

-- ===== TIME MODES =====
local function Day()
	Lighting.ClockTime = 14
	Lighting.Brightness = 3
	Lighting.OutdoorAmbient = Color3.fromRGB(140,140,140)
	ColorCorrection.TintColor = Color3.fromRGB(255,255,255)
end

local function Sunset()
	Lighting.ClockTime = 18.5
	Lighting.Brightness = 2.5
	Lighting.OutdoorAmbient = Color3.fromRGB(180,120,80)
	ColorCorrection.TintColor = Color3.fromRGB(255,200,160)
end

local function Midnight()
	Lighting.ClockTime = 0
	Lighting.Brightness = 1.5
	Lighting.OutdoorAmbient = Color3.fromRGB(25,25,45)
	ColorCorrection.TintColor = Color3.fromRGB(180,200,255)
end

-- ===== UI =====
local gui = Instance.new("ScreenGui", lp.PlayerGui)
gui.ResetOnSpawn = false

-- Open / Hide Button
local openBtn = Instance.new("TextButton", gui)
openBtn.Size = UDim2.new(0,110,0,40)
openBtn.Position = UDim2.new(0,10,0,10)
openBtn.Text = "SHADERS"
openBtn.BackgroundColor3 = Color3.fromRGB(20,20,20)
openBtn.TextColor3 = Color3.fromRGB(0,200,255)
openBtn.BorderSizePixel = 0

-- Main Frame
local main = Instance.new("Frame", gui)
main.Size = UDim2.new(0,300,0,300)
main.Position = UDim2.new(0,50,0,80)
main.BackgroundColor3 = Color3.fromRGB(12,12,12)
main.BorderColor3 = Color3.fromRGB(0,200,255)
main.BorderSizePixel = 1
main.Visible = true

-- Drag
local dragging, dragStart, startPos
main.InputBegan:Connect(function(i)
	if i.UserInputType == Enum.UserInputType.MouseButton1 then
		dragging = true
		dragStart = i.Position
		startPos = main.Position
	end
end)

UserInputService.InputChanged:Connect(function(i)
	if dragging and i.UserInputType == Enum.UserInputType.MouseMovement then
		local delta = i.Position - dragStart
		main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
	end
end)

UserInputService.InputEnded:Connect(function(i)
	if i.UserInputType == Enum.UserInputType.MouseButton1 then
		dragging = false
	end
end)

openBtn.MouseButton1Click:Connect(function()
	main.Visible = not main.Visible
end)

-- ===== BUTTON MAKER =====
local function ToggleButton(text, y, callback)
	local b = Instance.new("TextButton", main)
	b.Size = UDim2.new(0,260,0,32)
	b.Position = UDim2.new(0,20,0,y)
	b.BackgroundColor3 = Color3.fromRGB(25,25,25)
	b.TextColor3 = Color3.fromRGB(0,200,255)
	b.BorderSizePixel = 0
	b.Text = text .. " : OFF"
	local state = false

	b.MouseButton1Click:Connect(function()
		state = not state
		b.Text = text .. " : " .. (state and "ON" or "OFF")
		callback(state)
	end)
end

-- ===== QUALITY SLIDER =====
local quality = {"Low","Medium","High"}
local qIndex = 2

local qBtn = Instance.new("TextButton", main)
qBtn.Size = UDim2.new(0,260,0,32)
qBtn.Position = UDim2.new(0,20,0,20)
qBtn.BackgroundColor3 = Color3.fromRGB(30,30,30)
qBtn.TextColor3 = Color3.fromRGB(255,220,120)
qBtn.BorderSizePixel = 0
qBtn.Text = "Quality : Medium"

qBtn.MouseButton1Click:Connect(function()
	qIndex = qIndex + 1
	if qIndex > #quality then qIndex = 1 end
	qBtn.Text = "Quality : " .. quality[qIndex]
	SetQuality(quality[qIndex])
end)

-- ===== SHADER BUTTONS =====
ToggleButton("Day Sun", 65, function(v)
	if v then Day() end
end)

ToggleButton("Sunset", 105, function(v)
	if v then Sunset() end
end)

ToggleButton("Midnight", 145, function(v)
	if v then Midnight() end
end)

ToggleButton("Bloom", 185, function(v)
	Bloom.Enabled = v
end)

ToggleButton("Atmosphere", 225, function(v)
	Atmosphere.Enabled = v
	Atmosphere.Color = Color3.fromRGB(90,100,130)
	Atmosphere.Decay = Color3.fromRGB(30,35,60)
end)

ToggleButton("Sun Rays", 265, function(v)
	SunRays.Enabled = v
end)

print("๐ŸŒž๐ŸŒ™ Shader UI + Quality Slider Loaded")

Features & Information

๐ŸŒž๐ŸŒ™ Shader UI โ€“ Feature Overview ๐ŸŽฎ Visual Modes Day Sun Mode Bright natural daylight Clear sky lighting Best visibility for gameplay Sunset Mode Warm orange / red tones Soft shadows Cinematic evening atmosphere Midnight Mode Dark blue night lighting Moon-style ambient glow Perfect for night maps โœจ Shader Effects (Toggleable) Bloom Adds soft glow to lights Makes neon and lamps pop Adjustable via quality system Atmosphere RTX-style fog & depth Adds realism without heavy FPS loss Color-balanced for night & sunset Sun Rays Light beams through the sky Subtle cinematic effect Disabled automatically on low quality ๐ŸŽš๏ธ Quality System (FPS Optimized) Low Quality Maximum FPS Heavy effects disabled Best for low-end phones & devices Medium Quality (Default) Balanced visuals & performance Smooth gameplay Recommended for most users High Quality Best visuals Stronger bloom & fog Cinematic depth-of-field enabled ๐Ÿ–ฅ๏ธ User Interface Draggable Main UI Move anywhere on screen Touch & mouse friendly 300x300 Compact Design Clean layout No screen clutter Open / Hide Button Quick access Saves screen space Toggle Buttons Each shader can be turned ON or OFF No forced effects โšก Performance & Safety Client-sided only No loops / no FPS spikes Mobile safe Low memory usage Instant apply / instant disable โญ Best For Visual enhancement Cinematic gameplay Low-end & high-end devices Day & night maps Smooth FPS experience

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts