Roblox UI Library  ·  v3.0  ·  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.0
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.0  ·  2,200+ 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.
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.0
⚠  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.0
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.0 Latest
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