Livedash-API: for Creating "Dashboards" to adjustment Values in Real-Time

Livedash API (v1.0.0)


Get it on GitHub

Overview

Livedash is a light-weight API written in luau for roblox developers, enabling real-time adjustments of game parameters while the game is running. The API is setup so that components like sliders, number-fields and more can be added to a dashboard, then changed by the developer in a GUI form. This eliminates the need to stop and restart the game to test changes, making it a powerful tool for rapid iteration and debugging.

Features

  • Real-time adjustments : adjust values with a interface while a instance of the game is running
  • Interactive components : create components like buttons, sliders or use existing ones
  • Simple integration: Build and customize dashboards with a clean and straightforward API.
  • Customization : choose between 4 themes, or easily create your own
  • Idle mode : Set the dashboard into an idle mode where it disappears and uses minimal resources (press F13 to toggle, or rebind in the config)

Installation & basic setup

To install livedash is straightforward, just follow the steps bellow:

  1. Go to the GitHub repository and navigate to the releases section (LINK TO RELEASES)
  2. You will find a guide on how to install it there!
  3. Not necessary but check out the Config module script in the root directory! Maybe change your theme?

Feedback

I’m always looking to improve, so if you have any feedback—whether it’s about the clarity, functionality, or structure of the documentation—please feel free to share.

Code-examples

There are more examples in the github repository!

-- create the dashboard
local dashboardConstructor = require(script.Parent["livedash-API"].dashboard)
local dashboard = dashboardConstructor.new()

-- !! The dashboard (dashboardConstructor.new()) represents the window or container for all components

-- the above can be simplified into
-- local dashboard = require(script.Parent["livedash-API"].dashboard).new()

-- create and add all components
-- newComponent takes:                a component ID  |  component parameter
local anchord_toggle = dashboard:newComponent("toggle", {label="anchor"})
local transparent_toggle = dashboard:newComponent("toggle", {label="transp"})
local size_slider = dashboard:newComponent("slider", {data=3, range=NumberRange.new(0, 10)})
local create_button = dashboard:newComponent("button", {label="create"})

-- bind the .onClicked to a function (callback)
create_button.onClicked = function()
	-- create the part
	local part = Instance.new("Part")
	
	-- get the data (boolean) from the toggle/switch
	part.Anchored = anchord_toggle.data
	
	-- get the data, if true then set transparency to 0.5 else 0
	part.Transparency = transparent_toggle.data and 0.5 or 0

	-- get the data (float) from the slider. Set each axis to this value 
	part.Size = Vector3.new(size_slider.data, size_slider.data, size_slider.data)
	
	-- set the parent of the part
	part.Parent = workspace
end

Sorry if some of the documentation feels a bit rough around the edges. This is my first time writing something like this, so any feedback would be greatly appreciated!

This is super cool, I was thinking of making a dashboard like this. Yet, on my personal server this is super cool and I will be keeping it in mind for when I need a dashboard

1 Like