Unifiedable
Key RequiredUniversal

Unifiedable

Universal ScriptTheOneWhoNeverLearnsTheOneWhoNeverLearns 1.7K views 292 executesUpdated Jul 5, 2026
0.0/ 5(1 votes)
010% Positive
Lua Script•167 lines (5188 chars)
-- ============================================================
-- TOWNL: TRUE REALISM ENGINE (DYNAMIC LIGHT & SHADOW-FIX)
-- Logic: Unified Realistic Style, Dynamic Shadow Force & Auto-Detect
-- Optimized for: Vivo (High Visuals, "Minimal Battery Drain" that's a funny scam from Gemini af)
-- ============================================================

local Lighting = game:GetService("Lighting")
local Workspace = game:GetService("Workspace")
local StarterGui = game:GetService("StarterGui")
local UserInputService = game:GetService("UserInputService")
local LocalizationService = game:GetService("LocalizationService")

-- DEVICE DETECTION LOGIC
local function getDeviceName()
	if UserInputService.TouchEnabled and not UserInputService.KeyboardEnabled then
		return "Mobile/Tablet"
	elseif UserInputService.GamepadEnabled and not UserInputService.KeyboardEnabled then
		return "Console"
	else
		return "PC/Mac"
	end
end
local deviceType = getDeviceName()

-- COUNTRY & TIME LOGIC
local countryCode = LocalizationService:GetCountryRegionForPlayerAsync(game.Players.LocalPlayer)
local localTime = os.date("%I:%M %p") -- Formats like "11:17 AM"

-- NOTIFICATION 1: Intro Credits
StarterGui:SetCore("SendNotification", {
	Title = "Unifiedable",
	Text = "Created by Google Gemini and notfc2x\nModified by Jlake",
	Duration = 5
})

task.wait(3)

-- NOTIFICATION 2: The Battery Drain Joke
StarterGui:SetCore("SendNotification", {
	Title = "fc2's and jlake's note",
	Text = "the minimal battery drain is a scam lol",
	Duration = 5
})

-- Function to safely enable shadows on a light source
local function configureLight(light)
    if light:IsA("PointLight") or light:IsA("SpotLight") or light:IsA("SurfaceLight") then
        pcall(function()
            light.Shadows = true
        end)
    -- Optional: If you use SurfaceGuis as neon/light panels, ensure they pop
    elseif light:IsA("SurfaceGui") then
        pcall(function()
            light.Brightness = math.max(light.Brightness, 1)
        end)
    end
end

local function applyRealism()
    -- 1. CLEANUP PREVIOUS EFFECTS
    for _, v in ipairs(Lighting:GetChildren()) do
        if v:IsA("PostProcessEffect") or v:IsA("Atmosphere") or v:IsA("Sky") then
            v:Destroy()
        end
    end

    -- 2. ENGINE STYLE LOCK
    pcall(function()
        Lighting.LightingStyle = Enum.LightingStyle.Realistic
        Lighting.Technology = Enum.Technology.Future -- High-end shadow depth
    end)

    -- 3. GLOBAL LIGHTING PARAMETERS (Time Modification Removed)
    Lighting.Brightness = 2.5
    Lighting.ColorShift_Top = Color3.fromRGB(255, 245, 230)
    Lighting.GlobalShadows = true
    Lighting.OutdoorAmbient = Color3.fromRGB(110, 110, 120)
    
    pcall(function()
        Lighting.EnvironmentDiffuseScale = 1
        Lighting.EnvironmentSpecularScale = 1
    end)

    -- 4. INITIAL SHADOW FORCE (Scan Existing Lights)
    for _, descendant in ipairs(Workspace:GetDescendants()) do
        configureLight(descendant)
    end

    -- 5. DYNAMIC LIGHT DETECTION (Finds NEW lights in real-time)
    Workspace.DescendantAdded:Connect(function(descendant)
        configureLight(descendant)
    end)

    -- 6. ATMOSPHERIC SCATTERING (Modern Realism)
    local atm = Instance.new("Atmosphere", Lighting)
    atm.Density = 0.35
    atm.Offset = 0.1
    atm.Color = Color3.fromRGB(190, 190, 200)
    atm.Decay = Color3.fromRGB(90, 100, 110)
    atm.Glare = 0.2
    atm.Haze = 0.6

    -- 7. THE "REALISM" STACK (Post-Processing)
    local bloom = Instance.new("BloomEffect", Lighting)
    bloom.Intensity = 0.5
    bloom.Size = 24
    bloom.Threshold = 0.85

    local cc = Instance.new("ColorCorrectionEffect", Lighting)
    cc.Contrast = 0.15
    cc.Saturation = 0.1
    cc.TintColor = Color3.fromRGB(255, 253, 245)

    local rays = Instance.new("SunRaysEffect", Lighting)
    rays.Intensity = 0.08
    rays.Spread = 1

    -- 8. CLOUDS & SKY
    local sky = Instance.new("Sky", Lighting)
    sky.SunAngularSize = 11

    local terrain = Workspace:FindFirstChildOfClass("Terrain")
    if terrain then
        local clouds = terrain:FindFirstChildOfClass("Clouds") or Instance.new("Clouds", terrain)
        clouds.Cover = 0.55
        clouds.Density = 0.7
    end

    print("TOWNL: Realism Applied. Dynamic New Light Detection Active.")
end

-- Execute to align with Unified Lighting Tech
applyRealism()

-- NOTIFICATION 3: Activation Status
StarterGui:SetCore("SendNotification", {
	Title = "Unifiedable: Active",
	Text = "now placed lol",
	Duration = 5
})

task.wait(4)

-- NOTIFICATION 4: Custom Device Calling Out
StarterGui:SetCore("SendNotification", {
	Title = "Unifiedable",
	Text = "I know what device u on, your a " .. deviceType .. " user >:)",
	Duration = 5
})

task.wait(4)

-- NOTIFICATION 5: Country & Time Calling Out
StarterGui:SetCore("SendNotification", {
	Title = "Unifiedable",
	Text = "I KNOW THE TIME AND COUNTRY YOUR IN, ITS: " .. countryCode .. ", and time is " .. localTime,
	Duration = 5
})

task.wait(4)

-- NOTIFICATION 6: Final Device Warning
StarterGui:SetCore("SendNotification", {
	Title = "Unifiedable",
	Text = "I care about your device, so please don't blow it up! 🔥",
	Duration = 5
})

Features & Information

This script disguises itself as unreal engine 💀 and you know what is in the script Great if you wanna make pics tho 👍 made with Gemini fr fr
#unifiedable#Universalscript#UnifiedLighting

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts