-- Future Lighting + Full Shadow Enabler (Phase 4 Direct) -- Developed by me_ver245 & ronfc2xx local Lighting = game:GetService("Lighting") local RunService = game:GetService("RunService") local function setFF(name, val) pcall(setfflag, name, val) end -- Phase 4 direct, no intermediate phases setFF("FFlagDebugForceFutureIsBright4", true) setFF("FFlagHighQualityShadows", true) setFF("FIntRenderShadowIntensity", 255) pcall(function() Lighting.GlobalShadows = true end) pcall(function() Lighting.LightingStyle = Enum.LightingStyle.Realistic end) pcall(function() Lighting.PrioritizeLightingQuality = true end) -- Atmosphere if not Lighting:FindFirstChild("FutureAtm") then local atm = Instance.new("Atmosphere") atm.Name = "FutureAtm" atm.Density = 0.28 atm.Offset = 0.22 atm.Color = Color3.fromRGB(220, 220, 220) atm.Decay = Color3.fromRGB(150, 150, 150) atm.Haze = 2 atm.Parent = Lighting end -- Bloom if not Lighting:FindFirstChild("FutureBloom") then local bloom = Instance.new("BloomEffect") bloom.Name = "FutureBloom" bloom.Enabled = true bloom.Intensity = 0.85 bloom.Size = 25 bloom.Threshold = 0.8 bloom.Parent = Lighting end -- Sun Rays if not Lighting:FindFirstChild("FutureSunRays") then local sunrays = Instance.new("SunRaysEffect") sunrays.Name = "FutureSunRays" sunrays.Intensity = 0.25 sunrays.Spread = 0.5 sunrays.Parent = Lighting end pcall(function() Lighting.Ambient = Color3.new(0, 0, 0) end) pcall(function() Lighting.OutdoorAmbient = Color3.new(0, 0, 0) end) pcall(function() Lighting.Brightness = 2.2 end) pcall(function() Lighting.EnvironmentDiffuseScale = 1 end) pcall(function() Lighting.EnvironmentSpecularScale = 1 end) -- Shadow enabler local function crushLight(obj) if obj:IsA("PointLight") or obj:IsA("SpotLight") or obj:IsA("SurfaceLight") or obj:IsA("AreaLight") then pcall(function() obj.Shadows = true end) pcall(function() obj.ShadowSoftness = 1 end) end end local function scanAll() for _, obj in game:GetDescendants() do crushLight(obj) end end scanAll() game.DescendantAdded:Connect(function(obj) crushLight(obj) if obj:IsA("Model") or obj:IsA("Folder") then for _, sub in obj:GetDescendants() do crushLight(sub) end end end) local last = 0 RunService.Heartbeat:Connect(function() local t = tick() if t - last > 4 then scanAll() last = t end end) print("Future lighting active (Phase 4 Direct). Sun reflectance + rays enabled.")