Skip to content

A configurable overlay

Register controls once at script scope, then read their current values when drawing. Aqua adds these controls to your script’s OPTIONS view.

main.lua
aqua.ui.card("Overlay", "Scripts.hello.Enabled")
aqua.ui.slider("Text size", "Scripts.hello.Size", 18, 10, 32)
function on_draw()
if not aqua.config.get("Scripts.hello.Enabled") then
return
end
local size = aqua.config.get("Scripts.hello.Size")
aqua.draw.text(24, 24, "yo, what's up?", { 1, 1, 1 }, { size = size })
end

The card’s key creates a feature switch. The slider registers its default and range. on_draw checks the switch before queueing text, so turning it off also stops the overlay from drawing.

Keep your keys under Scripts.<yourName>.* and reuse them across script runs to retain preferences in the active profile. The config reference explains saving, profiles and temporary overrides.

Try a color control for the text, or read player snapshots to display match information. Check the callback rules before adding traces or other game-thread operations.