NaturalVisuals v1
Key RequiredUniversal

NaturalVisuals v1

Universal Scriptbobbybob22bobbybob22 788 views 132 executesUpdated Jul 6, 2026
Unrated
00
Lua Script•114 lines (2898 chars)
local Lighting = game:GetService("Lighting")
local Players = game:GetService("Players")
local player = Players.LocalPlayer

local originalLighting = {}
for _, obj in pairs(Lighting:GetChildren()) do
	if not obj:IsA("Sky") and not obj:IsA("Atmosphere") then
		table.insert(originalLighting, obj:Clone())
	end
end

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "NaturalLightingUI"
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")

local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 162, 0, 50)
frame.Position = UDim2.new(0, 20, 0, 20)
frame.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
frame.BackgroundTransparency = 0.25
frame.BorderSizePixel = 0
frame.Parent = screenGui

local frameCorner = Instance.new("UICorner")
frameCorner.CornerRadius = UDim.new(0, 14)
frameCorner.Parent = frame

local button = Instance.new("TextButton")
button.Size = UDim2.new(1, -6, 1, -6)
button.Position = UDim2.new(0, 3, 0, 3)
button.BackgroundColor3 = Color3.fromRGB(0, 190, 100)
button.Text = "Natural ON"
button.TextColor3 = Color3.new(1, 1, 1)
button.Font = Enum.Font.GothamBold
button.TextSize = 15
button.Parent = frame

local buttonCorner = Instance.new("UICorner")
buttonCorner.CornerRadius = UDim.new(0, 11)
buttonCorner.Parent = button

local naturalEnabled = true

local function applyNatural()
	for _, obj in pairs(Lighting:GetChildren()) do
		if not obj:IsA("Sky") and not obj:IsA("Atmosphere") then
			obj:Destroy()
		end
	end

	local cc = Instance.new("ColorCorrectionEffect")
	cc.Name = "ColorCorrection"
	cc.Brightness = 0.1
	cc.Contrast = 0.15
	cc.Saturation = 0.15
	cc.TintColor = Color3.fromRGB(220, 230, 255)
	cc.Enabled = true
	cc.Parent = Lighting

	local dof = Instance.new("DepthOfFieldEffect")
	dof.Name = "DepthOfField"
	dof.FarIntensity = 0.2
	dof.FocusDistance = 0.05
	dof.InFocusRadius = 30
	dof.NearIntensity = 0
	dof.Enabled = true
	dof.Parent = Lighting

	local sun = Instance.new("SunRaysEffect")
	sun.Name = "SunRays"
	sun.Intensity = 0.01
	sun.Spread = 0.1
	sun.Enabled = true
	sun.Parent = Lighting

	local bloom = Instance.new("BloomEffect")
	bloom.Name = "Bloom"
	bloom.Intensity = 0.2
	bloom.Size = 10
	bloom.Threshold = 1
	bloom.Enabled = true
	bloom.Parent = Lighting

	button.Text = "Natural ON"
	button.BackgroundColor3 = Color3.fromRGB(0, 190, 100)
end

local function restoreOriginal()
	for _, obj in pairs(Lighting:GetChildren()) do
		if not obj:IsA("Sky") and not obj:IsA("Atmosphere") then
			obj:Destroy()
		end
	end

	for _, original in pairs(originalLighting) do
		original:Clone().Parent = Lighting
	end

	button.Text = "Natural OFF"
	button.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
end

button.MouseButton1Click:Connect(function()
	naturalEnabled = not naturalEnabled
	if naturalEnabled then
		applyNatural()
	else
		restoreOriginal()
	end
end)

applyNatural()
print("NaturalVisuals is Enabled!")

Features & Information

Makes games that are over-saturated look better

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts