Attract-Mode Modules, Plugins, and Scripts
Chadnaut 2025
https://github.com/Chadnaut/Attract-Mode-Modules
Get the AM+ Squirrel extension for VS Code
A suite of support tools to enhance your AM+ development experience. Code completions, highlighting, linting, formatting, and more!
- Download the repository using the green button
Code>Download ZIP. - Extract the desired
module/plugin/layoutinto the corresponding AM folder. - Configure your AM display to use the provided example layout.
- Debug - Testing or debugging during development.
- Element - A new layout element with unique behaviors.
- Shader - Adds an effect to an existing layout element.
- Utility - Additional functions and classes.
| Preview | Version | Description | Type | Demo |
|---|---|---|---|---|
v0.1.0 |
Blur - Gaussian blur | Shader | Example | |
v1.2.0 |
Chart - Plot events over time | Element | Example | |
v0.9.1 |
Console - Coloured message list with animated typing | Element | Example | |
v0.9.0 |
Ease - Easing methods | Utility | Example | |
v0.1.1 |
Frame - 9-slice image scaling | Shader | Example | |
v0.9.0 |
FileSystem - File reading and writing | Utility | Example | |
v0.6.4 |
LogPlus - Extended logging functionality | Debug | Example | |
v0.3.1 |
Mask - 9-slice image masking | Shader | Example | |
v0.1.1 |
MessageQueue - Send messages using files | Utility | Example | |
v0.5.4 |
Perspective - Perspective correct texture mapping | Shader | Example | |
v1.1.0 |
PHYS - Powershell script to add PNG metadata | Script | Example | |
v0.1.1 |
Quicksort - Yielding Quicksort | Utility | Example | |
v0.2.1 |
Regex - Regular Expression handler | Utility | Example | |
v0.7.2 |
Retention - Surface image persistence | Shader | Example | |
T.B.A. |
Sequence - Stackable animation system | Utility | ||
v0.1.8 |
Stringify - JSON-like value stringification | Utility | Example | |
v0.3.0 |
Timer - Call a function at a later time | Utility | Example | |
v1.1.2 |
UnitTest - Testing and benchmarking | Debug | Test Bench |
NOTE: Shader-based effects such as Blur, Frame, and Mask will not work simultaneously upon a single element. This can be achieved by nesting elements within Surfaces and applying one effect to each element.
For experiments that haven't made it to the Module stage check out: