[FREE] UI Manager - Utility Tool ( with Draggable Minimap)

UIManager_GIF

UI Manager - Utility Tool


# Overview

UI Manager is a standalone utility script designed to give players full control over their on-screen layout while providing developers with a unified API to make their interfaces customizable. Instead of hardcoding HUD positions or creating redundant dragging logic for every new script, UI Manager centrally handles the positioning, alignment, and saving of UI elements.

As servers add more interactive systems, the screen can quickly become cluttered. This tool allows players to organize their workspace according to their screen resolution and preference. For developers, it eliminates the need to build custom settings menus for UI positioning.


# Core Capabilities

  • Drag & Drop Interface: Players can unlock the UI state and freely move registered HTML elements across the screen.
  • Precision Alignment: Built-in grid guidelines and snapping mechanics ensure accurate, aligned positioning between different elements.
  • Persistent Presets: Users can save, load, and discard custom layouts using client-side KVP storage.
  • Native Minimap Integration: The standard GTA V radar is fully integrated and repositionable by default.
  • Developer API: Third-party scripts can register their NUI components using a single client export, passing styling metadata and default coordinates.



# Developer Integration

Making a script compatible requires minimal setup. Developers send an export containing the component’s ID, dimensions, and default position to the UI Manager. When a player moves the element, the manager calculates the normalized coordinates and handles the hardware-accelerated CSS transformations on the frontend, ensuring smooth performance.

Example Registration (Client-side):

exports["ui_manager"]:RegisterComponent({
    id = "my_custom_component",   -- A unique ID for your HTML element
    posX = 0.85,                  -- Default X position (0.0 to 1.0)
    posY = 0.05,                  -- Default Y position (0.0 to 1.0)
    width = "6.5vw",              -- Width of the component
    height = "3.5vh",             -- Height of the component
    ui = {
        name = "My Custom Panel", -- Display name in the UI Manager
        icon = "FaInfoCircle",    -- Icon name that registered in Icon List
        fontSize = "24px",        -- Size of the text/icon
        borderRadius = "0.375rem" -- Border Radius of the component
    }
})

# Preview


Links & Resources

14 Likes

nice work

1 Like

Nice UI

1 Like

Okay, would it be possible to allow changing the size or scale of the selected element?

In this version it is not possible, but in the next update i would definitely put in it

It’s really useful, thanks for the script
just a point, since I added it I keep getting the minimap glitching. it blip on and off.

1 Like

Hello! The problem you describe can be caused by a lot of things, maybe another script also use natives that used for the minimap. If you need help, you can join the discord server and i am happy to help you!