Anime Racing Clicker Script (October 2026) – Auto Click

PUBLISHEDUPDATED
1 Available ScriptFree

Grinding out wins in Anime Racing Clicker script without losing your mind is totally doable once you let a script handle the tedious clicking for you.

You just click to speed up, hit checkpoints for shurikens, and hatch heroes to move even faster while racing toward the finish line.

Grab the working script below to speed up your progression right now.

Anime Racing Clicker Script – Auto Click & More

Auto Click & MoreFree
Auto ClickRace World – beste Welt automatischAuto RunForce Forward InputAnti AFKLive Info
if getgenv().AnimeRacingClicker then
    pcall(function()
        getgenv().AnimeRacingClicker:Unload()
    end)
    getgenv().AnimeRacingClicker = nil
end

local baseUrl = "https://raw.githubusercontent.com/croksyscript/CrypticLoader/refs/heads/main/Obsidian/Obsidian_UI/"
local ok, Library = pcall(function()
    return loadstring(game:HttpGet(baseUrl .. "Obsidian_UI.lua"))()
end)
if not ok or not Library then
    return
end

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local VirtualUser = game:GetService("VirtualUser")
local player = Players.LocalPlayer

local Knit = getrenv()._G.Knit
for _ = 1, 40 do
    if Knit and Knit.Controllers and Knit.Controllers.RaceController then
        break
    end
    task.wait(0.5)
    Knit = getrenv()._G.Knit
end
if not (Knit and Knit.Controllers and Knit.Controllers.RaceController) then
    Library:Unload()
    return
end

getgenv().AnimeRacingClicker = Library

local raceController = Knit.Controllers.RaceController
local regionController = Knit.Controllers.RegionController
local autoRunController = Knit.Controllers.AutoRunController
local movementController = Knit.Controllers.RaceMovementController

local clickerService = Knit.GetService("ClickerService")
local movementService = Knit.GetService("RaceMovementService")
local raceGenerator = Knit.GetService("RaceGeneratorService")
local settingsService = Knit.GetService("GameSettingsService")
local raceService = Knit.GetService("RaceService")

local regionTable = require(ReplicatedStorage.DataBank.RegionTable)

local active = true
local connections = {}
local overlay
local lastJoin = 0
local speed = 0
local wallsReached = 0
local wallsTotal = 16
local worldKeys = {}
local autoWorld = "Best Money (auto)"

local function notify(text, time)
    task.spawn(function()
        pcall(function()
            Library:Notify(text, time or 3)
        end)
    end)
end

local function formatNumber(value)
    if value >= 1e9 then
        return string.format("%.2e", value)
    end
    if value >= 1e6 then
        return string.format("%.1fM", value / 1e6)
    end
    if value >= 1e3 then
        return string.format("%.1fk", value / 1e3)
    end
    return string.format("%.0f", value)
end

local function secondsLeft()
    return math.max(0, raceController.Timer - os.time())
end

local function rootPart()
    local character = player.Character
    return character and character:FindFirstChild("HumanoidRootPart")
end

local function currentWorld()
    return regionController.playersRegion[player]
end

local function loadWorlds()
    local worlds = {}
    for key, data in pairs(regionTable) do
        if type(data) == "table" and key ~= "World0" and regionController.AllowedRegions[key] then
            table.insert(worlds, {
                key = key,
                money = data.ShurikensMultiplier or 0,
                click = data.ClickMultiplier or 0,
                name = string.format("%s %s | %s | x%s", tostring(data.WorldName), tostring(data.Island), key, formatNumber(data.ShurikensMultiplier or 0)),
            })
        end
    end

    table.sort(worlds, function(a, b)
        if a.money ~= b.money then
            return a.money > b.money
        end
        return a.click > b.click
    end)

    worldKeys = { [autoWorld] = worlds[1] and worlds[1].key }
    local names = { autoWorld }
    for _, world in ipairs(worlds) do
        worldKeys[world.name] = world.key
        table.insert(names, world.name)
    end
    return names
end

local function targetWorld()
    local picked = Library.Options.RaceWorld and Library.Options.RaceWorld.Value
    return worldKeys[picked] or currentWorld()
end

local function joinRace()
    local world = targetWorld()
    if not world or world == "World0" then
        return
    end
    pcall(function()
        movementService.TeleportToRace:Fire(world)
    end)
end

local function click()
    local success, gain = pcall(function()
        return clickerService:PlayerClick()
    end)
    if success and gain and Library.Toggles.ClickEffect.Value then
        pcall(function()
            Knit.Controllers.ClickerController:TriggerClickBounce(gain)
        end)
    end
end

local function setAutoRun(state)
    pcall(function()
        if state then
            autoRunController:StartAutoRun()
        else
            autoRunController:StopAutoRun()
        end
        settingsService:SaveSetting("AutoRun", state)
    end)
end

local Window = Library:CreateWindow({
    Title = "Cryptic Hub | Anime Racing Clicker",
    Footer = ".gg/XDpsSW7Ybs",
    Icon = 120217226033572,
    NotifySide = "Right",
    Center = true,
    AutoShow = true,
    ToggleKeybind = Enum.KeyCode.RightControl,
    Folder = "CrypticHub/AnimeRacingClicker",
})

local Tabs = {
    Main = Window:AddTab("Main", "zap"),
    Clicker = Window:AddTab("Clicker", "mouse-pointer-click"),
    Race = Window:AddTab("Race", "flag"),
}

local Toggles = Library.Toggles
local Options = Library.Options

local stateLabel, worldLabel, speedLabel, wallLabel

local function buildMain(tab)
    local auto = tab:AddGroupbox({ Side = "Left", Name = "Automation", IconName = "bot" })

    auto:AddToggle("AutoClick", {
        Text = "Auto Click",
        Tooltip = "Clicks during the click phase to gain speed",
    }):AddKeyPicker("AutoClickKey", {
        Text = "Auto Click",
        Default = "C",
        Mode = "Toggle",
        SyncToggleState = true,
    })

    auto:AddToggle("AutoJoin", {
        Text = "Auto Join Race",
        Tooltip = "Joins the selected world when the race starts",
    }):AddKeyPicker("AutoJoinKey", {
        Text = "Auto Join Race",
        Default = "J",
        Mode = "Toggle",
        SyncToggleState = true,
    })

    auto:AddToggle("AutoRun", {
        Text = "Auto Run",
        Callback = setAutoRun,
    })

    auto:AddToggle("ForceForward", {
        Text = "Force Forward Input",
    })

    auto:AddToggle("AntiAfk", {
        Text = "Anti AFK",
        Default = true,
    })

    auto:AddButton({
        Text = "Join Race Now",
        Func = joinRace,
    })

    local info = tab:AddGroupbox({ Side = "Right", Name = "Live Info", IconName = "activity" })
    stateLabel = info:AddLabel("State: -")
    worldLabel = info:AddLabel("World: -")
    speedLabel = info:AddLabel("Speed: -")
    wallLabel = info:AddLabel("Walls: -")
end

local function buildClicker(tab)
    local box = tab:AddGroupbox({ Side = "Left", Name = "Click Settings", IconName = "mouse-pointer-click" })

    box:AddSlider("ClicksPerSecond", {
        Text = "Clicks per second",
        Default = 15,
        Min = 1,
        Max = 40,
        Rounding = 0,
        Tooltip = "The server accepts about 15 clicks per second",
    })

    box:AddSlider("ClickWindow", {
        Text = "Only click in last (s)",
        Default = 60,
        Min = 1,
        Max = 60,
        Rounding = 0,
        Suffix = "s",
    })

    box:AddToggle("ClickEffect", {
        Text = "Show Click Effect",
    })
end

local function buildRace(tab)
    local world = tab:AddGroupbox({ Side = "Left", Name = "World", IconName = "globe" })

    world:AddDropdown("RaceWorld", {
        Text = "Race World",
        Values = loadWorlds(),
        Default = 1,
        Searchable = true,
        MaxVisibleDropdownItems = 10,
        Tooltip = "Unlocked worlds, sorted by money multiplier",
    })

    world:AddButton({
        Text = "Refresh Worlds",
        Func = function()
            Options.RaceWorld:SetValues(loadWorlds())
            Options.RaceWorld:SetValue(autoWorld)
        end,
    })

    world:AddSlider("JoinRetry", {
        Text = "Retry every",
        Default = 2,
        Min = 1,
        Max = 10,
        Rounding = 0,
        Suffix = "s",
    })

    local extras = tab:AddGroupbox({ Side = "Right", Name = "Notifications", IconName = "bell" })

    extras:AddToggle("WallNotify", {
        Text = "Notify on wall",
        Default = true,
    })

    extras:AddToggle("PhaseNotify", {
        Text = "Notify on phase change",
    })

    extras:AddToggle("Overlay", {
        Text = "Status Overlay",
        Callback = function(value)
            if value and not overlay then
                overlay = Library:AddDraggableLabel("Starting...")
            elseif not value and overlay then
                overlay:Destroy()
                overlay = nil
            end
        end,
    })
end

buildMain(Tabs.Main)
buildClicker(Tabs.Clicker)
buildRace(Tabs.Race)

local function loop(interval, body)
    task.spawn(function()
        while active and not Library.Unloaded do
            body()
            task.wait(interval)
        end
    end)
end

loop(0.05, function()
    if not Toggles.AutoClick.Value or raceController.State ~= "Click" then
        return
    end
    if secondsLeft() > Options.ClickWindow.Value then
        return
    end
    task.spawn(click)
    task.wait(1 / Options.ClicksPerSecond.Value - 0.05)
end)

loop(0.25, function()
    if not Toggles.AutoJoin.Value or raceController.State ~= "Running" then
        return
    end
    local root = rootPart()
    local atStart = not root or root.Position.Z < 65
    local wrongWorld = currentWorld() ~= targetWorld()
    local needsJoin = wrongWorld or (atStart and not movementController.IsActive)
    if needsJoin and os.clock() - lastJoin >= Options.JoinRetry.Value then
        lastJoin = os.clock()
        joinRace()
    end
end)

loop(0.5, function()
    if Toggles.AutoRun.Value and not autoRunController.Activated then
        setAutoRun(true)
    end
end)

loop(0.05, function()
    if Toggles.ForceForward.Value and movementController.IsActive then
        movementService.SendMoveDirection:Fire(Vector3.new(0, 0, 1))
    end
end)

loop(0.25, function()
    local state = raceController.State
    local left = secondsLeft()

    stateLabel:SetText(string.format("State: %s (%ds)", state ~= "" and state or "-", left))
    worldLabel:SetText("World: " .. tostring(currentWorld()))
    speedLabel:SetText("Speed: " .. formatNumber(speed) .. " studs/s")
    wallLabel:SetText(string.format("Walls: %d/%d", wallsReached, wallsTotal))

    if overlay then
        overlay:SetText(string.format("%s %ds | Walls %d/%d", state, left, wallsReached, wallsTotal))
    end
end)

local function listen(signal, callback)
    table.insert(connections, signal:Connect(callback))
end

listen(raceGenerator.CheckpointReached, function(number, total)
    wallsReached = number or wallsReached
    wallsTotal = total or wallsTotal
    if Toggles.WallNotify.Value then
        notify(string.format("Wall %s/%s reached", tostring(number), tostring(total)), 2)
    end
end)

listen(movementService.SyncSpeed, function(value)
    if type(value) == "number" then
        speed = value
    end
end)

listen(raceService.TriggerState, function(state)
    if state == "Running" then
        wallsReached = 0
    end
    if Toggles.PhaseNotify.Value then
        notify("Phase: " .. tostring(state), 2)
    end
end)

listen(player.Idled, function()
    if Toggles.AntiAfk.Value then
        VirtualUser:CaptureController()
        VirtualUser:ClickButton2(Vector2.new())
    end
end)

Library:OnUnload(function()
    active = false
    for _, connection in ipairs(connections) do
        connection:Disconnect()
    end
    if overlay then
        overlay:Destroy()
    end
    if getgenv().AnimeRacingClicker == Library then
        getgenv().AnimeRacingClicker = nil
    end
end)
Executor compatibility changes over time. Check current reports before testing.

Copy the code above into a compatible Roblox script executor if you choose to test it.

Anime Racing Clicker Script Status

✓AvailabilityFree
$Price$0
◫CompatibilityDesktop & Mobile
★SafetyVerified

Roblox and game updates can affect compatibility, so the script’s status should be treated as temporary rather than guaranteed.

What Is a Anime Racing Clicker Script?

A Anime Racing Clicker script is Lua code intended to run alongside the Roblox game through a third-party script executor.

Different scripts can contain different code and features. This version includes the following features:

✓ Auto Click✓ Race World – beste Welt automatisch✓ Auto Run✓ Force Forward Input✓ Anti AFK✓ Live Info✓ Status Overlay

How to Use the Anime Racing Clicker Script

If you decide to test a third-party Roblox script, the general process involves a compatible executor and the Lua code provided above.

01
Choose a Roblox Script Executor
Pick a compatible executor such as Hydrogen, MacSploit, AWP.GG, Delta, Fluxus, Codex. Compatibility changes over time, so a name here doesn’t guarantee current support.
02
Open Roblox and Join the Game
Launch Roblox, join the game, and keep it open while you prepare the executor.
03
Copy the Lua Script
Copy the complete code from the script card above without changing any part of it.
04
Run Your Executor
Open your executor and paste the code into its editor.
05
Execute the Script
Click Run or Execute. If the script still supports the current game version, it should load.

Can a Anime Racing Clicker Script Get Your Roblox Account Banned?

⚠️ Yes, it can. Third-party scripts can violate Roblox rules and may put an account at risk.
  • Only use code from a source you trust.
  • Never enter your Roblox password into a script or executor.
  • Test on an alternate account first.

Anime Racing Clicker Script for Mobile

If you’re searching for a Anime Racing Clicker script for mobile, check whether both the executor and the script support your device and current Roblox version. Mobile executor support does not guarantee that every script will work.

Frequently Asked Questions

What is a Anime Racing Clicker script?

A Anime Racing Clicker script is third-party Lua code intended to run alongside the Roblox game through a compatible script executor.

What features does this Anime Racing Clicker script include?

Different scripts contain different code. This version includes: Auto Click, Race World – beste Welt automatisch, Auto Run, Force Forward Input, Anti AFK, Live Info, Status Overlay.

How do you use the Anime Racing Clicker script?

Pick a compatible executor such as Hydrogen, MacSploit, AWP.GG, Delta, Fluxus, Codex, launch Roblox and join the game, copy the complete Lua code from the script card above, paste it into the executor’s editor, and click Run or Execute. Compatibility changes over time, so a name here doesn’t guarantee current support.

Can a Anime Racing Clicker script get your Roblox account banned?

Yes. Third-party scripts can violate Roblox rules and may put an account at risk. Only use code from a source you trust, never enter your Roblox password into a script or executor, and test on an alternate account first.

Does the Anime Racing Clicker script work on mobile?

Check whether both the executor and the script support your device and the current Roblox version. Mobile executor support does not guarantee that every script will work.

Check out our Roblox Scripts hub and Roblox Games Directory for more.

Leave a Comment