v4.1 Aurora · Free forever · MIT

VENTURA

UI Library for Roblox

A cinematic Fluent-style UI library. One script, one loadstring: a GTA-style loader, 12 live themes, optimization modes and a free AI assistant.

Script.lua
-- 1. Load VenturaUI
local Library = loadstring(game:HttpGet("https://codeberg.org/VenomVent/Ventura-UI/raw/branch/main/VenturaLibrary.lua"))()

-- 2. Create the window
local GUI = Library:new({
    name        = "My Hub",
    theme       = "Vice City",
    performance = "High",
    aiEnabled   = true,   -- free assistant, no key
})

-- 3. Add tabs and components
local Tab = GUI:CreateTab({ name = "Main", icon = Library.Icons.home })
Tab:Toggle({ name = "Speed", flag = "speed", callback = function(v)
    game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = v and 100 or 16
end })
GUI.notify("Loaded", "It works! 🎉", 3, "success")
20+Components
12Live Themes
6Optimization Modes
0Dependencies
MITLicense
Features

Everything included.
Nothing to configure.

A complete UI system that looks like a finished product the moment it loads.

🎬

Cinematic Loader NEW

Sunset sky, striped sun, palms, a scrolling synthwave grid and letterbox bars. The loader fades in from the game and the window reveals with a light sweep.

🤖

Free AI Assistant UPGRADED

No key, no signup. Or bring your own OpenAI-compatible or Anthropic key. Typing animation, quick prompts and a built-in knowledge of the API.

🎨

12 Live Themes

Vice City, Midnight, Crimson, Emerald, Ocean, Amethyst, Sakura, Sunset, Neon, Aurora, Mono and Light. Plus an accent override and rainbow mode.

🚀

Optimization Modes

Auto, Ultra, High, Balanced, Performance and Potato. Auto steps down by itself when your FPS tanks.

💾

Flags & Config

Give any element a flag and it is saved and restored. Export or import the whole setup as JSON.

🪟

Polished Window

Spinning gradient border, drop shadow, optional blur, opacity, UI scale, free resize, collapsible sidebar and a corner-roundness slider.

🧩

20+ Components

Button, Toggle, Slider with step, multi Dropdown, HSV ColorPicker with hex, Keybind, Chip, ControlHint, ButtonGrid, banners and more.

🔔

Notification Stack

Typed toasts with a draining progress bar, click-to-dismiss and four screen corners.

🔒

Key Gate

Optional full-screen key prompt with 3 attempts, shake feedback and a "Get Key" button.

📱

Mobile Ready

Touch input on every component, a scaled window and a floating toggle button.

📊

FPS / Ping HUD

A draggable watermark pill with FPS, ping and clock, plus a stats readout in the title bar.

🧹

Clean Teardown

GUI:Destroy() disconnects everything, removes blur and tweens closed. No leaks.

Components

Looks great.
Feels alive.

Try the preview. The toggles and tabs respond, and the whole window follows the theme you pick below.

Hover states, ripples, gradient fills and an animated border come standard, and every one of them can be turned off in the Settings tab.

Ventura Hub144 FPS · 32ms
OVERVIEW🏠 HomeGAMEPLAY👤 Player👁️ Visuals🌐 World🤖 AI⚙️ Settings
Speed HackApplies the slider value
Walk Speed
160 ws
Infinite Jump
Highlight PlayersColored outline through walls
Status
✔ STABLE
Themes

Pick a vibe.
This site follows along.

Click a theme to recolor this whole page. In Roblox, the same switch cross-fades every element of your UI.

The loading screen, GTA-worthy.

A sunset sky with a striped sun, skyline, palm silhouettes, a scrolling synthwave grid, letterbox bars, stamped title letters and a flash-and-zoom exit. It fades in from the game and hands off to the window with a light sweep. On low-end modes it switches to a minimal loader automatically.

loadingStyle = "Auto"loadingTime = 4.2intro = true

VENTURA

LOADING
Performance

Runs on a toaster.
Shines on a beast.

Six optimization modes, switchable live. Blur, border, shadow and gradients can also be toggled on their own.

ModeAnimationsGradientsBorderShadowBlurRipplesLoader
Ultra✔✔✔✔✔✔Cinematic + stars
High✔✔✔✔✔✔Cinematic
Balanced✔ 1.25×✔✘✔✘✘Cinematic
Performance✔ 2×✘✘✘✘✘Minimal
Potato✘✘✘✘✘✘Minimal
AutoStarts at High and steps down a tier when FPS stays under 32 for four seconds.
AI Assistant

Free by default.
Your key if you want.

One option adds a chat tab that already knows the VenturaUI API. No key, no signup, no config.

✔ Free · Pollinations✔ Free · Mistral🔑 OpenAI-compatible🔑 Anthropic

Bring-your-own-key providers are billed by your provider. Keys stay in memory and are never written to the config file.

ai.lua
-- free
Library:new({ name = "My Hub", aiEnabled = true })

-- your own key
Library:new({
    aiEnabled  = true,
    aiProvider = "Anthropic (key)",
    aiKey      = "sk-ant-...",
    aiModel    = "claude-sonnet-5-5",
})
Hey! I'm Ventura. Ask me about Luau, Roblox or this UI.
How do I add a slider that changes WalkSpeed?
Use Tab:Slider and set the humanoid in the callback:

Tab:Slider({ name="Speed", min=16, max=250, default=16, flag="speed", callback=function(v) Humanoid.WalkSpeed=v end })
Documentation

Full API reference

Every option, method and component, with copy-ready examples.

Library:new() CONSTRUCTOR

Creates the window and returns a GUI object.

OptionTypeDefaultDescription
namestring"Ventura UI"Title, loader text and config filename
taglinestring"NEXT-GEN INTERFACE"Small text under the loader title
subtitlestring | string[]cyclingLoader status messages
themestring"Vice City"Starting theme
performancestring"High"Auto, Ultra, High, Balanced, Performance, Potato
accentColor3themeAccent override
loadingTimenumber4.2Loader length in seconds
loadingStylestring"Auto"Auto, Cinematic, Minimal, None
introbooleantrueFade and sweep transition in
toggleKey / minimizeKeyKeyCodeInsert / KShow-hide and collapse
watermarkstringnilDraggable FPS / ping HUD text
welcomebooleantrueWelcome notification
destroyOnRespawnbooleanfalseDestroy GUI when you die
onClosefunctionnilFired when × is clicked
keyEnabled / key / keyLinkbool / string[] / stringfalseKey gate, valid keys and Get Key link
onKeySuccess / onKeyFailfunctionnilKey gate callbacks
aiEnabledbooleanfalseAdds the AI assistant tab
aiProviderstringfreeFree · Pollinations, Free · Mistral, OpenAI-compatible (key), Anthropic (key)
aiKey / aiModel / aiEndpointstringnilBring-your-own-key settings
aiSystem / aiCooldownstring / numberbuilt-in / 5Custom system prompt and seconds between messages

GUI methods RUNTIME

GUI:Destroy()                      -- tween closed, clean up everything
GUI:Toggle()  /  GUI:SetOpen(bool)
GUI:SetTitle("New Title")
GUI:SelectTab("Tab Name")
GUI:NavSection("LABEL")            -- collapsible sidebar header, call before its tabs
GUI:SetTheme("Neon")
GUI:SetAccent(Color3.fromRGB(255, 120, 0))
GUI:SetPerformance("Potato")
GUI.notify("Title", "Body", 3, "success")   -- success | warning | error | info
GUI:SaveConfig() / GUI:LoadConfig()
GUI:ExportConfig()  -- JSON string
GUI:ImportConfig(json)
GUI.Flags           -- every flagged value

GUI:CreateTab() TAB

local Tab = GUI:CreateTab({
    name = "Combat", icon = Library.Icons.sword,   -- emoji, rbxassetid or bare decal id
    badge = "NEW", badgeColor = Color3.fromRGB(255, 80, 80),
})
Tab:Activate(); Tab:Disable(); Tab:Enable()

Tab:Button()

Tab:Button({ name = "Go", description = "Sub text", badge = "HOT", tooltip = "Hover", callback = function() end })

Tab:Toggle()

local t = Tab:Toggle({ name = "Speed", default = false, flag = "speed", callback = function(v) end })
t:Set(true)          -- fires callback
t:Set(false, true)   -- silent

Tab:Slider() step

local s = Tab:Slider({ name = "Zoom", min = 0, max = 10, step = 0.5, default = 5, suffix = "x", flag = "zoom", callback = function(v) end })
s:Set(7)

Tab:Dropdown() multi

local d = Tab:Dropdown({ name = "Team", items = {"Red","Blue"}, default = "Red", multi = false, callback = function(v) end })
d:Set("Blue")
d:SetItems({"X","Y","Z"})

Tab:TextInput()

Tab:TextInput({ name = "Name", placeholder = "...", numeric = false,
    callback = function(text, enterPressed) end })

Tab:ColorPicker() HSV + HEX

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() pressed

Tab:Keybind({ name = "Fly", default = Enum.KeyCode.V,
    pressed  = function() end,          -- fires when the key is pressed
    callback = function(key) end })  -- fires when rebound

More components

Tab:Section({ name = "Movement" })
Tab:ProgressBar({ name = "XP", default = 0 })              -- :Set(v)
Tab:Paragraph({ title = "About", text = "Wraps and auto-sizes." })
Tab:Label({ text = "Small text" })
Tab:Info({ text = "..." }); Tab:Warning({ text = "..." }); Tab:Success({ text = "..." }); Tab:Error({ text = "..." })
Tab:Badge({ text = "NEW" }); Tab:Chip({ text = "BETA", icon = "⚡" })
Tab:ControlHint({ name = "Toggle UI", key = "Insert" })
Tab:ButtonGrid({ columns = 2, buttons = { { name = "Fly", icon = "✈️", callback = function() end } } })
Tab:Hyperlink({ text = "Codeberg", url = "https://codeberg.org/VenomVent/Ventura-UI" })
Tab:Divider({ text = "label" }); Tab:Separator(); Tab:Image({ url = "123456", height = 90 })
Tab:Custom(120)   -- empty card for your own UI, returns .frame

Every component returns an object with .frame, :SetVisible(bool) and :Destroy(), plus :Set / :Get where it makes sense.

Flags & config NEW IN 4.0

Add flag = "name" to a Toggle, Slider, Dropdown, TextInput, ColorPicker or Keybind. Its value is saved to VenturaUI/<name>.json and restored on the next run. Read values any time from GUI.Flags.name.

Key system

Library:new({
    keyEnabled = true,
    key        = { "key-a", "key-b" },
    keyLink    = "https://linkvertise.com/yourlink",
    onKeySuccess = function() end,
    onKeyFail    = function() end,
})

Built-in Settings tab

SectionControls
AppearanceTheme, accent override, reset accent, rainbow, gradient accents, corner roundness
WindowUI scale, opacity, animated border, shadow, background blur, lock position, reset window
PerformanceOptimization mode, animation speed, FPS/ping readout, watermark HUD
NotificationsPosition, duration, test buttons
InteractionTooltips, click sounds
KeybindsToggle UI, minimize UI
ConfigAuto-save, save, load, reset, copy JSON, import JSON
Changelog

What's new

Full version history, most recent first.

v4.1 LATEST

Intro transition · Rebuilt AI assistant
  • NEWIntro transition: the loader fades and zooms in from the game; the window reveals with a cover fade and an accent light sweep (intro option).
  • NEWAI assistant rebuilt with a typing indicator, animated reveal, quick prompts, copy last reply and an API-aware system prompt.
  • NEWProviders: free Pollinations, free Mistral, OpenAI-compatible (any endpoint) and Anthropic with your own key.
  • NEWOptions aiProvider, aiKey, aiModel, aiEndpoint, aiSystem, aiCooldown.
  • NEWExample script, new README and this website.

v4.0 Aurora

Full rewrite
  • NEWTheme engine with 12 themes, accent override and rainbow accent.
  • NEWCinematic GTA-style loader.
  • NEWOptimization modes: Auto, Ultra, High, Balanced, Performance, Potato.
  • NEWFlags with JSON config, export and import.
  • NEWAnimated gradient border, shadow, blur, opacity, UI scale, corner roundness.
  • NEWHSV color picker with hex, multi-select dropdown, slider step, keybind pressed.
  • NEWNotification stack with four corners, FPS/ping watermark and a mobile floating button.
  • CHANGEStatic elements now return objects with .frame.

v3.3

New components · API additions
  • NEWGUI:NavSection, sidebar toggle, keyLink, Chip, ControlHint, ButtonGrid, SetAccent, GetVersion.
  • FIXAI input position, TextInput label overlap, tooltip over focused TextBox, ButtonGrid sizing.
Older versions (v2.5 to v3.2)

v3.2 Touch support on every component, Success, Divider, typed notifications, Image fix.

v3.1 Success and Divider components, typed notify, Image nil-image fix.

v3.0 Emoji icons, free resize, typewriter title, goodbye notification, window size saved.

v2.9 AI assistant, config save, GUI.notify, Image, watermark, destroyOnRespawn.

v2.8 Key system and decal-ID icons. v2.7 ProgressBar, Paragraph, Badge, Destroy, SelectTab, Disable/Enable.

v2.6 Insert as default key, rebuilt tab icons, brighter themes. v2.5 Smooth theme tweens, RGB sliders, more icons.

Download

Get VenturaUI v4.1

Hosted on Codeberg. Use the raw link directly in your loadstring, or download the files and host them yourself.

⚔ VenturaLibrary.luathe library
📄 VenturaExample.luafull showcase script
⬡ Open Raw Link 📄 Example Script 📋 Codeberg Repo
From the developer

Thank you for using VenturaUI

VenturaUI started as a personal tool and grew into something I'm proud of. If you've used it, shared it or sent feedback, thank you.

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