Quick Start

The UI library is completely free — just load it from GitHub. No key needed to use the library or build your own scripts with it.

local StrawHat = loadstring(game:HttpGet( "https://api.strawhat.lol/v1/lib" ))() local Window = StrawHat:CreateWindow({ Name = "My Hub", Theme = "Default", Keybind = Enum.KeyCode.RightShift, })

If you want to use our curated game scripts (ESP, aimbot, game-specific), those require a key. See Key System.

Key System

Keys are only required for our game-specific scripts — not the UI library. If you're building your own scripts, you can enable or disable key checking however you like.

TypeLockDurationHow
FreeHWID24 hoursWorkInk task at strawhat.lol/get-key
PremiumHWID + Roblox ID30 day / LifetimeDiscord bot — ask an admin

Passing a key in the loader is optional. If your script has key checking enabled, you can present the key input before the window opens:

local StrawHat = loadstring(game:HttpGet( "https://api.strawhat.lol/v1/load?key=SH-XXXX-XXXX-XXXX" ))() -- API validates key, HWID locks on first use, then returns the library

Themes

Pass Theme in CreateWindow, or call Window:SetTheme(name) at any time. All elements update simultaneously.

NameFeel
DefaultDiscord dark grey
OceanDeep navy
CrimsonDark blood red
ForestDeep forest green
MidnightDark purple
SandWarm amber

CreateWindow

local Window = StrawHat:CreateWindow({ Name = "Hub Name", LoadingTitle = "Hub Name", LoadingSubtitle = "by You", Logo = "rbxassetid://...", -- optional LoadingDuration = 2.0, Theme = "Default", Keybind = Enum.KeyCode.RightShift, ConfigurationSaving = { Enabled = true, FolderName = "MyHub", FileName = "config", }, })

CreateServer

local Main = Window:CreateServer({ Name = "Main" })

CreateChannel

local CharPage = Main:CreateChannel({ Name = "character" })

CreateSection

local Section = CharPage:CreateSection("Movement") -- Update section title Section:Set("New Title")

Toggle

local T = Section:CreateToggle({ Name = "Infinite Jump", Flag = "InfJump", CurrentValue = false, Description = "Optional subtitle", Callback = function(v) -- v: boolean end, }) T:Set(true)

Slider

local S = Section:CreateSlider({ Name = "Walk Speed", Flag = "WSpeed", Range = {0, 500}, Increment = 1, CurrentValue = 16, Suffix = " studs", Callback = function(v) end, }) S:Set(100)

Button

Section:CreateButton({ Name = "Teleport Home", ButtonText = "Go", -- optional Danger = false, -- true = red StaticColor = Color3.fromRGB(59,130,246), -- pin a color Callback = function() end, })
local D = Section:CreateDropdown({ Name = "Team", Flag = "Team", Values = {"Red", "Blue", "Green"}, CurrentOption = "Red", Callback = function(v) end, }) D:Set("Blue") D:Refresh({"Option A", "Option B"})

Input

Section:CreateInput({ Name = "Custom Tag", Flag = "Tag", PlaceholderText = "Enter text...", Callback = function(v, entered) end, })

Keybind

Section:CreateKeybind({ Name = "Toggle Aimbot", Flag = "KeyAim", DefaultKey = Enum.KeyCode.F, Callback = function() end, })

Color Picker

Section:CreateColorPicker({ Name = "ESP Color", Flag = "ESPCol", DefaultColor = Color3.fromRGB(59, 130, 246), Callback = function(c) end, })

Progress Bar

Section:CreateProgressBar({ Name = "XP", Value = 78, Max = 100, Color = "Green", })

Paragraph

local P = Section:CreateParagraph({ Title = "Info", Content = "Some description text.", }) P:Set({ Title = "New", Content = "Updated" })

Label / Divider

Section:CreateLabel("Helper text") Section:CreateDivider()

Notify

Window:Notify({ Title = "Loaded!", Content = "Ready to use.", Type = "Success", -- Success | Error | Warning | Info Duration = 4, })

SetTheme

Window:SetTheme("Ocean") -- Default | Ocean | Crimson | Forest | Midnight | Sand

Visibility

Window:SetVisibility(false) Window:IsVisible() Window:Destroy()

Config Saving

Window:SaveConfig() Window:LoadConfig() -- Read any flag: print(StrawHat.Flags["WSpeed"])