Primitives
Primitives are the first-party widgets that ship with Streamerly. They are available to every streamer with no install, and you add them from Add Widget → Primitives in the Overlay Editor.
Primitives are the building blocks of an overlay. Some are simple leaf widgets that just draw something (Colour, Image, Text). Others are containers that wrap the widgets you nest inside them and add behaviour — an Alert that animates its children when an event fires, or a Show / Hide container that reveals its children only during a Hype Train.
Leaf widgets
These draw a single thing. Configure them in the properties panel on the right of the editor.
| Primitive | What it does |
|---|---|
| Colour | A solid colour or gradient fill — backgrounds and accents. See Colour widget. |
| Image | A static image or looping video from your asset library. See Image widget. |
| Text | Static or dynamic text with template variables and special functions. See Text widget. |
| Bubble Text | Animated floating text, often chat-triggered. See Bubble Text widget. |
| Text Ticker | A scrolling marquee of text. |
| Audio Player | Plays a sound from your asset library — useful inside event containers. |
| Simple Progress Bar | A plain fill bar driven by a value, horizontal or vertical. See Progress Bars. |
| Horizontal Progress Bar | A fill bar with image/video layers, a knob and a fill-tracking label. See Progress Bars. |
| Vertical Progress Bar | The same bar filling bottom to top, with the label beside it. See Progress Bars. |
| Circular Progress Bar | A ring, gauge or half circle — any start angle, sweep and direction. See Progress Bars. |
| Goal Bar | A live progress bar tied to one of your Goals. See Goal Bar. |
| Stream Credits | An end-of-stream roll call of followers, subs, gifters, cheerers and raiders. See Stream Credits. |
| Hype Train Credits | An after-the-train credits roll of a Hype Train's top contributors, with real bit and sub counts. See Hype Train Credits. |
Container widgets
Containers hold other widgets and add behaviour. Nest your own widgets inside them.
| Primitive | What it does |
|---|---|
| Group | A plain container — move, scale and style several widgets as one unit. See Group. |
| Alert | A pre-built alert (locked Text + Image) that animates in when a follow / sub / cheer / raid fires. See Alert. |
| Alert Group | Like Alert, but you compose the children yourself. See Alert Group. |
Effect containers
Wrap any group of widgets to apply one shared motion or visual effect to all of them at once.
| Primitive | Effect |
|---|---|
| Slide | Loops the whole group across the frame and wraps around — a marquee. |
| Animate | Plays an entrance (fade / slide / zoom / roll) on the group, optionally looping. |
| Transform | A static group skew / rotate / 3D-tilt / scale. |
| Mask | Clips the whole group through an image mask. |
Show / Hide containers
Reveal the widgets nested inside them only while a live condition holds. Each is documented under the Overlay Editor:
- Hype Train — only during a Twitch Hype Train.
- Ad Break — only during an ad break.
- Poll — only during a poll.
- Game Category — only for a chosen game/category.
- Alerts Paused — only while your alerts are paused.
Each container publishes live values its nested children can display via the variable picker — for example a Text widget inside a Hype Train container can show `{{subtreeContext.hypeTrain.level}}`. See any Show / Hide page for the full list.
Primitives and custom widgets live side by side in the Add Widget dialog. The tabs across the top (like Events) are filters, not folders — a widget can appear under more than one tab.
Primitives vs custom widgets
| Primitives | Custom widgets | |
|---|---|---|
| Built by | Streamerly | You, or another creator |
| Availability | Everyone, always | After you install from the Workshop |
| Added from | Add Widget → Primitives | Add Widget → Custom widgets |
| Editable code | No | Yes — in the Widget Creator |
Want something the primitives don't cover? Build your own.