Edit

SAMMI Core

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.

Click on the image below and hover over an area of interest:

SAMMI Core
SAMMI Core
A single enabled deck A single disabled deck Enters Edit Deck screen. Adds or deletes the selected deck Changes the deck order Copies a deck to your clipboard, can be shared with others. Pastes deck data from your clipboard as a new deck. Duplicates an existing deck, creating a unique copy. Opens SAMMI Panel dropdown which acts as your virtual Stream Deck. Opens SAMMI Voice, which allows you to control SAMMI with voice commands. Opens SAMMI Bridge menu, to open Bridge or install/uninstall an extension. Opens menu with all official SAMMI integrations. Opens About page with information about developers and license. Connection indicators for all major SAMMI components. Opens official SAMMI Discord invite link. Opens official SAMMI Patreon. Adds a new deck. Current FPS indicator. FPS plays a role in executing some SAMMI commands. Opens SAMMI Settings menu.  Set up OBS connections to SAMMI here. Setup and link your Twitch accounts here. Setup and link your YouTube account here. See all button and global variable here. See and clear all currently running buttons here. Current SAMMI version.

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 Panel Menu #

SAMMI Panel
SAMMI Panel
  • Open Panel - Opens your SAMMI Panel.
  • Open Panel (Web) - Opens up your browser to access the browser version of SAMMI Panel.
  • Get LAN IP - saves your Local Area Network IP to your clipboard, ready for you to paste into a text editor to retrieve your IP address.

SAMMI Voice #

Opens the SAMMI Voice component.

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

Integrations Menu #

Integrations Menu
Integrations Menu

All official SAMMI extensions and integrations. Click on one to download and install it in your SAMMI.

About #

About
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.

Settings
Settings

General Settings #

  • Minimize to Tray: When enabled, SAMMI Core will be minimized to the system tray rather than closing when the “X” button is clicked.
  • Remember window size and position: When enabled, SAMMI will remember its window size and position between sessions (note that SAMMI cannot control monitor selection and will always open on the default monitor).
  • Auto restart SAMMI after crash: When enabled, SAMMI will automatically relaunch itself in the event of a crash.
  • Automatically check for new updates: When enabled, SAMMI will notify you of available updates upon launch, with an option to postpone reminders for a few days.
  • Automatically send non-crash error logs: When enabled, SAMMI will automatically report errors that would typically cause a crash. Instead, you will receive a yellow alert and can continue using SAMMI normally. This experimental feature is currently used in some SAMMI scripts.
  • Automatically close variable wrapping: When enabled, SAMMI will automatically insert $/ when you type /$ with no text to the right of the cursor.
  • Enable enhanced protection mode: When enabled, SAMMI will be restricted from modifying or deleting files outside the main SAMMI directory and critical files within its own directory.

SAMMI Bridge and Deck Settings #

  • Port (read-only): The current port used by SAMMI to connect to Bridge/SAMMI Deck. Modifying port numbers is strongly discouraged, but it can be done by editing the bridge_port key in the settings.ini file.
  • Password: The current password for connections from Bridge/SAMMI Deck. If you change the password here, update it in Bridge/SAMMI Deck as well.

SAMMI Panel Settings #

  • Port (read-only): The current port used by SAMMI to connect to SAMMI Panel. Modifying port numbers is strongly discouraged, but it can be done by editing the panel_port key in the settings.ini file.
  • Password: The current password for connections from SAMMI Panel. If you change the password here, update it in SAMMI Panel as well.

SAMMI Local API Settings #

  • Open Local API Server: Choose whether to open SAMMI’s Local API server.
  • Port (read-only): The current port used by SAMMI for Local API, Webhooks, and SAMMI Voice. Modifying port numbers is strongly discouraged, but it can be done by editing the api_server_port key in the settings.ini file.
  • Password: The current password for API calls, Webhooks, or SAMMI Voice connections to SAMMI. If you change the password here, update it in any custom creations using Local API and SAMMI Voice as well.

Language Settings #

  • Language: Dropdown menu to select SAMMI’s language.
  • Download Languages: Download updated language files (automatically done when updating SAMMI).

UI Settings #

  • FPS: SAMMI Core functions like a game and runs at a specific FPS, affecting features like OBS Motion Commands. Set this to match your stream FPS.
  • Interface Size: Adjust the scaling for non-standard resolutions.

Other Settings #

  • Reset SAMMI: Clears all active buttons and variables and reloads all decks.
  • Check for Updates: Checks for updates, allows you to update SAMMI, and view patch notes.

Resetting SAMMI and Developer Mode #

Clicking the “Reset SAMMI” button will reset all active buttons and their variables. Clicking it 10 times will enable developer mode in SAMMI.

Updates #

Clicking “Check for Updates” allows you to check for available updates for SAMMI components. Clicking “View Patch Notes” allows you to view the patch notes for the latest version.

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 view all global variables (marked red) and all button IDs with persistent variables enabled.

  • Use search function to search for a specific button ID or variable
  • Click on the arrow icon next to the button ID to view all current variables for the selected button ID
  • Click on ‘Sort by Type/Aphabetically’ to sort the variable list
  • Click on dollar sign icon to copy the variable value
  • Click on path icon to copy the variable path
  • Click on the trash bin icon to delete the variable
  • Click on the home button to return to the main variable screen

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.

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.
Ctrl+Y
Ctrl+Shift+Z
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, transparency 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.
  • 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.