FE SKYBOX BYP4 55ED IMPORTANT READ DESCRIPTION
Key RequiredUniversal

FE SKYBOX BYP4 55ED IMPORTANT READ DESCRIPTION

Universal ScriptIrfannnnnIrfannnnn 4.6K views 2.4K executesUpdated Mar 13, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•401 lines (11441 chars)
local UI = loadstring(game:HttpGet("https://raw.githubusercontent.com/RealBatu20/AI-Scripts-2025/refs/heads/main/crimsonui.lua"))()

local function missing(t, f, fallback)
    if type(f) == t then return f end
    return fallback 
end

cloneref = missing("function", cloneref, function(...) return ... end)

local Services = setmetatable({}, {
    __index = function(_, name)
        return cloneref(game:GetService(name))
    end
})

local Players = Services.Players
local RunService = Services.RunService
local UserInputService = Services.UserInputService
local TweenService = Services.TweenService

local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")

local function isR6()
    return humanoid.RigType == Enum.HumanoidRigType.R6
end

local function checkRemotes()
    local replicatedStorage = Services.ReplicatedStorage
    local success, result = pcall(function()
        return replicatedStorage:WaitForChild("BloxbizRemotes", 5)
    end)
    
    if not success then return false end
    local bloxbizRemotes = result
    if not bloxbizRemotes then return false end
    
    local catalogRemote = bloxbizRemotes:FindFirstChild("CatalogOnApplyOutfit")
    local catalogToHumanoid = bloxbizRemotes:FindFirstChild("CatalogOnApplyToRealHumanoid")
    
    return catalogRemote ~= nil and catalogToHumanoid ~= nil
end

local hasRemotes = checkRemotes()

if isR6() then
    local errorGui = Instance.new("ScreenGui")
    errorGui.Name = "ErrorGui"
    errorGui.ResetOnSpawn = false
    errorGui.Parent = Services.CoreGui

    local errorFrame = Instance.new("Frame")
    errorFrame.Size = UDim2.new(0, 400, 0, 100)
    errorFrame.Position = UDim2.new(0.5, -200, 0.5, -50)
    errorFrame.BackgroundColor3 = Color3.fromRGB(40, 0, 0)
    errorFrame.BorderSizePixel = 3
    errorFrame.BorderColor3 = Color3.fromRGB(255, 0, 0)
    errorFrame.Parent = errorGui
    Instance.new("UICorner", errorFrame).CornerRadius = UDim.new(0, 10)

    local errorText = Instance.new("TextLabel")
    errorText.Size = UDim2.new(1, -20, 1, -20)
    errorText.Position = UDim2.new(0, 10, 0, 10)
    errorText.BackgroundTransparency = 1
    errorText.Text = "SORRY, THIS SCRIPT WORKS ONLY WITH R15 AVATARS"
    errorText.TextColor3 = Color3.fromRGB(255, 50, 50)
    errorText.Font = Enum.Font.GothamBold
    errorText.TextSize = 16
    errorText.TextWrapped = true
    errorText.Parent = errorFrame

    delay(10, function()
        errorGui:Destroy()
    end)
    return
end

if not hasRemotes then
    local errorGui = Instance.new("ScreenGui")
    errorGui.Name = "ErrorGui"
    errorGui.ResetOnSpawn = false
    errorGui.Parent = Services.CoreGui

    local errorFrame = Instance.new("Frame")
    errorFrame.Size = UDim2.new(0, 400, 0, 120)
    errorFrame.Position = UDim2.new(0.5, -200, 0.1, 0)
    errorFrame.BackgroundColor3 = Color3.fromRGB(40, 0, 0)
    errorFrame.BorderSizePixel = 3
    errorFrame.BorderColor3 = Color3.fromRGB(255, 0, 0)
    errorFrame.Parent = errorGui
    Instance.new("UICorner", errorFrame).CornerRadius = UDim.new(0, 10)

    local errorText = Instance.new("TextLabel")
    errorText.Size = UDim2.new(1, -20, 1, -20)
    errorText.Position = UDim2.new(0, 10, 0, 10)
    errorText.BackgroundTransparency = 1
    errorText.Text = "SORRY THIS GAME NOT HAVING BLOXBIZ AVATAR CATALOG, PLS BUY PRO BUILDER BUNDLE FOR FE SKYBOX"
    errorText.TextColor3 = Color3.fromRGB(255, 50, 50)
    errorText.Font = Enum.Font.GothamBold
    errorText.TextSize = 16
    errorText.TextWrapped = true
    errorText.TextScaled = false
    errorText.Parent = errorFrame

    delay(10, function()
        errorGui:Destroy()
    end)
end

if hasRemotes then
    local args = {
      {
        SwimAnimation = 0,
        DepthScale = 1,
        RightLegColor = Color3.new(0.1725490242242813, 0.3960784375667572, 0.11372549086809158),
        MoodAnimation = 14618207727,
        Face = 0,
        JumpAnimation = 0,
        HeadColor = Color3.new(1, 0.6470588445663452, 0.6000000238418579),
        BodyTypeScale = 0,
        ClimbAnimation = 0,
        LeftArmColor = Color3.new(0.9725490212440491, 0.9725490212440491, 0.9725490212440491),
        LeftLegColor = Color3.new(0.1725490242242813, 0.3960784375667572, 0.11372549086809158),
        Pants = 0,
        RightArmColor = Color3.new(0.9725490212440491, 0.9725490212440491, 0.9725490212440491),
        WidthScale = 1,
        LeftArm = 134162178631486,
        IdleAnimation = 0,
        RightArm = 112132665744785,
        GraphicTShirt = 0,
        Head = 112098331348331,
        Shirt = 0,
        Torso = 100839513065432,
        RunAnimation = 0,
        WalkAnimation = 0,
        FallAnimation = 0,
        TorsoColor = Color3.new(1, 1, 1),
        Accessories = {},
        RightLeg = 134568824619589,
        HeadScale = 1,
        HeightScale = 1,
        ProportionScale = 0,
        LeftLeg = 119032106683081
      }
    }

    local success, err = pcall(function()
        game:GetService("ReplicatedStorage"):WaitForChild("BloxbizRemotes"):WaitForChild("CatalogOnApplyOutfit"):FireServer(unpack(args))
    end)

    if not success then
        warn("Failed to apply outfit: " .. tostring(err))
    end
end

player.CharacterAdded:Connect(function(newCharacter)
    character = newCharacter
    humanoid = character:WaitForChild("Humanoid")

    if isR6() then
        return
    end
end)

local Settings = {
    ["Fade In"] = 0.1,
    ["Fade Out"] = 0.1,
    ["Weight"] = 1,
    ["Speed"] = 1,
    ["Allow Invisible"] = true,
    ["Time Position"] = 0.99
}

local CurrentTrack
local FIXED_EMOTE_ID = 93224413172183

local function LoadTrack()
    if CurrentTrack then 
        CurrentTrack:Stop(0) 
    end

    local animId
    local ok, result = pcall(function()
        return game:GetObjects("rbxassetid://" .. tostring(FIXED_EMOTE_ID))
    end)

    if ok and result and #result > 0 then
        local anim = result[1]
        if anim:IsA("Animation") then
            animId = anim.AnimationId
        else
            animId = "rbxassetid://" .. tostring(FIXED_EMOTE_ID)
        end
    else
        animId = "rbxassetid://" .. tostring(FIXED_EMOTE_ID)
    end

    local newAnim = Instance.new("Animation")
    newAnim.AnimationId = animId
    local newTrack = humanoid:LoadAnimation(newAnim)
    newTrack.Priority = Enum.AnimationPriority.Action4

    local weight = Settings["Weight"]
    if weight == 0 then
        weight = 0.001
    end

    newTrack:Play(Settings["Fade In"], weight, Settings["Speed"])
    
    CurrentTrack = newTrack
    CurrentTrack.TimePosition = math.clamp(Settings["Time Position"], 0, 1) * CurrentTrack.Length

    delay(1, function()
        if CurrentTrack and CurrentTrack == newTrack and CurrentTrack.IsPlaying then
            CurrentTrack:AdjustSpeed(0)
        end
    end)

    return newTrack
end

local function StopTrack()
    if CurrentTrack then
        CurrentTrack:Stop(Settings["Fade Out"])
        CurrentTrack = nil
    end
end

local function ApplyCoolkidSkybox()
    if not hasRemotes then return end
    
    local success, err = pcall(function()
        local args = {
            {
                Property = "Shirt",
                AssetId = 12969823720
            }
        }
        game:GetService("ReplicatedStorage"):WaitForChild("BloxbizRemotes"):WaitForChild("CatalogOnApplyToRealHumanoid"):FireServer(unpack(args))
    end)
    
    if not success then
        warn("Failed to apply skybox: " .. tostring(err))
    end
end

local function ApplyCustomSkybox(assetId)
    if not hasRemotes then return end
    
    local success, err = pcall(function()
        local args = {
            {
                Property = "Shirt",
                AssetId = assetId
            }
        }
        game:GetService("ReplicatedStorage"):WaitForChild("BloxbizRemotes"):WaitForChild("CatalogOnApplyToRealHumanoid"):FireServer(unpack(args))
    end)
    
    if not success then
        warn("Failed to apply custom asset: " .. tostring(err))
    end
end

local Window = UI:CreateWindow({
    Title = "FE Skybox & Animation",
    Icon = "☁️",
    Size = Vector2.new(350, 450)
})

local MainTab = Window:CreateTab("Main")

MainTab:CreateLabel("Status: " .. (hasRemotes and "✅ Bloxbiz Ready" or "❌ No Bloxbiz"))
MainTab:CreateLabel("Avatar: " .. (isR6() and "R6 (Unsupported)" or "R15 (Supported)"))

MainTab:CreateButton({
    Name = "▶ Play Emote",
    Callback = LoadTrack
})

MainTab:CreateButton({
    Name = "■ Stop Emote",
    Callback = StopTrack
})

local SettingsTab = Window:CreateTab("Settings")

SettingsTab:CreateSlider({
    Name = "Time Position",
    Min = 0,
    Max = 1,
    Default = Settings["Time Position"],
    Callback = function(value)
        Settings["Time Position"] = value
        if CurrentTrack and CurrentTrack.IsPlaying and CurrentTrack.Length > 0 then
            CurrentTrack.TimePosition = math.clamp(value, 0, 1) * CurrentTrack.Length
        end
    end
})

SettingsTab:CreateSlider({
    Name = "Speed",
    Min = 0,
    Max = 5,
    Default = Settings["Speed"],
    Callback = function(value)
        Settings["Speed"] = value
        if CurrentTrack and CurrentTrack.IsPlaying then
            CurrentTrack:AdjustSpeed(value)
        end
    end
})

SettingsTab:CreateSlider({
    Name = "Weight",
    Min = 0,
    Max = 1,
    Default = Settings["Weight"],
    Callback = function(value)
        Settings["Weight"] = value
        if CurrentTrack and CurrentTrack.IsPlaying then
            local weight = value == 0 and 0.001 or value
            CurrentTrack:AdjustWeight(weight)
        end
    end
})

SettingsTab:CreateSlider({
    Name = "Fade In",
    Min = 0,
    Max = 2,
    Default = Settings["Fade In"],
    Callback = function(value)
        Settings["Fade In"] = value
    end
})

SettingsTab:CreateSlider({
    Name = "Fade Out",
    Min = 0,
    Max = 2,
    Default = Settings["Fade Out"],
    Callback = function(value)
        Settings["Fade Out"] = value
    end
})

SettingsTab:CreateToggle({
    Name = "Allow Invisible",
    Default = Settings["Allow Invisible"],
    Callback = function(state)
        Settings["Allow Invisible"] = state
    end
})

local SkyboxTab = Window:CreateTab("Skybox")

if hasRemotes then
    SkyboxTab:CreateLabel("Quick Apply:")
    
    SkyboxTab:CreateButton({
        Name = "Apply Coolkid Skybox",
        Callback = ApplyCoolkidSkybox
    })
    
    SkyboxTab:CreateLabel("Custom Asset:")
    
    local customAssetId = ""
    
    SkyboxTab:CreateInput({
        Name = "Asset ID",
        Placeholder = "Enter Shirt Asset ID...",
        Callback = function(text)
            customAssetId = text
        end
    })
    
    SkyboxTab:CreateButton({
        Name = "Apply Custom Skybox",
        Callback = function()
            local assetId = tonumber(customAssetId)
            if assetId then
                ApplyCustomSkybox(assetId)
            else
                warn("Invalid Asset ID entered")
            end
        end
    })
else
    SkyboxTab:CreateLabel("❌ Bloxbiz remotes not found")
    SkyboxTab:CreateLabel("Buy Pro Builder Bundle to use")
end

local InfoTab = Window:CreateTab("Info")

InfoTab:CreateLabel("FE Skybox Bypassed v2")
InfoTab:CreateLabel("UI: Crimson UI Lib")
InfoTab:CreateLabel("Requires: Bloxbiz + R15")
InfoTab:CreateLabel("")
InfoTab:CreateLabel("Discord: discord.gg/Tmyb9ySsCR")

Features & Information

Original by @areover GUI by Botakkkkk (me) UI: Crimson Lib (by me) TESTED ON XENO! REQUIRE "pro builder" BUNDLE or AVATAR CATALOG BLOXBIZ !! [Beta version] (pls dont dislike if this script doesn't work) pro builder bundle (OFFSALE) - https://www.roblox.com/bundles/148351107651039/pro-builder Real FE Skybox for ALL R15 GAMES Works on all exploits New Function V2: [+] Change UI to Crimson UI Lib Function V1: [+] Added New Fixed Emote ID (93224413172183) Functions: [+] FE Skybox [+] Fade In [+] Fade Out [+] Weight [+] Speed [+] Allow Invisible [+] Time Position [+] If you not have pro builder bloxbiz equip this bundle [+] Show/Hide button (bottom left) Open source, and you can make you own skybox Tested on game: I WANNA RUN AWAY!
#fe skybox#skybox#pro builder

Community Comments (5)

kiannamikailerkiannamikailerMar 13, 2026

works?

Replying to @kiannamikailer
IrfannnnnIrfannnnnMar 13, 2026(edited)

@kiannamikailer yes, join game that have bloxbiz catalog & try on pro builder bundle (or just execute the script and it will auto wear the bundle)

Replying to @Irfannnnn
comfirtlecomfirtleMar 13, 2026

@Irfannnnn you can maybe try making a list of games

WeakLessWeakLessMar 20, 2026(edited)

nice, Ill need to add other catalogs

NiceiambettsrNiceiambettsrAug 27, 2026(edited)

MY OWNER, IT WORKS WITH ONE BUNDLE HOLY * ITS CALLED GLITCH WALKER, but it doesnt really work with images

More Scripts for Universal Scripts