desync roblox script
Key RequiredUniversal

desync roblox script

Universal Scriptdyxmydyxmy 1.3K views 172 executesUpdated Apr 11, 2026
5.0/ 5(2 votes)
20100% Positive
Lua Script•31 lines (1377 chars)
-- code from here https://x64.gg/t/roblox-universal-desync-using-hooks/101
local runService = game:GetService("RunService")
local localPlayer = game:GetService("Players").LocalPlayer

local desyncT = {
   enabled = true,
   loc = CFrame.new()
}

runService.Heartbeat:Connect(function()
    if desyncT.enabled and localPlayer.Character then
        local character = localPlayer.Character
        local root = character:FindFirstChild("HumanoidRootPart")
        if root then
            desyncT.loc = root.CFrame -- setting the real cframe to where we are
            local newCframe = desyncT.loc -- storing the actual cframe
            newCframe = newCframe * CFrame.new(0, -5, 0) -- moving our player down 5 studs (via the desync)
            root.CFrame = newCframe -- setting our root cframe to the new cframe we made (no u will not be able to see this on ur client)
            runService.RenderStepped:Wait() -- waiitiititt
            root.CFrame = desyncT.loc -- reset our players cframe back to where we were beforehand
        end
    end
end)

local desynchook = nil
desynchook = hookmetamethod(game, "__index", newcclosure(function(self, key)
    if desyncT.enabled and not checkcaller() and key == "CFrame" and localPlayer.Character and self == localPlayer.Character.HumanoidRootPart then
        return desyncT.loc
    end
    return desynchook(self, key)
end))

Features & Information

red part in the screenshot is the server position ( vector3.new(0, 5, 0)) need support hook's

Community Comments (1)

09uu09uuApr 14, 2026

nice desync

More Scripts for Universal Scripts