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.
Hosted on Codeberg. Use the raw link directly in your loadstring — or download the file to host yourself.
loadstring(game:HttpGet(...))() or download the file.A complete UI system that looks professional the moment you load it.
aiEnabled=true.All components share the same theme, respond to accent changes live, and support tooltips.
Every method, option, and return value — with copy-ready examples.
| Option | Type | Default | Description |
|---|---|---|---|
| name | string | "Ventura UI" | Window title — also used as config filename |
| subtitle | string | string[] | cycling | Loading screen text. Table = cycles every 0.55s |
| toggleKey | KeyCode | Insert | Show / hide the window |
| minimizeKey | KeyCode | K | Collapse to titlebar |
| loadingTime | number | 1.5 | Loader duration in seconds |
| accent | Color3 | Blue | Starting accent colour |
| onClose | function | nil | Fired when user clicks × |
| keyEnabled | boolean | false | Set true to show key gate before loader |
| key | string | string[] | nil | Valid key(s) the player must enter |
| onKeySuccess | function | nil | Called after correct key is entered |
| onKeyFail | function | nil | Called after all 3 attempts are exhausted |
| aiEnabled | boolean | false | Add 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
})
| Method | Returns | Description |
|---|---|---|
| GUI:Destroy() | nil | Clean teardown — disconnect all, tween close, destroy ScreenGui |
| GUI:SetTitle(text) | nil | Change topbar title at runtime |
| GUI:SetSubtitle(text) | nil | Update loading subtitle mid-load |
| GUI:SelectTab(name) | bool | Switch to a tab by name |
| GUI.notify(t,msg,dur) | nil | Bottom-right toast notification card, stacks upward |
| GUI:SaveConfig() | nil | Write settings to VenturaUI/name.json |
| GUI:LoadConfig() | table? | Read saved settings, returns table or nil |
| GUI:ApplyConfig(data) | nil | Apply a config table (theme, accent, scale, keybinds) |
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({ name="Go", description="Sub text", badge="HOT",
tooltip="Hover text", callback=function() end })
local t = Tab:Toggle({ name="Speed", default=false, callback=function(v) end })
t:Set(true) -- fires callback
t:Set(false, true) -- silent, no callback
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
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
local ti = Tab:TextInput({ name="Name", placeholder="...", numeric=false,
callback=function(text) end })
ti:Set("Roblox")
local cp = Tab:ColorPicker({ name="Color", default=Color3.fromRGB(255,100,100),
callback=function(c) end })
cp:Set(Color3.fromRGB(0,255,0))
local kb = Tab:Keybind({ name="Activate", default=Enum.KeyCode.E,
callback=function(k) end })
kb:Set(Enum.KeyCode.F)
local pb = Tab:ProgressBar({ name="XP", default=0, suffix="%",
color=Color3.fromRGB(100,200,120) })
pb:Set(75) -- tweens fill smoothly
Tab:Paragraph({ title="About", text="Wraps automatically. Height auto-sizes." })
Tab:Badge({ text="✔ UNDETECTED", color=Color3.fromRGB(40,160,70) })
Tab:Section({ name="Movement" })
Tab:Separator()
Tab:Label({ text="v1.0" })
Tab:Warning({ text="Use with caution." })
Tab:Info({ text="Press Insert to hide." })
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
Full version history — most recent first.
TextLabel, no asset IDs needed. 100+ named icons in Library.Icons.winW and winH persist across sessions alongside theme, accent, scale and keybinds.GUI:Destroy() — spawned in its own temporary ScreenGui, plays its full 3-second animation independently.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.GUI:SaveConfig(), LoadConfig(), ApplyConfig(). Settings auto-save to VenturaUI/name.json on every change (theme, accent, scale, keybinds).Name="VenturaUI", never touches any other ScreenGuiGUI.notify(title, text, dur) — custom bottom-right toast cards that stack upward. No StarterGui dependency.Tab:Image({ url, height }) — display a Roblox image asset in the content area. Supports bare numeric decal IDs.options.watermark — small draggable accent label shown outside the main window.options.destroyOnRespawn — automatically destroys the GUI when the local player's character respawns.keyEnabled, key, onKeySuccess, onKeyFail options in Library:new()key accepts a single string or a table of valid keys"198281938219" directly, auto-prefixed--]] comment block that caused loadstring to return nilVenturaUI 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.