Utility
Extra library features including draggable labels, custom cursors, and icon management.
Draggable Labels

Draggable Labels are compact, draggable overlays containing text. They are ideal for surfacing information such as FPS, ping, server info, etc. The feature is inspired by the LinoriaLib UI Library Watermark feature.
Methods
AddDraggableLabel
Adds a draggable label to the UI.
| Arg Idx | Argument Description | Type | Default |
|---|---|---|---|
| 1 | Text to display in the draggable label | string | nil |
SetText
Sets the draggable label text.
| Arg Idx | Argument Description | Type | Default |
|---|---|---|---|
| 1 | Text to display in the draggable label | string | nil |
SetVisible
Sets the draggable label visibility.
| Arg Idx | Argument Description | Type | Default |
|---|---|---|---|
| 1 | Whether to show the draggable label | boolean | true |
Example
Custom Cursor

Enable the custom cursor to render the Obsidian-styled pointer at your mouse position—handy for experiences that hide or replace Roblox's default cursor.
These functions allow you to set your own image instead of the default custom cursor.
Icons
Icons originate from the lucide icon pack. You can change the icon library so long as you call it before creating any UI elements and it follows the expected return data.
The direct lucide module can be found here. (Our automation updates the icon spritesheet each month)
Custom Icon Registry
If you'd like to make your own custom Icon Module, make sure it follows these types:
Obsidian is dependent on a few icons to be able to be displayed properly.
Please make sure you have icons named: check (Toggles), chevron-up (Dropdowns), move-diagonal-2 (Window Resizing Icon bottom right of the window), key (Key System Tab Icon), search (Searchbar), move (Window movement Icon top right of the window)
Custom Asset Icons
If you'd like to use custom hosted images (like those on Github) with a Roblox Asset ID as a fallback, you can use the built-in ImageManager:
AddAsset
Adds a custom asset to the ImageManager
| Arg Idx | Argument Description | Type | Default |
|---|---|---|---|
| 1 | Asset Name | string | nil |
| 2 | Roblox Asset ID | number | nil |
| 3 | Asset URL | string | nil |
| 4 | Force Redownload | boolean? | nil |
GetAsset
Retrieves the asset ID for the provided asset
| Arg Idx | Argument Description | Type | Default |
|---|---|---|---|
| 1 | Asset Name | string | nil |
DownloadAsset
Downloads the asset image to the workspace folder
This runs automatically in AddAsset, so you don't need to call it separately (unless you want to redownload the asset image)
| Arg Idx | Argument Description | Type | Default |
|---|---|---|---|
| 1 | Asset Name | string | nil |
| 2 | Force Redownload | boolean? | nil |
Menu Keybind
In Obsidian, there is a helper field that you can set that allows you to easily bind a Keybind to toggle the main window.
Keybinds Menu

The keybinds menu surfaces every registered keybind alongside its current state. When a keybind is configured in Toggle mode the menu also renders tap-friendly buttons, giving mobile players parity with keyboard users.