Addons
How to create and install custom addons for msdoors.
Introduction
Addons are custom Lua scripts that add new UI elements and features directly into the msdoors menu under the Addons tab. Anyone can create and share addons.
Your executor must support the file system (isfolder, listfiles, readfile) for addons to work.
Installing an Addon
Place your addon file (.lua, .luau or .txt) inside the following folder on your executor:
The folder is created automatically the first time msdoors loads. Just drop your file in and rerun the script.
Creating an Addon
An addon is a Lua file that returns a table with at least a Name and an Elements list.
Minimal example
| Field | Type | Required | Description |
|---|---|---|---|
Name | string | ✅ | Internal identifier (no spaces) |
Title | string | ❌ | Display name shown in the menu |
Description | string | ❌ | Short description shown below the title |
Author | string or table | ❌ | Author name(s) |
Version | string | ❌ | Version shown in the menu |
Side | string | ❌ | Which side to appear on: "Left" or "Right". Alternates automatically if not set. |
Game | number or table | ❌ | Restrict addon to specific PlaceId(s) |
Elements | table | ✅ | List of UI elements to render |
Side
By default addons alternate sides automatically (Left, Right, Left, Right...). You can force a specific side with the Side field:
If Side is not set or is invalid, the addon uses the next available side automatically.
Game Restriction
To make an addon only load in a specific game, use the Game field:
If the current PlaceId doesn't match, the addon silently skips loading.
Elements
Every item in Elements is a table with a Type, optional Name, and Arguments.
The Name field is used as an internal key and must be unique within the addon. Elements that don't need a key (like Label, Divider, Button) don't require it.
Element Types
Label
Displays a line of text.
Divider
Adds a horizontal separator line, optionally with text.
Button
A clickable button.
Toggle
An on/off switch. Saves its state.
To read the toggle value anywhere:
Slider
A number slider between a min and max value.
To read the slider value:
Input
A text input field.
Dropdown
A dropdown selector with a list of options.
Multi-select dropdown:
ColorPicker
A color picker.
KeyPicker
A keybind picker.
Mode can be "Toggle", "Hold", or "Always".
DependencyBox
A container that only shows its children when a parent toggle is enabled.
Nesting Elements
Any element that returns a container (like DependencyBox) supports child Elements:
Full Addon Example
Tips
Nameno addon e em cada elemento não pode ter espaços — são removidos automaticamente.- Toggles e Options ficam disponíveis globalmente como
Toggles.AddonName_ElementNameeOptions.AddonName_ElementName. - Se o addon tiver erro de sintaxe ou crashar, uma caixa de erro aparece na aba Addons com um botão Copy Error.
- Addons carregam depois que o msdoors termina de inicializar, então você pode usar valores de
sharednormalmente.