> What are SPX Plugins? While the [[Documentation/Graphics Controller/Rundown Settings|rundown]] is the standard view for controlling graphic [[Documentation/Graphic Templates/Overview|templates]], many graphics workflows benefit from a custom UI to control graphics. For this, SPX supports **Plugins** which displays a custom UI which can greatly extend the capabilities of SPX. --- ## SPX Plugins Plugins extend SPX functionality with: - **Custom Controls** - Additional buttons and controls in the UI - **Extensions** - Additional user interfaces or panels - **Custom Functions** - JavaScript functions for specific tasks ## Plugin Examples ### Scoreboard [Scoreboard](https://spxgraphics.com/store/Scoreboard-plugin-p313595701) is a sports clock extension with an independent user interface. ### SocialPlayout An upcoming extension for moderating and LIVE playout of social messages from various social media platforms, such as Twitter, Instagram, Facebook, Youtube, etc. ## Plugin Structure Each plugin has a subfolder with at least an `init.js` file and optionally other folders and files, such as HTML, CSS, and JavaScript. ``` ASSETS/plugins/ └── myPlugin/ ├── init.js ├── html/ │ └── panel.html ├── css/ │ └── styles.css └── js/ └── functions.js ``` ## Plugin Library The `plugins/lib` folder contains common SPX user interface elements used by plugins. More functionality and UI controls will be added here in future releases. These can be checkboxes, dropdown selectors, etc. > [!TIP] Explore plugins and extensions in the [SPX Store](https://spxgraphics.com/store). ## Global Extras vs Plugins **Global Extras** (deprecated): - Defined in [[Documentation/Server/Configurations|config.json]] - Shown in all projects - Will be replaced by plugins in future versions **Plugins** (recommended): - Easier to install and maintain - More flexible structure - Better organization - Future-proof ## Installing Plugins 1. Place plugin folder in `ASSETS/plugins/` 2. Restart SPX server 3. Plugin will be loaded automatically --- ## Read Next - [[Guides/Tutorials/Create your first SPX plugin|Creating Plugins]] - How to develop your own plugins - [[Documentation/Graphics Controller/Project Settings|Project Settings]] - Using custom controls in projects - [[Documentation/Control Interfaces/REST/Overview of SPX API|SPX API]] - API for plugin development - [[Documentation/Graphics Controller/Overview|Graphics Controller Overview]] - Main controller interface