Configuration
Ember.Configure — storage, themes, effects and window defaults, set once for the whole script.
Ember.Configure sets defaults for everything your script creates. Call it
before Ember.new.
Ember.Configure({
Storage = { Folder = "myscript" },
Themes = { Default = "Midnight" },
Window = { SaveLayout = true },
})Everything is optional, and unspecified values keep their defaults.
Storage#
| Option | Type | Default | What it does |
|---|---|---|---|
Enabled | boolean | true | Set false to disable all disk writes, whatever individual controls ask for. |
Folder | string | "ember" | Folder under the executor's workspace. |
File | string | "settings" | File name inside that folder. |
Debounce | number | 0.4 | Seconds to wait before writing, so a dragged slider does not write per frame. |
Unique | boolean | false | Claim the folder, suffixing _2, _3 if another owner has it. |
Owner | string | — | Identity for that claim. Defaults to the folder name. |
See Saving settings.
Themes#
| Option | Type | Default | What it does |
|---|---|---|---|
Default | string | "Dark" | The theme new windows open with. |
Only | string[] | — | Restrict the selectable list to exactly these, in this order. |
Hide | string[] | — | Remove these from the selectable list. |
Custom | table | — | Register custom palettes at configure time. |
Effects#
The dissolve, the particles and the toast animations.
| Option | Type | Default | What it does |
|---|---|---|---|
Enabled | boolean | true | Set false for no animation at all. |
RespectReducedMotion | boolean | false | Honour Roblox's ReducedMotionEnabled accessibility flag. |
Quality | string | "Balanced" | Overall effect budget. |
MaxTiles | number | 460 | Tiles the dissolve breaks the window into. |
Samples | number | 3 | Colour samples per tile. 3 is what makes a control read as itself in the mosaic. |
Particles | number | 52 | Sparks trailing the dissolve edge. |
ToastParticles | number | 14 | Sparks on a notification. |
MaxToasts | number | 5 | How many notifications stack before the oldest is dismissed. |
RespectReducedMotion is off on purpose
Roblox reports that flag from an accessibility setting most players never knowingly touched. Honouring it by default meant the library silently deleted the dissolve with no message and nothing to explain it. That reads as a broken install, not an accommodation. Turn it on if your audience chose the setting on purpose.
Lowering the budget on weaker machines:
Ember.Configure({
Effects = { MaxTiles = 200, Particles = 20 },
})Or turning animation off entirely:
Ember.Configure({ Effects = { Enabled = false } })Window#
Defaults for every window created afterwards. Each is overridable per window
on Ember.new.
| Option | Type | Default | What it does |
|---|---|---|---|
Size | Vector2 | Vector2.new(700, 452) | Starting size. |
MinSize | Vector2 | Vector2.new(560, 300) | Resize floor. |
MaxSize | Vector2 | — | Resize ceiling. Defaults to the viewport. |
Position | Vector2 | — | Where windows open. Centred if unset. |
Rail | number | 176 | Sidebar width. |
MinRail | number | 132 | Narrowest sidebar. |
MaxRail | number | 320 | Widest sidebar. |
MinContent | number | 300 | The content pane never shrinks past this. |
Search | boolean | false | Window-wide search box in the rail. |
SaveLayout | boolean | false | Remember geometry per window. |
SafeArea | boolean | true | Keep windows inside the usable viewport. |
ReplaceExisting | boolean | true | Re-running the script replaces its window instead of stacking. |
Reading it back#
Ember.Config.Storage.Folder --> "ember"
Ember.Config.Effects.MaxTiles --> 460A typical setup#
local Ember = loadstring(game:HttpGet('https://rbx.lol/ember.lua'))()
Ember.Configure({
Storage = {
Folder = "bloxburg-helper",
Owner = "bloxburg-helper",
Unique = true,
},
Themes = {
Default = "Midnight",
Only = { "Dark", "Midnight", "Nord", "Ember" },
},
Window = {
SaveLayout = true,
Search = true,
},
})
local win = Ember.new({ Title = "Bloxburg Helper", Subtitle = "v2.1" })