FE MOVER (fixed 1.3)
Key RequiredUniversal

FE MOVER (fixed 1.3)

Universal Scripthey2010userherehey2010userhere 6.6K views 171 executesUpdated Jun 11, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Script•207 lines (6842 chars)
--// Load Fluent UI
local Fluent = loadstring(game:HttpGet("https://github.com/dawid-scripts/Fluent/releases/latest/download/main.lua"))()
local SaveManager = loadstring(game:HttpGet("https://raw.githubusercontent.com/dawid-scripts/Fluent/master/Addons/SaveManager.lua"))()
local InterfaceManager = loadstring(game:HttpGet("https://raw.githubusercontent.com/dawid-scripts/Fluent/master/Addons/InterfaceManager.lua"))()

--// Setup window
local Window = Fluent:CreateWindow({
    Title = "Hat Mover FE | by milkchocouser",
    SubTitle = "Soft float hats (FE)",
    TabWidth = 160,
    Size = UDim2.fromOffset(580, 460),
    Acrylic = true,
    Theme = "Dark",
    MinimizeKey = Enum.KeyCode.LeftControl
})

local Tabs = {
    Enable = Window:AddTab({ Title = "FE Enable", Icon = "wand" }),
    Float = Window:AddTab({ Title = "Hats/Accessory", Icon = "layers" }),
    Block = Window:AddTab({ Title = "Blocker Hat", Icon = "alert-circle" })
}

local LP = game:GetService("Players").LocalPlayer
local RS = game:GetService("RunService")
local Char = LP.Character or LP.CharacterAdded:Wait()
local hats = {}
local mode = "none"

--// Float hats logic
RS.Heartbeat:Connect(function()
    local root = Char:FindFirstChild("HumanoidRootPart")
    if not root then return end

    for i, hat in ipairs(hats) do
        local t = tick() + i
        local offset = Vector3.zero

        if mode == "Orbit" then
            offset = Vector3.new(math.cos(t) * 3, 2, math.sin(t) * 3)
        elseif mode == "Line" then
            offset = Vector3.new(0, 2, (i - 1) * 2)
        elseif mode == "LineCrazy" then
            offset = Vector3.new(math.sin(t * 3) * 2, math.cos(t * 2) * 2, i)
        elseif mode == "Tool" then
            local arm = Char:FindFirstChild("RightHand") or Char:FindFirstChild("Right Arm")
            if arm then
                offset = (arm.Position - root.Position)
            end
        elseif mode == "Car" then
            if i == 1 or i == 2 then
                offset = Vector3.new(math.cos(t * 3) * 2, -1.5, math.sin(t * 3) * 2)
            else
                offset = Vector3.new(0, -0.5, 0)
            end
        elseif mode == "Wizard" then
            offset = Vector3.new(math.sin(t * 1.5) * 2, math.cos(t * 1.2) * 2 + 2, math.sin(t) * 2)
        end

        local target = root.Position + offset
        pcall(function()
            hat.CanCollide = false
            hat.Velocity = Vector3.zero
            if hat:IsA("BasePart") then
                hat.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0)
            end
            if mode ~= "none" then
                hat.CFrame = hat.CFrame:Lerp(CFrame.new(target), 0.15)
            else
                hat.CFrame = hat.CFrame:Lerp(root.CFrame, 0.15)
            end
        end)
    end
end)

--// Enable hat float
Tabs.Enable:AddButton({
    Title = "Enable Move Hats",
    Description = "Detach & float all hats soft",
    Callback = function()
        hats = {}
        Char = LP.Character or LP.CharacterAdded:Wait()
        for _, acc in ipairs(Char:GetChildren()) do
            if acc:IsA("Accessory") and acc:FindFirstChild("Handle") then
                local h = acc.Handle
                h.Massless = true
                h.CanCollide = false
                h.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0)
                for _, w in ipairs(h:GetChildren()) do
                    if w:IsA("Weld") or w:IsA("WeldConstraint") then
                        w:Destroy()
                    end
                end
                table.insert(hats, h)
            end
        end
        Fluent:Notify({
            Title = "Floating Enabled",
            Content = "Hats now gently float ✨",
            Duration = 5
        })
    end
})

--// Reset character
Tabs.Enable:AddButton({
    Title = "Reset",
    Description = "Instant reset character",
    Callback = function()
        local hum = Char:FindFirstChildOfClass("Humanoid")
        if hum then
            hum.Health = 0
        end
        Char = LP.CharacterAdded:Wait()
    end
})

--// Discord button
Tabs.Enable:AddButton({
    Title = "Join Discord",
    Description = "Copy Discord invite",
    Callback = function()
        setclipboard("https://discord.gg/w3qHHUxekM")
        Fluent:Notify({
            Title = "Copied",
            Content = "Discord invite copied!",
            Duration = 4
        })
    end
})

--// Float Modes (Toggles)
Tabs.Float:AddToggle("Orbit", { Title = "Orbit Mode" }):OnChanged(function(v)
    if v then mode = "Orbit" end
end)

Tabs.Float:AddToggle("Line", { Title = "Line Mode" }):OnChanged(function(v)
    if v then mode = "Line" end
end)

Tabs.Float:AddToggle("LineCrazy", { Title = "Crazy Line Mode" }):OnChanged(function(v)
    if v then mode = "LineCrazy" end
end)

Tabs.Float:AddToggle("Tool", { Title = "Tool Follow Mode" }):OnChanged(function(v)
    if v then mode = "Tool" end
end)

Tabs.Float:AddToggle("Car", { Title = "Car Hat Mode" }):OnChanged(function(v)
    if v then mode = "Car" end
end)

Tabs.Float:AddToggle("Wizard", { Title = "Wizard Soft Float" }):OnChanged(function(v)
    if v then mode = "Wizard" end
end)

Tabs.Float:AddToggle("None", { Title = "Disable Float", Default = true }):OnChanged(function(v)
    if v then mode = "none" end
end)

--// Block hat meshes
Tabs.Block:AddParagraph({
    Title = "Info",
    Content = "Some games support FE hat blocking, some classic ones don’t."
})

Tabs.Block:AddButton({
    Title = "Block Hat",
    Description = "Remove hat mesh + texture (client)",
    Callback = function()
        for _, acc in ipairs(Char:GetChildren()) do
            if acc:IsA("Accessory") and acc:FindFirstChild("Handle") then
                for _, p in ipairs(acc.Handle:GetChildren()) do
                    if p:IsA("SpecialMesh") or p:IsA("MeshPart") then
                        p:Destroy()
                    end
                end
            end
        end
    end
})

Tabs.Block:AddInput("HatSize", {
    Title = "Size (CLIENT)",
    Placeholder = "e.g. 2,2,2",
    Callback = function(txt)
        local parts = string.split(txt, ",")
        if #parts == 3 then
            local size = Vector3.new(tonumber(parts[1]), tonumber(parts[2]), tonumber(parts[3]))
            for _, acc in ipairs(Char:GetChildren()) do
                if acc:IsA("Accessory") and acc:FindFirstChild("Handle") then
                    acc.Handle.Size = size
                end
            end
        end
    end
})

--// Final Fluent setup
SaveManager:SetLibrary(Fluent)
InterfaceManager:SetLibrary(Fluent)
SaveManager:IgnoreThemeSettings()
InterfaceManager:SetFolder("HatMoverFE")
SaveManager:SetFolder("HatMoverFE")
InterfaceManager:BuildInterfaceSection(Tabs.Enable)
SaveManager:BuildConfigSection(Tabs.Enable)
Window:SelectTab(1)
SaveManager:LoadAutoloadConfig()

Features & Information

made by me - fe (some games/high chance?) - update very soon doesnt support - fluxus - delta only support - hydrogen - evon - arceus x neo

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts