Roblox UI Library  ·  v3.2  ·  Free Forever

Build scripts
faster. /
Ship them clean.

VenturaUI is a Fluent-style Roblox UI library. One script, one loadstring — a fully animated window with tabs, themes, 15+ components, and a built-in settings panel, instantly.

Script.lua
-- 1. Load VenturaUI from Codeberg local Library = loadstring(game:HttpGet("https://codeberg.org/VenomVent/Ventura-UI/raw/branch/main/VenturaLibrary.lua"))() -- 2. Create your window (key gate is optional) local GUI = Library:new({ name = "My Script", accent = Color3.fromRGB(110, 160, 255), -- key gate: flip keyEnabled to true to lock your script keyEnabled = false, aiEnabled = false, -- free AI tab, no key needed key = "MYKEY-1234", onKeySuccess = function() print("Unlocked!") end, onKeyFail = function() print("Wrong key.") end, }) -- 3. Add tabs and components local Tab = GUI:CreateTab({ name = "Main", icon = Library.Icons.home }) Tab:Toggle({ name = "Speed Hack", default = false, callback = function(v) game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = v and 100 or 16 end }) Tab:Button({ name = "Notify", callback = function() GUI.notify("VenturaUI", "It works! 🎉", 3) end })
15+
Components
4
Themes
v3.2
Version
1file
Zero Deps
MIT
License
Download

Get VenturaUI

Hosted on Codeberg. Use the raw link directly in your loadstring — or download the file to host yourself.

⚔  VenturaLibrary.lua  v3.2  ·  2,300+ lines
Hosted on Codeberg. Use the raw URL directly in loadstring(game:HttpGet(...))() or download the file.
⬡  Open Raw Link 📋  Codeberg
discord: xyvenom  ·  MIT License  ·  📄 Example Script
Features

Everything included.
Nothing to configure.

A complete UI system that looks professional the moment you load it.

🎨
4 Built-in Themes
Dark, Crimson, Magenta, Teal — all live-switchable with smooth tweens from the built-in Settings tab.
Smooth Animations
Every hover, toggle, slide, and open uses TweenService. Nothing ever snaps.
🧩
15+ Components
Button, Toggle, Slider, Dropdown, ColorPicker, Keybind, TextInput, ProgressBar, Paragraph, Badge, and more.
🎛️
Built-in Settings Tab
Theme switcher, HSV + RGB accent picker, rebindable keybinds, UI scale — zero setup needed.
💾
Config Save System
Settings auto-save to a JSON file on every change. Theme, accent, scale and keybinds all persist across sessions.
AI Assistant — Free
Built-in AI chat tab powered by Pollinations AI. Completely free — no API key, no signup, no config needed. Just pass aiEnabled=true.
📱
Mobile Support
Auto-detects touch devices and adjusts layout. Drag works with both mouse and touch.
🔒
Key Gate System
Optional full-screen key prompt with 3-attempt limit. Fully styled, fades out on success.
🧹
Clean Teardown
GUI:Destroy() disconnects every connection, tweens closed, and destroys the ScreenGui. No leaks.
😀
Emoji Icons
100+ named emoji icons in Library.Icons. Full color, render natively in Roblox — no asset IDs or uploads needed.
↔️
Free Resize
Drag the bottom-right corner to freely resize the window. Size auto-saves and restores on next run.
⌨️
Typewriter Title
The topbar title types itself out when the window opens, then loops forward and backward — a subtle but polished touch.
📱
Full Mobile Support
Every interactive component — Toggle, Button, Slider, Keybind, ColorPicker — now handles touch input natively. No exclusions.
Components

Every piece of UI
you'll ever need.

All components share the same theme, respond to accent changes live, and support tooltips.

BUTTON
Tab:Button()
TOGGLE
Tab:Toggle()
Speed Hack
Infinite Jump
Retriggers jump state
SLIDER
Tab:Slider()
Walk Speed160 ws
DROPDOWN
Tab:Dropdown()
Dark
TEXT INPUT
Tab:TextInput()
Player Name
Walk Speed (numeric)
PROGRESS BAR
Tab:ProgressBar()
XP Progress0%
Health87 HP
KEYBIND
Tab:Keybind()
Toggle UI
Insert
Minimize
K
Speed Hotkey
E
BADGE & WARNING
Tab:Badge() / Warning()
⚡ EXPERIMENTAL✔ SAFENEW v3.2
⚠  This may violate game rules.
ℹ  Press Insert to hide the window.
PARAGRAPH
Tab:Paragraph()
About Auto Farm
Multi-line text that wraps automatically. Height expands to fit any content via TextBounds. Supports an optional bold title line.
Documentation

Full API Reference

Every method, option, and return value — with copy-ready examples.

Library:new() Constructor
Creates a new VenturaUI window. Returns a GUI object.
OptionTypeDefaultDescription
namestring"Ventura UI"Window title — also used as config filename
subtitlestring | string[]cyclingLoading screen text. Table = cycles every 0.55s
toggleKeyKeyCodeInsertShow / hide the window
minimizeKeyKeyCodeKCollapse to titlebar
loadingTimenumber1.5Loader duration in seconds
accentColor3BlueStarting accent colour
onClosefunctionnilFired when user clicks ×
keyEnabledbooleanfalseSet true to show key gate before loader
keystring | string[]nilValid key(s) the player must enter
onKeySuccessfunctionnilCalled after correct key is entered
onKeyFailfunctionnilCalled after all 3 attempts are exhausted
aiEnabledbooleanfalseAdd a free built-in AI chat tab — no key or signup needed
local GUI = Library:new({
    name        = "My Hub",
    subtitle    = {"Loading...", "Almost ready..."},
    accent      = Color3.fromRGB(220, 90, 90),
    onClose     = function() print("bye") end,

    -- optional key gate
    keyEnabled   = false,
    key          = "MYKEY-1234",

    -- optional AI assistant tab
    aiEnabled    = true,   -- free, no key needed
})
GUI Methods Runtime
MethodReturnsDescription
GUI:Destroy()nilClean teardown — disconnect all, tween close, destroy ScreenGui
GUI:SetTitle(text)nilChange topbar title at runtime
GUI:SetSubtitle(text)nilUpdate loading subtitle mid-load
GUI:SelectTab(name)boolSwitch to a tab by name
GUI.notify(t,msg,dur)nilBottom-right toast notification card, stacks upward
GUI:SaveConfig()nilWrite settings to VenturaUI/name.json
GUI:LoadConfig()table?Read saved settings, returns table or nil
GUI:ApplyConfig(data)nilApply a config table (theme, accent, scale, keybinds)
GUI:CreateTab() Tab
local Tab = GUI:CreateTab({
    name       = "Combat",
    icon       = Library.Icons.zap,
    badge      = "NEW",          -- optional pill on nav button
    badgeColor = Color3.fromRGB(255, 80, 80),
})
Tab:Disable()  -- grey out and lock
Tab:Enable()   -- restore
Tab:Button() Component
Tab:Button({ name="Go", description="Sub text", badge="HOT",
    tooltip="Hover text", callback=function() end })
Tab:Toggle() Component
local t = Tab:Toggle({ name="Speed", default=false, callback=function(v) end })
t:Set(true)         -- fires callback
t:Set(false, true)  -- silent, no callback
Tab:Slider() Component
local s = Tab:Slider({ name="Speed", min=16, max=300, default=16, suffix=" ws",
    callback=function(v) hum.WalkSpeed=v end })
s:Set(100)          -- fires callback
s:Set(16, true)    -- silent
Tab:Dropdown() Component
local d = Tab:Dropdown({ items={"A","B"}, default="A", multi=false,
    callback=function(v) end })
d:Set("B")
d:SetItems({"X","Y","Z"})  -- replace list at runtime
Tab:TextInput() Component
local ti = Tab:TextInput({ name="Name", placeholder="...", numeric=false,
    callback=function(text) end })
ti:Set("Roblox")
Tab:ColorPicker() Component
local cp = Tab:ColorPicker({ name="Color", default=Color3.fromRGB(255,100,100),
    callback=function(c) end })
cp:Set(Color3.fromRGB(0,255,0))
Tab:Keybind() Component
local kb = Tab:Keybind({ name="Activate", default=Enum.KeyCode.E,
    callback=function(k) end })
kb:Set(Enum.KeyCode.F)
Tab:ProgressBar() New v2.7
local pb = Tab:ProgressBar({ name="XP", default=0, suffix="%",
    color=Color3.fromRGB(100,200,120) })
pb:Set(75)   -- tweens fill smoothly
Tab:Paragraph() New v2.7
Tab:Paragraph({ title="About", text="Wraps automatically. Height auto-sizes." })
Tab:Badge() New v2.7
Tab:Badge({ text="✔ UNDETECTED", color=Color3.fromRGB(40,160,70) })
Section / Separator / Label / Warning / Info
Tab:Section({ name="Movement" })
Tab:Separator()
Tab:Label({ text="v1.0" })
Tab:Warning({ text="Use with caution." })
Tab:Info({ text="Press Insert to hide." })
AI Assistant New v3.2
Optional built-in chat tab powered by Claude Haiku. Enable via Library:new() options. Conversation history is kept per session and trimmed automatically.
local GUI = Library:new({
    name      = "My Hub",
    aiEnabled = true,   -- adds ✦ AI tab, free — no key needed
})

-- Config API (auto-save happens on every settings change)
GUI:SaveConfig()       -- write to VenturaUI/name.json
local d = GUI:LoadConfig()  -- returns table or nil
GUI:ApplyConfig(d)    -- apply theme, accent, scale, keybinds
Changelog

What's new

Full version history — most recent first.

v3.2 Latest
2025 — Mobile touch fixes · New components · Notify types
  • FIX Toggle, Button, Keybind, TextInput, ColorPicker and Hyperlink now all respond to touch on mobile — all interactive components handle Touch input type alongside MouseButton1.
  • NEW Tab:Success() — green success banner, matching the Warning/Info style.
  • NEW Tab:Divider() — thin horizontal rule with optional centered text label.
  • NEW GUI.notify() 4th argument: "success", "warning", "error", "info" — colors the accent bar and progress fill automatically.
  • FIX Tab:Image() was silently showing no image due to passing the full resolveIcon table instead of .value.
  • FIX Settings Info section now shows UserId and includes a Copy UserId button.
v3.1
2025 — New components · Bug fixes
  • NEW Tab:Success(), Tab:Divider() components added.
  • NEW Typed notifications via GUI.notify() 4th param.
  • FIX Tab:Image() nil image bug fixed.
  • FIX Duplicate icon handler in Activate/Deactivate cleaned up.
v3.0
2025 — Emoji icons · Free resize · Typewriter title · Goodbye notif fix · Window size save
  • NEW All tab icons converted to full-color emoji — render natively in Roblox TextLabel, no asset IDs needed. 100+ named icons in Library.Icons.
  • NEW Free-drag window resize — drag the invisible bottom-right corner hotspot to resize freely between 340×220 and 800×600.
  • NEW Window size saved to config — winW and winH persist across sessions alongside theme, accent, scale and keybinds.
  • NEW Typewriter title effect — topbar title types out character-by-character when the window opens, then loops forward and backward continuously.
  • FIX Exit goodbye notification now survives GUI:Destroy() — spawned in its own temporary ScreenGui, plays its full 3-second animation independently.
  • FIX AI cooldown increased to 15 seconds to further reduce 429 rate-limit errors.
v2.9
2025 — AI Assistant · Config Save · Single-instance override · In-window notify
  • NEW aiEnabled — free built-in AI chat tab powered by Pollinations AI (no API key or signup required). Conversation history kept per session, trimmed to last 20 messages automatically.
  • NEW Config save system — GUI:SaveConfig(), LoadConfig(), ApplyConfig(). Settings auto-save to VenturaUI/name.json on every change (theme, accent, scale, keybinds).
  • FIX Re-executing the script now destroys the previous VenturaUI window cleanly before opening a new one — only targets Name="VenturaUI", never touches any other ScreenGui
  • FIX Load order — loader plays fully and fades out first, then key gate appears (if enabled), then the main window opens. No more overlap.
  • NEW GUI.notify(title, text, dur) — custom bottom-right toast cards that stack upward. No StarterGui dependency.
  • NEW Tab:Image({ url, height }) — display a Roblox image asset in the content area. Supports bare numeric decal IDs.
  • NEW options.watermark — small draggable accent label shown outside the main window.
  • NEW options.destroyOnRespawn — automatically destroys the GUI when the local player's character respawns.
v2.8
2025 — Key system · Decal ID support
  • NEW Key system — keyEnabled, key, onKeySuccess, onKeyFail options in Library:new()
  • NEW Key gate UI — styled full-screen prompt, 3-attempt limit, auto-locks on failure, fades out on success
  • NEW key accepts a single string or a table of valid keys
  • NEW Tab icon bare Roblox decal ID support — pass "198281938219" directly, auto-prefixed
  • FIX Double --]] comment block that caused loadstring to return nil
v2.7
2025
  • NEW Tab:ProgressBar — animated fill, Set(v) tweens smoothly
  • NEW Tab:Paragraph — multi-line auto-height text with optional title
  • NEW Tab:Badge — standalone coloured pill label
  • NEW GUI:Destroy(), SetTitle(), SetSubtitle(), SelectTab()
  • NEW Tab:Disable() / Enable() — lock/unlock tabs at runtime
  • NEW options.subtitle cycling + options.onClose callback
  • NEW Notification queue — rapid calls are sequenced
  • NEW Dropdown:SetItems() — replace items at runtime
  • FIX Slider:Set / Toggle:Set now fire callback by default (silent param added)
  • FIX Dropdown stale closure in hover handlers
  • FIX Drag clamped to viewport — window can't go off-screen
  • FIX Exit button tween race condition fixed
  • FIX ColorPicker HSV connections disconnected on remove
v2.6
2025
  • Toggle key changed to Insert (avoids typing conflicts)
  • Tab icons rebuilt — no more UIPadding overlap
  • Themes brighter and clearly distinct from each other
  • Accent sync fixed — HSV picker and R/G/B sliders always in sync
  • Slider UIS connections disconnected on AncestryChanged
v2.5
2025
  • Theme dropdown tweens all chrome elements smoothly
  • R / G / B accent sliders added
  • Minimize scale bug fixed
  • 25+ icon names added to Library.Icons
❤ From the developer

Thank you for using
VenturaUI

VenturaUI started as a personal tool and grew into something I'm genuinely proud of. If you've used it, shared it, or given feedback — thank you. It means everything.

"VenturaUI is free, open-source, and will always stay that way.
No monetisation, no paywalls — just a tool made with care.
If it helped you ship something cool, that's enough."
— xyvenom