SAMMI Core is the main SAMMI component. You can change all the settings, add and modify your decks, program new buttons, add and edit triggers and much more.


Deck Menu #

  • Edit Deck - allows you to edit currently selected deck, same as double clicking on the deck
  • Add New Deck - adds a new empty deck, you can also use CTRL+N keyboard shortcut
  • Delete Deck - delete the currently selected deck, cannot be undone
  • Move Left/Right - repositions the deck
  • Copy Deck - exports the entire deck to your clipboard in JSON format to share with other users, you can include all deck button images as well
  • Paste Deck - imports the entire deck from your clipboard, must be in JSON format
  • Duplicate Deck - creates a copy of the entire deck inside SAMMI

SAMMI Deck Menu #

SAMMI Deck Icon
SAMMI Deck Icon
  • Open SAMMI Deck - Press to open your SAMMI Deck, that allows you to press buttons in your decks.
  • Get LAN IP (for other devices) - puts your Local Area Network IP address into your clipboard, for you to use the Deck on another device.
  • Android Version - links to the Google Play Store to download the Android version of the Deck

Bridge Menu #

Bridge Menu
Bridge Menu
  • Select a Bridge - allows you to select your default Bridge file where all your extensions will be installed/uninstalled from
  • Reload a Bridge - refreshes your Bridge, same as you going into your Bridge file and pressing reload manually
  • Open in a browser - opens your default Bridge in a browser
  • Reveal in File Explorer - opens your Bridge file’s location in File Explorer
  • Copy Full Path - places the file path to the Bridge in your clipboard
  • Install an Extension - installs an extension from .sef or .lb2 file to your default Bridge file
  • Uninstall an Extension - uninstalls a selected extension from your default Bridge file
  • Install all Extensions from folder - installs all extensions in a selected folder to the Bridge at once, simply select the first file in the folder
  • Reinstall all Extensions - reinstalls all currently installed extensions in your default Bridge

Backup #

Backup options
Backup options
  • Save SAMMI Backup - saves a backup of your SAMMI configuration
  • Load SAMMI Backup - loads a previously created backup

About #


Press to open the About page, with info about the developers, and Patreon supporters.

Connection Status Indicators #

Connection Status Indicators
Connection Status Indicators
  • Main OBS - indicates whether SAMMI Core is connected to your main OBSWS
  • Twitch Pubsub - indicated whether SAMMI Core is connected to Twitch Pubsub for listening to events such as new followers, subscribers, channel point redeems etc.
  • Twitch Chat - indicates whether SAMMI Core is connected to Twitch Chat for listening to and sending new Twitch Chat messages
  • Bridge - indicates whether SAMMI Core is connected to Bridge, required for some extensions and for testing Twitch/YouTube triggers

Settings #

Allows you to adjust general SAMMI settings.

  • Deck and Bridge settings - modify connection settings for Bridge
  • Minimize to Tray - when checked, SAMMI Core will minimize to tray instead of closing when you press X
  • Remember window size and position - when checked, SAMMI will automatically remember its window position and size between restarts (please note SAMMI has no control over your monitors and will always open on your default monitor)
  • Auto restart SAMMI after crash - when checked, SAMMI will re-open itself after a crash
  • Automatically check for new updates - when checked, SAMMI will let you know if there are updates available when you open SAMMI, with the option to not remind you for a few days
  • Automatically send non crash error logs - when checked, SAMMI will automatically submit any errors that occur while it is running that would normally lead to SAMMI crashing. Instead you get a yellow alert and can continue using SAMMI as normal. This is an experimental feature being currently used in some of SAMMI scripts.
  • Automatically close variable wrapping - when checked, SAMMI will automatically write the $/ when you type /$ with nothing to the right of the cursor
  • Enable enhanced protection mode - when checked, SAMMI will not be allowed to modify or delete files outside of the main SAMMI directory, nor any critical files inside its own directory.
  • Open Local API Server - whether you wish to open SAMMI’s Local API server
  • FPS - SAMMI Core is technically a game and runs at specific FPS, which, for example, affects Motion Commands for OBS. Should be the same as your stream FPS.
  • Language - dropdown to change the language of SAMMI
  • Interface Size - change scaling if you’re using a non standard resolution
  • Reset SAMMI - clears all running buttons and variables and reloads all decks
  • Check for Updates - checks for new updates, allows you to update SAMMI and view patch notes

OBS Connections #

Allows you to set up your OBS connection. Multiple connections and multiple OBSWS protocols are supported.
Learn more about setting up an OBS connection in our Integrations-OBS section.

OBS Connections
OBS Connections

Twitch Connections #

Allows you to connect SAMMI Core to your Twitch account (or multiple accounts) to listen for new events, send chat messages, and use other Twitch commands.
Find out more about Twitch connection in our Integrations-Twitch section.

Twitch Connections
Twitch Connections

YouTube Connection #

Allows you to connect SAMMI Core to your YouTube account to listen for new events, send chat messages, and use other YouTube commands.
Find out more about Twitch connection in our Integrations-Youtube section.

YouTube Connection
YouTube Connection

Variable Viewer #

The variable viewer can be accessed from the Main Menu, Deck Editor, or the Commands Editor. You can also press Ctrl+Tab key as a shortcut.

In this menu you can see all global variables (marked red) and all button IDs with persistent variables enabled.

Variable window showing button ID variables
Variable window showing button ID variables

If you click on the eye icon, you can see all current variables for the selected button ID.

The variable viewer can be sorted alphabetically, or by type.

Use search function to search for a specific button ID.

Learn more about variables in our Commands-Variables section.

Active Buttons #

All currently running buttons will be displayed in this window.
You can choose to interrupt (clear) all, ongoing or queued buttons.

Interrupting an active button
Interrupting an active button

Deck #

If you press Add new Deck button, a new empty deck will be added to SAMMI Core. Double click on the deck to open it.
Every deck is active at all times (unless disabled) in SAMMI Core. It does not matter if your SAMMI Deck is currently connected to a different deck.\

Deck with a button
Deck with a button

Inside your deck you will see an empty canvas grid, where you can add and modify your buttons.

  • Name - change the name of your deck
  • Grid Snapping - if unchecked, you can freely resize and position your buttons not dependent on the grid
  • X & Y - the size of your grid
  • Adaptive Resizing - whether you want to also resize your buttons when you change the grid size
  • Background Image - choose either a color or background image for your deck
  • Undo & Redo - allows you to undo/redo any deck action

Disable a deck #

You can disable a deck by either checking the Disable checkbox in SAMMI or by using Deck: Change Status command. This allows you to have only specific decks active during your stream.
Buttons in disabled decks do not trigger and their variables are not accsesible.

Button #

You can create a new button inside a deck by either right clicking on your empty canvas and selecting Create Button or by just simply double clicking on any empty space. You can change its appearance, move it around, resize it etc.

There are several keyboard shortcuts you can use:

Shortcut Function
Ctrl+C Copies a selected button.
Ctrl+V Pastes a copied button in the selected empty slot.
Delete Deletes a selected button.
Ctrl+Z Undoes the last action.
Redoes a previous undone action.
Ctrl+S Saves the deck and closes the Deck view.

Edit Appearance #

You can right click on a button or press SHIFT + double click to edit its appearance. Edit your button text, color, image and border size.
All button images will be automatically resized and copied to SAMMI/image folder.\

Button Appearance
Button Appearance

Edit Settings #

You can right on a button or press CTRL + double click to edit settings.

Button Settings
Button Settings
  • Button ID - your unique Button ID, used in various commands (such as Trigger button) and to store all your button variables. It’s encouraged to give all your buttons unique IDs.
  • Group ID - you can group up your buttons by assigning them the same group ID. This will automatically create a queue for your buttons and prevent them from triggering at the same time.
  • Allow Queue - if there is another trigger event while the button is still active (for example if you get two subscribers at the same time), it will place it in the queue and reactivate the button as soon as it’s ready again. Does not apply if Button Overlap option is on.
  • Allow Button Overlap - allow multiple instances of the same button to happen at the same time
  • Local Variable Persist
    • checked - button variables will be accessible even after the button has finished. If Allow Button Overlap is enabled, all button executions will share the same variables.
    • unchecked - button variables will be accessible only when the button is running and only inside their own button. Other buttons cannot access them even if the button is currently running. If Allow Button Overlap is enabled, unique variables will be created for each button execution and will never be shared.
  • Switch Deck - whether you want the button to also switch your deck when activated
  • Press type
    • Normal Press - single button press
    • Drag Press - the button will trigger if dragged over. You can add either a single or multiple drag press (activates if it’s dragged over again). Useful for creating your own volume buttons!

Edit Triggers #

You can right click on a button or press CTRL + double click to add a trigger. Add various triggers to your button to get automatically executed when a specific event happens. For example, you can trigger your button every time you get a new follower or someone types !hello in your chat.

Learn more about specific triggers in our Triggers section.

Edit Commands #

When you right click-Edit commands or double click on your button and press +, you can start adding commands to execute when the button is pressed.

Button commands have their own specific rules that you need to follow, read more about them in our Commands-Introduction section.

Once you’re done with adding commands, you can now run the button directly from the commands window - no more having to save back to the main screen and testing via a chat command or pressing the button on the deck!

See the list of all available commands in the Commands section.

Edit Release Commands #

Program your button to perform specific actions when released. The release action only happens if the button is pressed from your SAMMI Deck or hotkey. You can add as many commands as you want.

Edit Init Variables #

Initial variables the button will have when initiated. It prevents persistent buttons from crashing. Must be in JSON format.

Copy Button #

Copy a button and insert it elsewhere in your decks. All buttons have unique IDs. A new copied button will have a different ID from the original one. Can also be done by selecting the button and pressing Ctrl+C, with Ctrl+V to paste it in a selected empty spot.

Delete Button #

Delete a whole button. Can also be done by selecting a button and pressing the Delete key.

Export Button JSON #

Exports a button by copying its contents to your clipboard.

Group ID #

Displays Group ID (if any exists), click on it to copy it to your clipboard

Button ID #

Displays button ID, click on it to copy it to your clipboard

Import Button JSON #

You can import a button by right clicking anywhere on an empty space in your deck and selecting Import from JSON.