Skip to content

What We'll Build

The best way to learn plugin development is to build one. So that's what we'll do: start from the official template and grow it one small feature at a time. Every step adds a single new idea, explained right where you use it.

Here's the journey:

  1. The Idea: decide what your plugin does.
  2. Set Up Your Environment: get StreamController running from source.
  3. Get the Template Running: see a working action on a (fake) deck.
  4. Draw an Icon: make your action show something.
  5. Register Your Action: how the app finds your action.
  6. React to Input: do something when the button is pressed (and turned!).
  7. Add a Setting: let the user configure your action.
  8. Count & Display State: remember and show a value.
  9. Icons & Colors: offer visuals the user can customize.
  10. Localization: translate your plugin.
  11. Add a Backend: use heavy Python libraries safely.
  12. Prepare to Publish: fill in your plugin's metadata.

By the end you'll have touched every part of the plugin system, and you'll understand each piece because you added it yourself.

New here?

If you skipped it, the short Key Concepts page gives you the mental model this guide builds on. It takes two minutes and makes everything below click.

Let's start with the idea.