EUGENE
Script executed successfully.
Docs / Getting Started / Initialization
EUGENEv2
Getting Started

Initialization

Fetch the EUGENE library from the remote server. On load, the UI presents a keybind selector so the user can choose how to open and close the menu.

info
After calling this snippet, a setup dialog appears automatically and prompts the user to press a key for the menu toggle.
Lua
local EUGENE = loadstring(game:HttpGet("https://diser.me/EUGENE/library/ui-library.lua"))()
Getting Started

Window and Name

Creates the main window. Set the menu title and a brand subtitle shown above the banner.

ArgumentTypeDescription
TitlestringMenu name shown at the bottom left corner, for example "EUGENE Menu".
BrandTextstringSubtitle or link shown above the banner area.
Lua
local Window = EUGENE.new("EUGENE UI Library", "https://diser.me/EUGENE/library/")
Appearance

Theme API

Four built in themes that update the entire UI instantly. Calling Window:SetTheme() also refreshes all UI elements and automatically applies the matching theme banner to ensure visual consistency.

Lua
local ThemeNames = {"Cosmos", "Aurora", "Obsidian", "Sunset"}
SettingsTab:AddSelector("Menu Theme", ThemeNames, 1, function(index, value)
    Window:SetTheme(value)
end, "Theme")
Appearance

Icons

The library uses the Fluent and Lucide icon set. Browse all available names in the source file and reference them exactly as they appear.

URL
https://raw.githubusercontent.com/dawid-scripts/Fluent/refs/heads/master/src/Icons.lua
Appearance

Config API

The Config system allows users to save and load their settings. It automatically handles serialization of flags and menu positions into JSON files.

folder
Configs are stored in the EugeneHub/configs/ folder on the user workspace.
Lua
Window:AddConfigTab("EugeneHub/configs", Flags)
auto_awesome
The AddConfigTab method creates a prebuilt tab containing the save input, save and refresh buttons, and the interactive list of saved configurations.
Structure

Tabs

Add tabs to the sidebar to organize your features. The library uses Fluent and Lucide icons by name.

ArgumentTypeDescription
NamestringDisplay name of the tab.
DescriptionstringShort description shown as a tooltip or subtitle. Optional
IconstringFluent icon name, for example "lucide-user".
Lua
local MainTab = Window:AddTab("Main", "Core modifications", "lucide-user")
Structure

Sections

Group elements within a tab under a named section header. Helps visually separate different categories of settings.

ArgumentTypeDescription
TitlestringThe section header text.
Lua
MainTab:AddSection("Player Configuration")
Components

Buttons

A clickable element that runs a function when pressed.

ArgumentTypeDescription
TextstringLabel shown on the button.
CallbackfunctionRuns when the button is clicked.
Lua
MainTab:AddButton("Reset Character", function()
    print("Character reset")
end)
Components

Toggles

A switchable element for enabling and disabling boolean states.

ArgumentTypeDescription
TextstringLabel for the toggle.
DefaultbooleanInitial on or off state.
CallbackfunctionFires with the new state on change.
FlagstringUnique ID for config saving. Optional
Lua
MainTab:AddToggle("God Mode", false, function(state)
    print("God Mode is now " .. tostring(state))
end, "GodModeFlag")
Components

Sliders

A draggable element for adjusting a numerical value. Supports both mouse drag and left or right arrow keys.

ArgumentTypeDescription
TextstringLabel for the slider.
MinnumberMinimum value.
MaxnumberMaximum value.
DefaultnumberStarting value.
CallbackfunctionFires with the new value when adjusted.
FlagstringUnique ID for config saving. Optional
Lua
MainTab:AddSlider("Walk Speed", 16, 200, 32, function(value)
    print("Speed set to " .. tostring(value))
end, "WalkSpeedFlag")
Components

Keybinds

Lets users bind a keyboard key to an action. Click the element and press a key to reassign it.

ArgumentTypeDescription
TextstringLabel for the keybind row.
DefaultEnum.KeyCodeDefault key to bind on first load.
CallbackfunctionFires with the new KeyCode when changed.
FlagstringUnique ID for config saving. Optional
Lua
MainTab:AddKeybind("Toggle UI", Enum.KeyCode.RightShift, function(key)
    print("UI Toggle bound to " .. key.Name)
end, "ToggleUIFlag")
Components

Inputs

A text input field for the user to type custom text. Fires the callback when the user presses Enter to confirm.

ArgumentTypeDescription
TextstringLabel for the input row.
DefaultstringInitial text value.
PlaceholderstringHint text shown when empty.
CallbackfunctionFires with the new text when input completes (on Enter).
FlagstringUnique ID for config saving. Optional
Lua
MainTab:AddInput("Player Name", "EUGENE", "Enter name...", function(text)
    print("Name set to " .. text)
end, "PlayerNameFlag")
Components

Color Pickers

Opens a custom popup with an interactive 2D SV area, a Hue slider, and a HEX input for precise color selection. Click the 'Confirm' button to apply the color.

ArgumentTypeDescription
TextstringLabel for the color picker row.
DefaultColor3Initial color value.
CallbackfunctionFires with the new Color3 when the Confirm button is pressed.
FlagstringUnique ID for config saving. Optional
Lua
MainTab:AddColorPicker("ESP Color", Color3.fromRGB(255, 0, 0), function(color)
    print("Color selected")
end, "ESPColorFlag")
Components

Selectors

A horizontal cycling selector. The user navigates with left or right arrows to pick from a list of options.

ArgumentTypeDescription
TextstringLabel for the selector row.
OptionstableArray of options to cycle through.
DefaultIndexnumberOne based index of the initially selected item.
CallbackfunctionFires with (index, value) when the selection changes.
FlagstringUnique ID for config saving. Optional
Lua
local Options = {"Classic", "Midnight", "Obsidian"}
MainTab:AddSelector("Theme", Options, 1, function(index, value)
    print("Selected " .. value)
end, "ThemeFlag")
Components

Notifications

Shows a slide in notification at the bottom right of the screen. The title is always "EUGENE" for brand consistency.

ArgumentTypeDescription
TextstringMessage body text.
DurationnumberSeconds before auto dismiss. Defaults to 2.5. Optional
Lua
Window:Notify("Script executed successfully!", 3.5)
Reference

Example Script

A complete runnable example covering initialization, multiple tabs, and all major UI components including the Config API and Theme features.

Lua
local Library = loadstring(game:HttpGet("https://diser.me/EUGENE/library/ui-library.lua"))()

local Flags = {
    Speed = 16,
    JumpEnabled = false,
    ESPColor = Color3.fromRGB(255, 0, 0),
    SelectedMode = 1,
    Theme = "Classic"
}

local Window = Library.new("EUGENE UI Library Preview", "rscripts.net/@EUGENE")

local MainTab = Window:AddTab("Design", "UI Elements Preview", "lucide-layout")

MainTab:AddSection("Buttons and Toggles")
MainTab:AddButton("Example Button", function() print("Clicked!") end)
MainTab:AddToggle("Example Toggle", true, function(v) Flags.JumpEnabled = v end, "JumpEnabled")

MainTab:AddSection("Sliders and Keybinds")
MainTab:AddSlider("Example Slider", 0, 100, 50, function(v) Flags.Speed = v end, "Speed")
MainTab:AddKeybind("Example Keybind", Enum.KeyCode.F, function(k) print("Bound to: " .. k.Name) end, "MenuKey")

MainTab:AddSection("Color and Selection")
MainTab:AddColorPicker("Example Color", Flags.ESPColor, function(c) Flags.ESPColor = c end, "ESPColor")
MainTab:AddSelector("Example Selector", {"Option 1", "Option 2", "Option 3"}, 1, function(i, v) Flags.SelectedMode = i end, "SelectedMode")

MainTab:AddSection("Inputs and Modals")
MainTab:AddInput("Player Name", "EUGENE", "Enter name...", function(text) print("Name set to " .. text) end, "PlayerNameFlag")
MainTab:AddButton("Show Modal", function()
    Window:ShowModal({
        Title = "CUSTOM MODAL",
        Description = "This is an example modal dialog.",
        Inputs = {
            {Name = "CustomText", Title = "Enter custom text:", Placeholder = "Hello World"}
        },
        ConfirmText = "Submit",
        CancelText = "Cancel",
        OnConfirm = function(values) print("Submitted:", values.CustomText) end
    })
end)

Window:AddConfigTab("EugeneHub/configs", Flags)

local SettingsTab = Window:AddTab("Settings", "Menu settings", "lucide-settings")
local ThemeNames = {"Cosmos", "Aurora", "Obsidian", "Sunset"}
SettingsTab:AddSelector("Menu Theme", ThemeNames, 1, function(idx, val)
    Window:SetTheme(val)
end, "Theme")

Window:Notify("Design Example loaded!", 3)