Overview
Lua SDK#
Version 1.0.0 (script-visible via sdk.version()).
Scripts are sandboxed Lua (MoonSharp) running per hero: each script gets on_tick()
every engine tick and on_draw() every render frame, a settings card declared with
menu.*, read access to live game state, virtual-HID input output, and overlay drawing.
These pages are generated from the same manifest the runtime registers - what is
documented here is what the build actually exposes.
Guides#
-
Getting started - your first script in five minutes
-
Scripting model - tick/draw dispatch, budgets, faulting, sandbox limits
-
Input & aim - action names, merge semantics, aim model
-
Menu & config - settings cards, param types, persistence, limits
-
Built-in scripts - inventory of the bundled scripts.
API reference#
| Module | Contents |
|---|---|
game | Match state, entity lists, ult threats and coordinate projection. |
screen | Overlay resolution and center point. |
mouse | Pointer buttons and view control. All output is virtual-HID device input; aim moves in clamped steps and never teleports. |
key | Keyboard keys and game actions (abilities, movement, fire) as virtual-HID input. |
menu | Declares the script's settings card (sliders, toggles, keybinds, dropdowns, pixel shapes). Values persist and appear as script globals. |
draw | Recorded overlay primitives, replayed inside the render scene one frame later. |
util | Host helpers plus the injected prelude library (targeting, aim, lead, threat helpers). |
sdk | Version and surface discovery from inside a script. |
input | Pre-rename aliases kept for old scripts. New scripts use mouse.* and key.*. |
Entity tables returned by game.* are documented on the entity reference.
Minimal script#
menu.group("My Script")
menu.slider('fov', 'Aim FOV', 10, 300, 120, 'px')
menu.keybind('aimkey', 'Aim key', 'Mouse2')
function on_tick()
if not util.me() then return end
if not util.held(menu.get_str('aimkey')) then return end
local e = util.best_enemy({ fov = menu.get('fov'), bone = 'chest' })
if e then util.aim_at_bone(e, 'chest', 6) end
end
Last updated 2026-10-03