Installation
One line, no dependencies, no files to download. Get a window on screen in under a minute.
Ember is a single Lua file. There is nothing to install, no folder structure to create, and no other library it depends on. You fetch it, you call it, you have a window.
local Ember = loadstring(game:HttpGet('https://rbx.lol/ember.lua'))()That line works in any executor that supports loadstring and game:HttpGet —
which is effectively all of them.
Paste this and run it
The snippet below is a complete, working script. Nothing has been left out and nothing needs configuring first.
local Ember = loadstring(game:HttpGet('https://rbx.lol/ember.lua'))()
local win = Ember.new({
Title = "My Script",
Subtitle = "v1.0",
})
local main = win:Section("Main", "house")
main:Toggle({
Text = "Enabled",
Default = true,
Callback = function(on)
print("toggled:", on)
end,
})Run it and you get a window with a sidebar, one section, and a working toggle. Press RightShift to hide and show it.
What you just made#
Three objects, and everything in Ember is built from them:
- A window —
Ember.newreturns it. It owns the frame, the sidebar, the keybind and the animations. - A section —
win:Sectionadds a tab to the sidebar and returns a page you put controls on. - A control —
main:Toggleadds a row to that page and returns a handle you can read and write later.
You will spend most of your time on the third one. There are thirteen controls, and they all follow the same shape.
Pinning a version#
https://rbx.lol/ember.lua always serves the current release. If you would
rather your script never changes underneath you, host your own copy and point
the HttpGet at that instead:
local Ember = loadstring(readfile("Ember.lua"))()Loading it twice
By default, running the same script again replaces its previous window
rather than adding a second one. That is almost always what you want while
you are working — otherwise every re-run leaves another live window behind,
each with its own keybind. If you do want two windows on screen at once,
see ReplaceExisting.
Requirements#
| Requirement | Notes |
|---|---|
loadstring | To run the library. Every executor has it. |
game:HttpGet | Only for loading from a URL. Not needed if you readfile a local copy. |
writefile / readfile / isfolder | Optional. Only needed for saving settings; without them Ember still runs, it just does not persist. |
Nothing else. No syn.request, no Drawing library, no assets to upload.
Where to go next#
Build something real: sections, controls, and the callbacks that make them do work.
Controls overviewAll thirteen controls, what each is for, and the options every one shares.
ThemingNine built-in themes, and how to build your own.
Saving settingsAdd one option to a control and it remembers itself between sessions.